execVM: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " " to " ")
m (Text replacement - " +" to " ")
Line 46: Line 46:
|seealso= [[call]], [[spawn]], [[exec]], [[execFSM]], [[scriptDone]], [[scriptNull]], [[terminate]], [[sleep]], [[uiSleep]], [[waitUntil]], [[canSuspend]], [[diag_activeScripts]], [[diag_activeSQFScripts]], [[SQF Syntax]], [[Control Structures]]
|seealso= [[call]], [[spawn]], [[exec]], [[execFSM]], [[scriptDone]], [[scriptNull]], [[terminate]], [[sleep]], [[uiSleep]], [[waitUntil]], [[canSuspend]], [[diag_activeScripts]], [[diag_activeSQFScripts]], [[SQF Syntax]], [[Control Structures]]
}}
}}


<dl class="command_description">
<dl class="command_description">
Line 62: Line 61:
'''_myunit = _this select 0;'''<br>
'''_myunit = _this select 0;'''<br>
'''_myvar = _this select 1;'''
'''_myvar = _this select 1;'''


</dl>
</dl>


{{GameCategory|arma1|Scripting Commands}}
{{GameCategory|arma1|Scripting Commands}}

Revision as of 00:03, 11 June 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
Program Flow

Syntax

Syntax:
Syntax needed
Parameters:
arguments: Anything - arguments accessible as _this in the script
filename: String - file with sqf code (doesn't have to have .sqf extension, but not using standard extensions may cause problems later during binarisation)
Return Value:
Return value needed

Alternative Syntax

Syntax:
execVM filename
Parameters:
filename: String - file with sqf code (doesn't have to have .sqf extension, but not using standard extensions may cause problems later, during binarisation)
Return Value:
Script - script handle, can be used to determine (via scriptDone (also via isNull in Arma 3)) when the execVMed script has finished. In Arma 3, the handle is also available inside the execVMed script in _thisScript variable.

Examples

Example 1:
_handle = execVM "test.sqf";
Example 2:
_handle = player execVM "test.sqf"; waitUntil { scriptDone _handle };
Example 3:
In Arma 3 this is also possible: _handle = execVM "123.sqf"; waitUntil { isNull _handle };
Example 4:
[4] execVM "showDamage.sqf"; // showDamage.sqf private _damage = _this select 0; hint format ["%1", _damage];

Additional Information

See also:
callspawnexecexecFSMscriptDonescriptNullterminatesleepuiSleepwaitUntilcanSuspenddiag_activeScriptsdiag_activeSQFScriptsSQF SyntaxControl Structures

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 November 23, 2010 - 15:56
Kabilen
Passing variables to the script file To pass multiple variables to the script file, use an array e.g: null = [myunit,1234] execVM "test.sqf"; Now within test.sqf to access the elements, use the following: _myunit = _this select 0;
_myvar = _this select 1;