breakTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\| *(arg|eff|mp|serverExec|gr[0-9]) *= *(.*) * *\|([^=]{12})" to "|$1=$2 |descr=$3")
m (Some wiki formatting)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma1
|game1= arma1
|version1= 1.00
 
|game2= arma2
|version2= 1.00
 
|game3= arma2oa
|version3= 1.50
 
|game4= tkoh
|version4= 1.00
 
|game5= arma3
|version5= 0.50


|gr1= Program Flow
|gr1= Program Flow


|descr=1.00
|descr= Breaks block to scope named ''name''. Nil is returned.
 
| Breaks block to scope named '''name'''. Nil is returned.


Scope name can be assigned using [[scopeName]] command.
Scope name can be assigned using [[scopeName]] command.


|s1= '''breakTo''' name
|s1= [[breakTo]] name


|p1= name: [[String]]
|p1= name: [[String]]
Line 18: Line 29:


|x1= <code>[[scopeName]] "main";
|x1= <code>[[scopeName]] "main";
while {[[true]]} do {
[[while]] { [[true]] } [[do]]
{
[[scopeName]] "loop1";
[[scopeName]] "loop1";
while {[[true]]} do {
[[while]] { [[true]] } [[do]]
{
[[scopeName]] "loop2";
[[scopeName]] "loop2";
if (condition1) then {[[breakTo]] "main"}; // Breaks all scopes and return to "main"
[[if]] (condition1) [[then]] { [[breakTo]] "main" }; {{cc|breaks all scopes and return to "main"}}
if (condition2) then {[[breakOut]] "loop2"}; // Breaks scope named "loop2"
[[if]] (condition2) [[then]] { [[breakOut]] "loop2" }; {{cc|breaks scope named "loop2"}}
[[sleep]] 1;
[[sleep]] 1;
};
};
Line 32: Line 45:
|seealso= [[scopeName]], [[breakOut]], [[exitWith]]
|seealso= [[scopeName]], [[breakOut]], [[exitWith]]
}}
}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}


<dl class="command_description">
<dl class="command_description">
Line 45: Line 53:
<dd class="note">
<dd class="note">
This command can not be used to re-execute scopes in which command is inside of. Example:
This command can not be used to re-execute scopes in which command is inside of. Example:
<code>scopeName "whatever";
<code>[[scopeName]] "whatever";
if true then {
[[if]] [[true]] [[then]]
  breakTo "whatever"
{
[[breakTo]] "whatever";
};
};
</code>
</code>

Revision as of 00:20, 14 June 2021

Hover & click on the images for description

Description

Description:
Breaks block to scope named name. Nil is returned. Scope name can be assigned using scopeName command.
Groups:
Program Flow

Syntax

Syntax:
breakTo name
Parameters:
name: String
Return Value:
Nothing

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; };

Additional Information

See also:
scopeNamebreakOutexitWith

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
Posted on May 18, 2017 - 18:19 (UTC)
IT07
This command can not be used to re-execute scopes in which command is inside of. Example: scopeName "whatever"; if true then { breakTo "whatever"; }; The example above will not make the engine jump back to line 1 and re-execute the 2nd line. Instead, it will just jump across line 2 to line 5 if it [ line 5 ] exists.