scriptDone: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^ ]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^ ]*)<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - "\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^ ]*)<\/code>" to "$1$2</code>")
Line 34: Line 34:
|x2= SQF Syntax:
|x2= SQF Syntax:
<code>script_handler = [parameters] [[execVM]] "scriptname.sqf";
<code>script_handler = [parameters] [[execVM]] "scriptname.sqf";
[[waitUntil]] { [[scriptDone]] script_handler };</code>
waitUntil { [[scriptDone]] script_handler };</code>


|seealso= [[execVM]] [[spawn]] [[terminate]] [[scriptNull]]
|seealso= [[execVM]] [[spawn]] [[terminate]] [[scriptNull]]

Revision as of 11:32, 12 May 2022

Hover & click on the images for description

Description

Description:
Check if a script is finished running using the Script Handle returned by execVM or spawn.
Groups:
Program Flow

Syntax

Syntax:
scriptDone handle
Parameters:
handle: Script Handle - handle returned by spawn or execVM
Return Value:
Boolean

Examples

Example 1:
SQS Syntax: @scriptDone _Handle
Example 2:
SQF Syntax: script_handler = [parameters] execVM "scriptname.sqf"; waitUntil { scriptDone script_handler };

Additional Information

See also:
execVM spawn terminate scriptNull

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 03:54, 11 September 2009
Bn880
A Null Script handle can be created in this manner: _handle = 0 spawn {}; That is what any Script Handle becomes when a script is finished running, meaning it will test as true with:
scriptDone _handle;
and it returns "<NULL-script>" when converted to string. This in turn lets you initialize the variable with a completed Script Handle and lets you test the variable even though nothing else may have set the handle by creating a script with spawn or execVM. It also lets you store and manage script handles in arrays, and a few other sexy things.