breakOut: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
||
Line 39: | Line 39: | ||
|x1= <code>scopeName "main"; | |x1= <code>scopeName "main"; | ||
while { | while {true} [[do]] { | ||
[[scopeName]] "loop1"; | [[scopeName]] "loop1"; | ||
[[while]] {[[true]]} [[do]] { | [[while]] {[[true]]} [[do]] { | ||
Line 52: | Line 52: | ||
|x2= <code>call { | |x2= <code>call { | ||
scopeName "main"; | scopeName "main"; | ||
call { | |||
123 [[breakOut]] "main" | 123 [[breakOut]] "main" | ||
}; | }; | ||
Line 60: | Line 60: | ||
|x3= <code>call { | |x3= <code>call { | ||
scopeName "Main"; // Parent Main | scopeName "Main"; // Parent Main | ||
call { | |||
[[scopeName]] "Main"; // Child Main | [[scopeName]] "Main"; // Child Main | ||
"String" [[breakOut]] "Main"; // Will break out of child main and return "String" to parent main | "String" [[breakOut]] "Main"; // Will break out of child main and return "String" to parent main |
Revision as of 13:02, 12 May 2022
Description
- Description:
- Breaks out of the scope with given name.
- An unknown scopeName name will cause the script error
Generic error in expression
- If multiple scopes with the same name exist, the command will break out the nearest scope. See Example 3.
- An unknown scopeName name will cause the script error
- Groups:
- Program Flow
Syntax
- Syntax:
- breakOut name
- Parameters:
- name: String - Name of the scope which was previously set with scopeName.
""
will exit the current scope. - Return Value:
- Nothing
Alternative Syntax
- Syntax:
- value breakOut name
- Parameters:
- value: Anything - A value to return
- name: String - Name of the scope which was previously set with scopeName.
""
will exit the current scope. - Return Value:
- Anything - Will return value
Examples
- Example 1:
scopeName "main"; while {true} do { scopeName "loop1"; while {true} do { scopeName "loop2"; if (condition1) then {breakTo "main"}; // Breaks all scopes and return to "main" if (condition2) then {breakOut "loop2"}; // Breaks scope named "loop2" sleep 1; }; sleep 1; };
- Example 2:
call { scopeName "main"; call { 123 breakOut "main" }; 345 }; // call returns 123
- Example 3:
call { scopeName "Main"; // Parent Main call { scopeName "Main"; // Child Main "String" breakOut "Main"; // Will break out of child main and return "String" to parent main }; };
Additional Information
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
Categories:
- Scripting Commands
- Introduced with Armed Assault version 1.00
- ArmA: Armed Assault: New Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Program Flow