call: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(locality info is misleading and innapropriate)
No edit summary
Line 64: Line 64:
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Command Group: Program Flow|CALL]]
[[Category:Command Group: Program Flow|CALL]]
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on July 5, 2014 - 16:00 (UTC)</dd>
<dt class="note">'''[[User:MattAka Horner|MattAka Horner]]'''</dt>
<dd class="note">
<br>
Sleeping in a called function only works if the function is called from a spawned thread or a script. You cannot call a function with a sleep in it from another called function or it returns a generic error.
<br>
<code>
//Works
[] spawn {
[] call {
sleep 3;
hintSilent "Hello World!";
};
};
</code>
<code>
//Doesn't Work
[] call {
[] call {
sleep 3;
hintSilent "Hello World!";
};
};
</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 18:00, 5 July 2014

Hover & click on the images for description

Description

Description:
Executes the function string. The argument(s) (if any) are passed as _this. (argument(s) are passed in an array). To execute a sleep function in the called code, execute it with spawn instead.
Groups:
Uncategorised

Syntax

Syntax:
argument(s) call body
Parameters:
argument(s): Any Value - Optional. Argument that is passed to the function in the "_this" variable.
body: Code - A function body provided directly 'inline' or the String returned from the commands loadFile or preprocessFile.
Return Value:
Anything - The last value given in the function is returned. See the topic Function for more information.

Examples

Example 1:
call {"x = 3"}
Example 2:
Operation Flashpoint syntax: _n = 3;
call format [{var%1 = 0},_n];
Armed Assault syntax: _n = 3;
call compile format ["var%1 = 0",_n];
result of both syntaxes is var3 = 0
Example 3:
Operation Flashpoint syntax: _fAdd = loadFile "add.sqf" [1,2] call _fAdd Armed Assault syntax: _fAdd = compile loadFile "add.sqf" _result = [1,2] call _fAdd

Additional Information

See also:
spawncompilepreprocessFile

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

Bottom Section

Posted on July 5, 2014 - 16:00 (UTC)
MattAka Horner

Sleeping in a called function only works if the function is called from a spawned thread or a script. You cannot call a function with a sleep in it from another called function or it returns a generic error.
//Works [] spawn { [] call { sleep 3; hintSilent "Hello World!"; }; }; //Doesn't Work [] call { [] call { sleep 3; hintSilent "Hello World!"; }; };