while: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\[\[Category:[ _]?Scripting[ _]Commands[ _]Arma[ _]3(\|.*)\]\]" to "{{GameCategory|arma3|Scripting Commands}}") |
Lou Montana (talk | contribs) m (Text replacement - "\|s([0-9])\= '''([^' ]+)'''([^ ]+) " to "|s$1= $2$3 ") |
||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=command | ||
| | |game1= ofp | ||
|version1= 1.85 | |||
| | |game2= ofpe | ||
|version2= 1.00 | |||
|game3= arma1 | |||
|version3= 1.00 | |||
|game4= arma2 | |||
|version4= 1.00 | |||
|1. | |game5= arma2oa | ||
|version5= 1.50 | |||
| | |game6= tkoh | ||
|version6= 1.00 | |||
| | |game7= arma3 | ||
|version7= 0.50 | |||
|gr1= Program Flow | |||
|descr= Repeats [[Code]] while condition is [[true]]. A part of [[while]] [[do]] construct. | |||
|s1= [[while]] condition | |||
|p1= condition: [[Code]] | |p1= condition: [[Code]] | ||
| [[While Type]] | |r1= [[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]] { | ||
[[Magic Variables|_x]] [[setDamage]] ([[damage]] [[Magic Variables|_x]] - 0.01); | [[Magic Variables|_x]] [[setDamage]] ([[damage]] [[Magic Variables|_x]] - 0.01); | ||
}; | }; | ||
} [[forEach]] [[units]] [[group]] unitname;</code> | } [[forEach]] [[units]] [[group]] unitname;</code> | ||
| [[Control Structures]], [[waitUntil]], [[for]], [[do]] | |seealso= [[Control Structures]], [[waitUntil]], [[for]], [[do]] | ||
}} | }} | ||
<dl class="command_description"> | <dl class="command_description"> | ||
<dd class="notedate">Posted on May 14, 2008 | <dt></dt> | ||
<dt class="note">[[User:Kronzky|Kronzky]] | <dd class="notedate">Posted on May 14, 2008</dd> | ||
<dd class="note">The boolean code that | <dt class="note">[[User:Kronzky|Kronzky]]</dt> | ||
<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> | ||
< | <dt></dt> | ||
</ | |||
<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 63: | 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> | ||
Revision as of 18:09, 20 June 2021
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 May 14, 2008
- 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.
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.85
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: 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