BIS fnc runLater: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(formatting)
m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *U([a-z ])" to "$1 - u$2")
 
(14 intermediate revisions by the same user not shown)
Line 2: Line 2:


|game1= arma3
|game1= arma3
|version1=1.16
|version1=1.16


|gr1 = Program Flow
|gr1= Program Flow


|descr= Stack code/function that should be run later, after some time/frames or/and custom condition. Internally calls [[BIS_fnc_loop]].
|descr= Stack code/function that should be run later, after some time/frames or/and custom condition. Internally calls [[BIS_fnc_loop]].


|s1= [id, code, timer, timerType, condition] call [[BIS_fnc_runLater]];
|s1= [id, code, timer, timerType, condition] call [[BIS_fnc_runLater]]


|p1= id: [[String]] - Unique Id
|p1= id: [[String]] - unique Id


|p2= code: [[Code]] or [[String]] - Code/function that is executed later
|p2= code: [[Code]] or [[String]] - code/function that is executed later


|p3= timer: [[Number]] - The timer value (can be in seconds or frames)
|p3= timer: [[Number]] - the timer value (can be in seconds or frames)


|p4= timerType: [[String]] - can be "seconds" or "frames"
|p4= timerType: [[String]] - can be "seconds" or "frames"


|p5= condition: [[Code]] - The custom condition, code is only executed if timer is validated and condition is met
|p5= condition: [[Code]] - the custom condition, code is only executed if timer is validated and condition is met


|r1= [[Nothing]]
|r1= [[Nothing]]
 
|x1= <code>{{cc|Hints current game time in the next frame after 5 seconds have passed}}
["uniqueId", { [[hint]] [[str]] [[time]]; }, 5] [[call]] [[BIS_fnc_runLater]];</code>


|x2= <code>{{cc|Hints current game time in the next frame after 120 frames have passed}}
|x1= <sqf>// Hints current game time in the next frame after 5 seconds have passed
["uniqueId", { [[hint]] [[str]] [[time]]; }, 120, "frames"] [[call]] [[BIS_fnc_runLater]];</code>
["uniqueId", { hint str time; }, 5] call BIS_fnc_runLater;</sqf>
 
|x2= <sqf>// Hints current game time in the next frame after 120 frames have passed
["uniqueId", { hint str time; }, 120, "frames"] call BIS_fnc_runLater;</sqf>


|x3= <code>{{cc|Hints current game time in the next frame after BIS_variable is assigned}}
|x3= <sqf>// Hints current game time in the next frame after BIS_variable is assigned
["uniqueId", { [[hint]] [[str]] [[time]]; }, nil, nil, { !isNil { BIS_variable } }] [[call]] [[BIS_fnc_runLater]];</code>
["uniqueId", { hint str time; }, nil, nil, { !isNil { BIS_variable } }] call BIS_fnc_runLater;</sqf>


|x4= <code>{{cc|Hints current game time in the next frame after 5 seconds have passed and BIS_variable is assigned}}
|x4= <sqf>// Hints current game time in the next frame after 5 seconds have passed and BIS_variable is assigned
["uniqueId", { [[hint]] [[str]] [[time]]; }, 5, "seconds", { ![[isNil]] { BIS_variable } }] [[call]] [[BIS_fnc_runLater]];</code>
["uniqueId", { hint str time; }, 5, "seconds", { !isNil { BIS_variable } }] call BIS_fnc_runLater;</sqf>


|x5= <code>{{cc|Hints current game time in the next frame}}
|x5= <sqf>// Hints current game time in the next frame
["uniqueId", { [[hint]] [[str]] [[time]]; }] [[call]] [[BIS_fnc_runLater]];</code>
["uniqueId", { hint str time; }] call BIS_fnc_runLater;</sqf>


|seealso= [[BIS_fnc_CPWaitUntil]] [[waitUntil]] [[BIS_fnc_loop]]
|seealso= [[BIS_fnc_CPWaitUntil]] [[waitUntil]] [[BIS_fnc_loop]]
}}
}}

Latest revision as of 16:52, 8 November 2023

Hover & click on the images for description

Description

Description:
Stack code/function that should be run later, after some time/frames or/and custom condition. Internally calls BIS_fnc_loop.
Execution:
call
Groups:
Program Flow

Syntax

Syntax:
[id, code, timer, timerType, condition] call BIS_fnc_runLater
Parameters:
id: String - unique Id
code: Code or String - code/function that is executed later
timer: Number - the timer value (can be in seconds or frames)
timerType: String - can be "seconds" or "frames"
condition: Code - the custom condition, code is only executed if timer is validated and condition is met
Return Value:
Nothing

Examples

Example 1:
// Hints current game time in the next frame after 5 seconds have passed ["uniqueId", { hint str time; }, 5] call BIS_fnc_runLater;
Example 2:
// Hints current game time in the next frame after 120 frames have passed ["uniqueId", { hint str time; }, 120, "frames"] call BIS_fnc_runLater;
Example 3:
// Hints current game time in the next frame after BIS_variable is assigned ["uniqueId", { hint str time; }, nil, nil, { !isNil { BIS_variable } }] call BIS_fnc_runLater;
Example 4:
// Hints current game time in the next frame after 5 seconds have passed and BIS_variable is assigned ["uniqueId", { hint str time; }, 5, "seconds", { !isNil { BIS_variable } }] call BIS_fnc_runLater;
Example 5:
// Hints current game time in the next frame ["uniqueId", { hint str time; }] call BIS_fnc_runLater;

Additional Information

See also:
BIS_fnc_CPWaitUntil waitUntil BIS_fnc_loop

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