goto: Difference between revisions
Jump to navigation
Jump to search
(Somewhat improved formatting and clarified.) |
No edit summary |
||
Line 1: | Line 1: | ||
{{Command|= Comments | |||
____________________________________________________________________________________________ | |||
| ofp |= Game name | |||
|1.00|= Game version | |||
____________________________________________________________________________________________ | |||
| 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 #. |= Description | |||
____________________________________________________________________________________________ | |||
''' | | '''goto''' |= Syntax | ||
|p1= label: [[String]] |= Parameter 1 | |||
| [[Nothing]] |= Return value | |||
____________________________________________________________________________________________ | |||
| |= See also | |||
}} | |||
<h3 style="display:none">Notes</h3> | |||
<dl class="command_description"> | |||
<!-- Note Section BEGIN --> | |||
<!-- Note Section END --> | |||
</dl> | |||
<h3 style="display:none">Bottom Section</h3> | |||
Old Notes (temporary): | |||
* This function works only inside of [[Script syntax|SQS script]]. | * This function works only inside of [[Script syntax|SQS script]]. | ||
*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. | ||
* Because of the searching order, it is faster to place loops which are executed often at the top of a script. | * Because of the searching order, it is faster to place loops which are executed often at the top of a script. | ||
* Labels are not case sensitive. | * Labels are not case sensitive. | ||
* Loops which look something like the example below should be avoided as many of them could cause the mission to slow down: | * Loops which look something like the example below should be avoided as many of them could cause the mission to slow down: | ||
''#wait'' | ''#wait'' | ||
Line 60: | Line 50: | ||
*While it is not required to include a delay in a loop, such a loop without a delay can cause the script to slow the game down, as the loop will be executed many times before the game engine interrupts the script. | *While it is not required to include a delay in a loop, such a loop without a delay can cause the script to slow the game down, as the loop will be executed many times before the game engine interrupts the script. | ||
Unless you really want the loop to execute multiple times during a frame, you should include a small delay. | *Unless you really want the loop to execute multiple times during a frame, you should include a small delay. | ||
You would need to have many scripts running for this to be a significant issue. | *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 even a [[Script syntax|@]] 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 even a [[Script syntax|@]] statement to detect a condition is a complicated matter and should be subject to experimentation. | ||
[[Category:Scripting Commands|GOTO]] | |||
[[Category:Scripting Commands OFP 1.96|GOTO]] | |||
[[Category:Scripting Commands OFP 1.46|GOTO]] | |||
[[Category:Scripting Commands ArmA|GOTO]] | |||
[[Category:Armed Assault: Control Flows|GOTO]] |
Revision as of 00:26, 2 August 2006
Description
- 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 #.
- Groups:
- Uncategorised
Syntax
Examples
- Examples:
- Example needed
Additional Information
- See also:
- See also needed
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Notes
Bottom Section
Old Notes (temporary):
- This function works only inside of SQS script.
- 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.
- Because of the searching order, it is faster to place loops which are executed often at the top of a script.
- Labels are not case sensitive.
- Loops which look something like the example below should be avoided as many of them could cause the mission to slow down:
#wait if (condition) then {goto "wait"}
It is better to use the @ command to wait for a condition to be true, or put a small delay into the wait loop.
Example
- While it is not required to include a delay in a loop, such a loop without a delay can cause the script to slow the game down, as the loop will be executed many times before the game engine interrupts the script.
- Unless you really want the loop to execute multiple times during a frame, you should include a small delay.
- 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 even a @ statement to detect a condition is a complicated matter and should be subject to experimentation.