spawn: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
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:
<pre style="border:none;">_addOne = {TST=TST+1};
<code>_addOne = {TST=TST+1};
TST_addOne = {TST=TST+1};
TST_addOne = {TST=TST+1};


_add = {
_add = {
     TST=TST+1;
     TST=TST+1;
     player sidechat format["added: %1",TST];
     [[player]] [[sideChat]] [[format]] ["added: %1",TST];
     [] call _addOne;
     [] [[call]] _addOne;
     player sidechat format["called local: %1",TST];
     [[player]] [[sideChat]] [[format]] ["called local: %1",TST];
     [] call TST_addOne;
     [] [[call]] TST_addOne;
     player sidechat format["called global: %1",TST];
     [[player]] [[sideChat]] [[format]] ["called global: %1",TST];
};
};
TST=0;
TST=0;
[] call _add;
[] [[call]] _add;
[] spawn _add;</pre>
[] [[spawn]] _add;</code>
* The call of _addOne from the spawned function does not do anything.
The call of _addOne from the spawned function does not do anything.


<!-- Note Section END -->
<!-- Note Section END -->

Revision as of 06:50, 10 September 2014

-wrong parameter ("Arma") defined!-1.00
Hover & click on the images for description

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

See also:
callexecVMexecFSMexeccompilepreprocessFileLineNumberspreprocessFileterminatescriptDone

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.

Bottom Section