BIS fnc loop: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "{{Function " to "{{RV|type=function ")
m (Text replacement - "\{\{ *codecomment *\| *\/\/ *([^ ]+) *\}\} " to "{{cc|$1}}")
Line 30: Line 30:
| [[Nothing]]
| [[Nothing]]
   
   
|x1= <code>{{codecomment|// hints time every five seconds}}
|x1= <code>{{cc| hints time every five seconds}}["itemAdd", ["uniqueId", { hint str time; }, 5]] [[call]] [[BIS_fnc_loop]];</code>
["itemAdd", ["uniqueId", { hint str time; }, 5]] [[call]] [[BIS_fnc_loop]];</code>


|x2= <code>{{codecomment|// removes stacked loop with id of uniqueId}}
|x2= <code>{{cc| removes stacked loop with id of uniqueId}}["itemRemove", ["uniqueId"]] [[call]] [[BIS_fnc_loop]];</code>
["itemRemove", ["uniqueId"]] [[call]] [[BIS_fnc_loop]];</code>


|x3= <code>{{codecomment|// hints time every frame after BIS_variable is assigned}}
|x3= <code>{{cc| hints time every frame after BIS_variable is assigned}}["itemAdd", ["uniqueId", { [[hint]] [[str]] [[time]]; }, [[nil]], [[nil]], { ![[isNil]] { BIS_variable } }]] [[call]] [[BIS_fnc_loop]];</code>
["itemAdd", ["uniqueId", { [[hint]] [[str]] [[time]]; }, [[nil]], [[nil]], { ![[isNil]] { BIS_variable } }]] [[call]] [[BIS_fnc_loop]];</code>


|x4= <code>{{codecomment|// hints time every five seconds after BIS_variable is assigned}}
|x4= <code>{{cc| hints time every five seconds after BIS_variable is assigned}}["itemAdd", ["uniqueId", { [[hint]] [[str]] [[time]]; }, 5, "seconds", { ![[isNil]] { BIS_variable } }]] [[call]] [[BIS_fnc_loop]];</code>
["itemAdd", ["uniqueId", { [[hint]] [[str]] [[time]]; }, 5, "seconds", { ![[isNil]] { BIS_variable } }]] [[call]] [[BIS_fnc_loop]];</code>


|x5= <code>{{codecomment|// hints time every frame}}
|x5= <code>{{cc| hints time every frame}}["itemAdd", ["uniqueId", { [[hint]] [[str]] [[time]]; }]] [[call]] [[BIS_fnc_loop]];</code>
["itemAdd", ["uniqueId", { [[hint]] [[str]] [[time]]; }]] [[call]] [[BIS_fnc_loop]];</code>


|x6= <code>{{codecomment|// remove item from loop with id "uniqueId"}}
|x6= <code>{{cc| remove item from loop with id "uniqueId"}}["itemRemove", ["uniqueId"]] [[call]] [[BIS_fnc_loop]];</code>
["itemRemove", ["uniqueId"]] [[call]] [[BIS_fnc_loop]];</code>


| [[for]], [[forEach]], [[while]]
| [[for]], [[forEach]], [[while]]

Revision as of 17:33, 29 January 2021

Hover & click on the images for description

Description

Description:
Description needed
Execution:
call
Groups:
Program Flow

Syntax

Syntax:
Syntax needed
Parameters:
action: String - can be one of:
  • "initialize" - Initializes game loop (not required as internal AUTO_INITIALIZE variable is set to true)
  • "terminate" - Terminates game loop (required as internal AUTO_TERMINATE variable is not set to true)
  • "itemAdd" - Adds an item to loop
  • "itemRemove" - Remove item from loop with id "uniqueId"
  • "onEachFrame" - internally used by "initialize"
  • "itemExecute" - internally used by "onEachFrame"
parameters: Array - used with "itemAdd" and "itemRemove" action ("itemRemove" only takes id):
  • id: String - loop unique id
  • code: Code or String - code to be executed
  • timer: Number - (Optional, default 0) delay between executions
  • timerType: String - (Optional, default "seconds") can be "seconds" or "frames"
  • conditionStart: Code - (Optional, default { true }) will wait until the condition is met to start the code
  • conditionEnd: Code - (Optional, default { false }) stops the loop as soon as the ending condition is met (after the end of code)
  • executeOnce: Boolean - (Optional, default false)
Return Value:
Return value needed

Examples

Example 1:
// hints time every five seconds["itemAdd", ["uniqueId", { hint str time; }, 5]] call BIS_fnc_loop;
Example 2:
// removes stacked loop with id of uniqueId["itemRemove", ["uniqueId"]] call BIS_fnc_loop;
Example 3:
// hints time every frame after BIS_variable is assigned["itemAdd", ["uniqueId", { hint str time; }, nil, nil, { !isNil { BIS_variable } }]] call BIS_fnc_loop;
Example 4:
// hints time every five seconds after BIS_variable is assigned["itemAdd", ["uniqueId", { hint str time; }, 5, "seconds", { !isNil { BIS_variable } }]] call BIS_fnc_loop;
Example 5:
// hints time every frame["itemAdd", ["uniqueId", { hint str time; }]] call BIS_fnc_loop;
Example 6:
// remove item from loop with id "uniqueId"["itemRemove", ["uniqueId"]] call BIS_fnc_loop;

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