Exercise 2-1
Lets look at the functionality of the two spots first. The
spot with script 1 affects the spot containing script 2. The spot
containing script 2 doesn't affect the spot with script 1. So
lets look at script 1 first.
This is a deceivingly difficult script to read given how short
it is. Lets look at the pieces that use spot commands:
"2 GETSPOSTATE" - get the spot state of spot number
2
"2 GETSPOSTATE 1 + 2 SETSPOTSTATELOCAL" - set spot two
to the spot state 1 higher than it already is. This is pretty
complicated, but the "2 SETSPOTSTATELOCAL" part indicates
something is happening with spot number 2.
"0 2 SETSPOTSTATELOCAL" - set spot 2 to spot state 0
So script 1, which controls the spot which contains script 2, refers to spot number 2. Therefore, script 2 must be placed in spot number two.
Now lets look at script 2. This is the script that causes the user to go to the Palace associated with the picture that is being displayed. The only spot command in script 2 is "ME GETSPOTSTATE" which means get my spot state. Thus, it will work in any spot.
Neither script 1 or script 2 care which spot script 1 is in so it may be placed in any spot.
So the answer is:
o script 2 must be placed in spot number 2
o script 1 may be placed in any spot except spot number 2
Exercise 3-1
The error is the character at the end of IFELSE
Exercise 4-1
The script is missing the opening bracket ({) before MIDISTOP.
The correct line reads
{ MIDISTOP