goto: Difference between revisions
(A further attempt to avoid a proliferation of misinformation - seriously I have checked this all out.) |
(Does this do it?) |
||
Line 39: | Line 39: | ||
The search for labels always begins at the top of the script so that if there are multiple occurrences of a label the first occurrence will always be the one found. | The search for labels always begins at the top of the script so that if there are multiple occurrences of a label the first occurrence will always be the one found. | ||
Labels are not case sensitive | Labels are not case sensitive. | ||
Loops which look something like: | |||
''#wait''<br> | |||
''[[if]] (condition) [[then]] {[[goto]] "wait"}'' | |||
Should be avoided as many of them could casue the mission to slow down. Better is to use the [[@]] command to wait for a condition to be true, or put a small delay into the wait loop. | |||
Whilst it is not required to include a delay in a zero instruction loop, such a loop without a delay can cause the script to slow down the game a lot, as the loop will be executed many times before the game engine interrupts the script. | |||
Deciding whether to use a script with a loop or a trigger or an @ statement to detect a condition is a complicated matter and should be subject to experimentation. | |||
Revision as of 07:49, 24 May 2006
goto label
Operand types:
label: String
Type of returned value:
Description:
In script only: Go to given label.
Note: String argument is used here.
Be sure to use double quotes around label name in goto.
Define the label with #.
Example:
goto "Skip"
. these lines
. will be
. skipped
#Skip
Comments:
The search for labels always begins at the top of the script so that if there are multiple occurrences of a label the first occurrence will always be the one found.
Labels are not case sensitive.
Loops which look something like:
#wait
if (condition) then {goto "wait"}
Should be avoided as many of them could casue the mission to slow down. Better is to use the @ command to wait for a condition to be true, or put a small delay into the wait loop.
Whilst it is not required to include a delay in a zero instruction loop, such a loop without a delay can cause the script to slow down the game a lot, as the loop will be executed many times before the game engine interrupts the script.
Deciding whether to use a script with a loop or a trigger or an @ statement to detect a condition is a complicated matter and should be subject to experimentation.