execVM: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) |
Lou Montana (talk | contribs) m (Text replacement - "{{HashLink" to "{{Link") |
||
(12 intermediate revisions by the same user not shown) | |||
Line 21: | Line 21: | ||
|gr1= Program Flow | |gr1= Program Flow | ||
|descr= Compiles and adds an [[SQF Syntax|SQF]] [[Script Handle|script]] to the [[Scheduler|scheduler]] queue and returns script handle (see also {{ | |descr= Compiles and adds an [[SQF Syntax|SQF]] [[Script Handle|script]] to the [[Scheduler|scheduler]] queue and returns script handle (see also {{Link|#Example 4}}). | ||
The script does not execute immediately upon running [[execVM]] command but with some delay depending on the VM's scripts queue and engine load. | The script does not execute immediately upon running [[execVM]] command but with some delay depending on the VM's scripts queue and engine load. | ||
Line 52: | Line 52: | ||
|r2= [[Script Handle]] | |r2= [[Script Handle]] | ||
|x1= < | |x1= <sqf>execVM "test.sqf";</sqf> | ||
|x2= < | |x2= <sqf> | ||
_handle = player execVM "test.sqf"; | |||
waitUntil { scriptDone _handle }; | |||
</sqf> | |||
The following is also possible in {{arma3}}: | The following is also possible in {{arma3}}: | ||
< | <sqf> | ||
private _handle = execVM "123.sqf"; | |||
waitUntil { isNull _handle }; | |||
</sqf> | |||
|x3= < | |x3= <sqf>[player, 0.75] execVM "setDamage.sqf";</sqf> | ||
setDamage.sqf: | setDamage.sqf: | ||
< | <sqf> | ||
_unit | params ["_unit", "_damage"]; | ||
_unit setDamage _damage; | |||
</sqf> | |||
|x4= [[execVM]] equivalence:< | |x4= [[execVM]] equivalence: | ||
<sqf> | |||
private _handle = _args execVM "someFile.sqf"; | |||
// is practically identical to | |||
private _handle = _args spawn compile preprocessFileLineNumbers "someFile.sqf"; | |||
</sqf> | |||
|seealso= [[call]] [[spawn]] [[exec]] [[execFSM]] | |seealso= [[call]] [[spawn]] [[exec]] [[execFSM]] [[scriptDone]] [[scriptNull]] [[terminate]] [[sleep]] [[uiSleep]] [[waitUntil]] [[canSuspend]] [[diag_activeScripts]] [[diag_activeSQFScripts]] [[SQF Syntax]] [[Control Structures]] | ||
}} | }} |
Latest revision as of 17:44, 4 January 2023
Description
- Description:
- Compiles and adds an SQF script to the scheduler queue and returns script handle (see also Example 4). The script does not execute immediately upon running execVM command but with some delay depending on the VM's scripts queue and engine load.
- Groups:
- Program Flow
Syntax
- Syntax:
- arguments execVM filename
- Parameters:
- arguments: Anything - arguments accessible as _this in the script
- filename: String - path to the SQF script file
- Return Value:
- Script Handle
Alternative Syntax
- Syntax:
- execVM filename
- Parameters:
- filename: String - path to the SQF script file
- Return Value:
- Script Handle
Examples
- Example 1:
- execVM "test.sqf";
- Example 2:
- The following is also possible in Arma 3:
- Example 3:
- setDamage.sqf:
- Example 4:
- execVM equivalence:
Additional Information
- See also:
- call spawn exec execFSM scriptDone scriptNull terminate sleep uiSleep waitUntil canSuspend diag_activeScripts diag_activeSQFScripts SQF Syntax Control 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
Categories:
- Scripting Commands
- Introduced with Armed Assault version 1.00
- ArmA: Armed Assault: New Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Program Flow
- Scripting Commands: Local Effect