goto: Difference between revisions
m (small punctuation change) |
mNo edit summary |
||
Line 43: | Line 43: | ||
Loops which look something like | Loops which look something like | ||
''#wait''<br> | |||
''[[if]] (condition) [[then]] {'''goto''' "wait"}'' | |||
should be avoided as many of them could cause the mission to slow down | should be avoided as many of them could cause the mission to slow down. | ||
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 as the loop will be executed many times before the game engine interrupts the script. | 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 as the loop will be executed many times before the game engine interrupts the script. | |||
You would need to have many scripts running for this to be a significant issue. | |||
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. | 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 11:27, 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 cause 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 as the loop will be executed many times before the game engine interrupts the script.
You would need to have many scripts running for this to be a significant issue.
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.