spawn: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) m (see also) |
m (format) |
||
Line 47: | Line 47: | ||
[[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: | ||
< | <code>_addOne = {TST=TST+1}; | ||
TST_addOne = {TST=TST+1}; | TST_addOne = {TST=TST+1}; | ||
_add = { | _add = { | ||
TST=TST+1; | TST=TST+1; | ||
player | [[player]] [[sideChat]] [[format]] ["added: %1",TST]; | ||
[] call _addOne; | [] [[call]] _addOne; | ||
player | [[player]] [[sideChat]] [[format]] ["called local: %1",TST]; | ||
[] call TST_addOne; | [] [[call]] TST_addOne; | ||
player | [[player]] [[sideChat]] [[format]] ["called global: %1",TST]; | ||
}; | }; | ||
TST=0; | TST=0; | ||
[] call _add; | [] [[call]] _add; | ||
[] spawn _add;</ | [] [[spawn]] _add;</code> | ||
The call of _addOne from the spawned function does not do anything. | |||
<!-- Note Section END --> | <!-- Note Section END --> |
Revision as of 05:50, 10 September 2014
Description
- Description:
- Starts running a new script (SQF). Additional arguments are passed in local _this variable. The new script is running in scheduled environment, 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.