spawn: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) No edit summary |
Fred Gandt (talk | contribs) m (Formatted another user's note for readability.) |
||
Line 45: | Line 45: | ||
<dt class="note">[[User:Kronzky|Kronzky]] | <dt class="note">[[User:Kronzky|Kronzky]] | ||
<dd class="note"> | <dd class="note"> | ||
spawn cannot call other local functions on the same scope as itself.<br> | [[spawn]] cannot call other local functions on the same scope as itself.<br> | ||
It can, however, call other global functions: | It can, however, call other global functions: | ||
<pre style="border:none;">_addOne = {TST=TST+1}; | |||
TST_addOne = {TST=TST+1}; | |||
_add = { | |||
TST=TST+1; | |||
player sidechat format["added: %1",TST]; | |||
[] call _addOne; | |||
player sidechat format["called local: %1",TST]; | |||
[] call TST_addOne; | |||
player sidechat format["called global: %1",TST]; | |||
}; | |||
TST=0; | |||
[] call _add; | |||
[] spawn _add;</pre> | |||
* The call of _addOne from the spawned function does not do anything. | |||
<!-- Note Section END --> | <!-- Note Section END --> |
Revision as of 06:19, 5 March 2014
Description
- Description:
- Starts running a new script (SQF). Additional arguments are passed in local _this variable. The new script is running in parallel, spawn does not wait for it to be done, instead spawn returns a Script handle.
- Groups:
- Uncategorised
Syntax
- Syntax:
- Script = arguments spawn code
- Parameters:
- arguments: Any Value
- code: Code
- Return Value:
- Script
Examples
- Example 1:
[] spawn { player globalChat "This is run in parallel."; };
- Example 2:
- There is no guarantee that spawned scripts will be executed in the same order they spawned:
for "_i" from 0 to 100 do { _null = _i spawn { diag_log _this } }
Result: 51,1,2...49,50,0,52,53...100
Additional Information
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
Notes
- Posted on 5 March, 2009
- Kronzky
-
spawn cannot call other local functions on the same scope as itself.
It can, however, call other global functions:_addOne = {TST=TST+1}; TST_addOne = {TST=TST+1}; _add = { TST=TST+1; player sidechat format["added: %1",TST]; [] call _addOne; player sidechat format["called local: %1",TST]; [] call TST_addOne; player sidechat format["called global: %1",TST]; }; TST=0; [] call _add; [] spawn _add;
- The call of _addOne from the spawned function does not do anything.