sleep: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (updated note)
Line 70: Line 70:
<dt class="note">[[User:Waffle SS.|Waffle SS.]]</dt>
<dt class="note">[[User:Waffle SS.|Waffle SS.]]</dt>
<dd class="note">
<dd class="note">
The '''sleep''' command will be ignored on JIP. This affects code/functions called from init.sqf or object initialization. It will simply ignore the command and continue through the code.
The '''sleep''' command will be ignored on JIP. This affects code/functions called from init.sqf or object initialization. It will simply ignore the command and continue through the code. Even if the function uses [[spawn]] to create a new process.
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 04:15, 29 May 2015

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

Description

Description:
Suspend execution for given time in seconds. The sleep precision is given by a framerate, the delay given is the minimal delay expected. Must be called inside of a context which is interruptible, i.e. a script executed by execVM or spawn.

Note that this command will suspend the script indefinitely if game simulation is paused in SP. To avoid this, use uiSleep.
Groups:
Uncategorised

Syntax

Syntax:
sleep delay
Parameters:
delay: Number of seconds
Return Value:
Nothing

Examples

Example 1:
[] spawn {sleep 5; hint "after 5 sec..."};

Additional Information

See also:
uiSleepControl Structures

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 December 20, 2006 - 19:53
CrashDome
Sleep suspends both SQF functions and SQF scripts. In functions, the calling script is still in suspension due to waiting for a return from the call command. The game engine will continue, however. See Function for more detail.
Posted on February 12, 2007 - 20:16
Kronzky
Sleep durations between .0005 and .02 will cause the same delay (roughly .02 seconds).
Delays of .0005 and less have no effect (ie, the sleep call will return immediately).
Sbsmac
The comment above is a little misleading. The game engine appears to work by processing frames and then checking to see whether scripts are available to execute. Sleep causes the script/function to be suspended until at least the specified time has elapsed. To wait for the next frame, or give other scripts a chance to run, use Sleep 0.001.
Posted on July 16, 2007 - 00:13
Inkompetent
For scripts called by the Init Event Handler the first sleep command will suspend the script at the briefing screen at the start of a mission. The script will continue after the briefing screen, when actually "in game".

Bottom Section

Posted on July 12, 2014 - 13:41 (UTC)
SilentSpike
Sleep will treat negative values as if they were 0. (Tested in Arma 3 v1.22)
Posted on October 18, 2014 - 21:24 (UTC)
AgentRevolution
For server scripts, if you are creating "while true" timers, it is best to use uiSleep instead, as the sleep from that command is not slowed down by simulation / server lag, so the timers will execute at intervals that are much closer to real time, even under heavy lag.
Posted on May 29, 2015 - 02:59 (UTC)
Waffle SS.
The sleep command will be ignored on JIP. This affects code/functions called from init.sqf or object initialization. It will simply ignore the command and continue through the code. Even if the function uses spawn to create a new process.