Difference between revisions of "spawn"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (format)
Line 74: Line 74:
 
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
 
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
 
[[Category:Command Group: Program Flow|{{uc:{{PAGENAME}}}}]]
 
[[Category:Command Group: Program Flow|{{uc:{{PAGENAME}}}}]]
 +
 +
<!-- CONTINUE Notes -->
 +
<dl class="command_description">
 +
<dd class="notedate">Posted on October 21, 2014 - 23:33 (UTC)</dd>
 +
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
 +
<dd class="note">
 +
[[spawn]] requires a script handle when used in the 2D editor. '''(A3)'''<br>
 +
In scripts and in the debug console, it is not required, but very useful for keeping track of running scripts. Having a script handle also makes it easy to [[terminate]] scripts at any time.
 +
<br><br>
 +
Since [[spawn]] creates a new scheduled environment, having an excess of open threads can make the scheduler queue extremely long, significantly increasing the execution time of each thread. (it takes an extremely large amount of threads, though)
 +
</dd>
 +
</dl>
 +
<!-- DISCONTINUE Notes -->

Revision as of 01:33, 22 October 2014

Introduced with Armed Assault version 1.00
  

Click on the images for descriptions

Introduced in

Game:
Armed Assault
Version:
1.00

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.

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

Multiplayer:
-
See also:
callexecVMexecFSMexeccompilepreprocessFileLineNumberspreprocessFileterminatescriptDone

Notes

Only post proven facts here. Report bugs on the feedback tracker. Use the talk page or the forums for discussions.
Add New Note | How To

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

Posted on October 21, 2014 - 23:33 (UTC)
DreadedEntity
spawn requires a script handle when used in the 2D editor. (A3)
In scripts and in the debug console, it is not required, but very useful for keeping track of running scripts. Having a script handle also makes it easy to terminate scripts at any time.

Since spawn creates a new scheduled environment, having an excess of open threads can make the scheduler queue extremely long, significantly increasing the execution time of each thread. (it takes an extremely large amount of threads, though)