Difference between revisions of "while"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[Category:Scripting Commands OFP 1.[4-9]{2}(\|(\{\{uc:\{\{PAGENAME\}\}\}\}|#|[A-Z]+))?\]\] " to "")
m (Text replacement - "Posted on May ([0-9]{1,2}), (20[0-9]{2})" to "Posted on $2-05-$1")
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{RV|type=command
 
{{RV|type=command
  
| ofpr
+
|game1= ofp
 +
|version1= 1.85
 +
 
 +
|game2= ofpe
 +
|version2= 1.00
 +
 
 +
|game3= arma1
 +
|version3= 1.00
 +
 
 +
|game4= arma2
 +
|version4= 1.00
 +
 
 +
|game5= arma2oa
 +
|version5= 1.50
 +
 
 +
|game6= tkoh
 +
|version6= 1.00
 +
 
 +
|game7= arma3
 +
|version7= 0.50
  
 
|gr1= Program Flow
 
|gr1= Program Flow
  
|1.85
+
|descr= Repeats [[Code]] while condition is [[true]]. A part of [[while]] [[do]] construct.
  
| Repeats [[Code]] while condition is [[true]]. A part of [[while]] [[do]] construct.
+
|s1= [[while]] condition
  
| '''while''' condition
+
|p1= condition: [[Code]]
  
|p1= condition: [[Code]]
+
|r1= [[While Type]]
  
| [[While Type]]
 
 
 
 
|x1= <code>[[while]] {a < b} [[do]] {a = a + 1};</code>
 
|x1= <code>[[while]] {a < b} [[do]] {a = a + 1};</code>
 +
 
|x2= A practical example: Repair all members of a group to such a level that they are able to stand up: <code>{
 
|x2= A practical example: Repair all members of a group to such a level that they are able to stand up: <code>{
 
     [[while]] {![[canStand]] [[Magic Variables|_x]] && [[alive]] [[Magic Variables|_x]]} [[do]] {
 
     [[while]] {![[canStand]] [[Magic Variables|_x]] && [[alive]] [[Magic Variables|_x]]} [[do]] {
Line 26: Line 44:
  
 
<dl class="command_description">
 
<dl class="command_description">
<!-- Note Section BEGIN -->
 
  
<dd class="notedate">Posted on May 14, 2008</dd>
+
<dt></dt>
 +
<dd class="notedate">Posted on 2008-05-14</dd>
 
<dt class="note">[[User:Kronzky|Kronzky]]</dt>
 
<dt class="note">[[User:Kronzky|Kronzky]]</dt>
<dd class="note">The boolean code that's used to evaluate the while condition can be preceded by code that executes a regular command.<br>
+
<dd class="note">The boolean code that is used to evaluate the while condition can be preceded by code that executes a regular command.
 
<code>[[while]] {_a =_a + 1; _a < 10} [[do]] {...}</code>
 
<code>[[while]] {_a =_a + 1; _a < 10} [[do]] {...}</code>
<!-- Note Section END -->
+
<dt></dt>
</dl>
 
 
 
 
 
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
 
{{GameCategory|arma1|Scripting Commands}}
 
{{GameCategory|arma2|Scripting Commands}}
 
{{GameCategory|tkoh|Scripting Commands}}
 
{{GameCategory|arma3|Scripting Commands}}
 
 
 
 
 
<!-- CONTINUE Notes -->
 
<dl class="command_description">
 
 
<dd class="notedate">Posted on August 30, 2014 - 08:12 (UTC)</dd>
 
<dd class="notedate">Posted on August 30, 2014 - 08:12 (UTC)</dd>
 
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
 
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
Line 50: Line 56:
 
In [[Scheduler#Unscheduled_Environment|non-scheduled environment]], [[while]] [[do]] loop is limited to 10,000 iterations, after which it exits even if condition is still [[true]]. In [[Scheduler#Unscheduled_Environment|scheduled environment]] no such limit exists.
 
In [[Scheduler#Unscheduled_Environment|non-scheduled environment]], [[while]] [[do]] loop is limited to 10,000 iterations, after which it exits even if condition is still [[true]]. In [[Scheduler#Unscheduled_Environment|scheduled environment]] no such limit exists.
 
</dd>
 
</dd>
 +
 
</dl>
 
</dl>
<!-- DISCONTINUE Notes -->
 

Latest revision as of 22:10, 27 August 2021

Hover & click on the images for description

Description

Description:
Repeats Code while condition is true. A part of while do construct.
Groups:
Program Flow

Syntax

Syntax:
while condition
Parameters:
condition: Code
Return Value:
While Type

Examples

Example 1:
while {a < b} do {a = a + 1};
Example 2:
A practical example: Repair all members of a group to such a level that they are able to stand up: { while {!canStand _x && alive _x} do { _x setDamage (damage _x - 0.01); }; } forEach units group unitname;

Additional Information

See also:
Control StructureswaitUntilfordo

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 2008-05-14
Kronzky
The boolean code that is used to evaluate the while condition can be preceded by code that executes a regular command. while {_a =_a + 1; _a < 10} do {...}
Posted on August 30, 2014 - 08:12 (UTC)
Killzone Kid
In non-scheduled environment, while do loop is limited to 10,000 iterations, after which it exits even if condition is still true. In scheduled environment no such limit exists.