scriptDone: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(fixed example)
m (Some wiki formatting)
 
(63 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= ofpe
|version1= 1.00


|1.00|= Game version
|game2= arma1
____________________________________________________________________________________________
|version2= 1.00


| Check if an SQF script is already finished using the return value of [[execVM]] command as the argument. |= Description
|game3= arma2
____________________________________________________________________________________________
|version3= 1.00


| '''scriptDone''' [[Script (Handle)]] |= Syntax
|game4= arma2oa
|version4= 1.50


| [[Boolean]] |= Return value
|game5= tkoh
____________________________________________________________________________________________
|version5= 1.00
|x1=@ScriptDone _Handle


|x2= <code>script_handler <nowiki>=</nowiki> [parameters] execVM "scriptname.sqf";
|game6= arma3
waitUntil {scriptDone script_handler};</code> |= Example 2
|version6= 0.50
____________________________________________________________________________________________
| [[execVM]] |= See also


}}
|gr1= Program Flow
 
|descr= Check if a script is finished running using the [[Script Handle]] returned by [[execVM]] or [[spawn]].
 
|s1= [[scriptDone]] handle
 
|p1= handle: [[Script Handle]] - handle returned by [[spawn]] or [[execVM]]
 
|r1= [[Boolean]]


<h3 style="display:none">Notes</h3>
|x1= <sqf>
<dl class="command_description">
_scriptHandle = ["arguments"] execVM "scriptname.sqf";
<!-- Note Section BEGIN -->
waitUntil { scriptDone _scriptHandle };
</sqf>


<!-- Note Section END -->
|seealso= [[execVM]] [[spawn]] [[terminate]] [[scriptNull]]
</dl>
}}


<h3 style="display:none">Bottom Section</h3>
{{Note
[[Category:Scripting Commands|SCRIPTDONE]]
|user= Bn880
[[Category:Scripting Commands OFP Elite |SCRIPTDONE]]
|timestamp= 20090911035400
[[Category:Scripting Commands ArmA|SCRIPTDONE]]
|text= A Null Script handle can be created in this manner:
<sqf>_handle = 0 spawn {};</sqf>
That is what any [[Script Handle]] becomes when a script is finished running, meaning it will test as [[true]] with:  
<sqf>scriptDone _handle;</sqf>
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.
}}

Latest revision as of 20:10, 13 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:
_scriptHandle = ["arguments"] execVM "scriptname.sqf"; waitUntil { scriptDone _scriptHandle };

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
Bn880 - c
Posted on Sep 11, 2009 - 03:54 (UTC)
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.