execVM: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " " to " ") |
Lou Montana (talk | contribs) m (Text replacement - "\{\{( *)Warning( *)\|" to "{{$1Feature$2|$Warning$2|") |
||
Line 15: | Line 15: | ||
To see what VM scripts are currently in the scheduler, use [[diag_activeSQFScripts]] command.<br><br> | To see what VM scripts are currently in the scheduler, use [[diag_activeSQFScripts]] command.<br><br> | ||
{{Warning | If the file you are executing is not prepared using UTF-8 encoding and contains some characters [[toArray | with codes]] > 127, they might convert incorrectly}} | {{Feature |$Warning | If the file you are executing is not prepared using UTF-8 encoding and contains some characters [[toArray | with codes]] > 127, they might convert incorrectly}} | ||
| arguments [[execVM]] filename | | arguments [[execVM]] filename |
Revision as of 00:21, 7 February 2021
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:
- See also needed
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;