sleep: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<dd class="notedate">Posted on ([^<>]+) " to "<dd class="notedate">Posted on $1</dd> ") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{RV|type=command | {{RV|type=command | ||
| arma1 | |game1= arma1 | ||
|version1= 1.00 | |||
|1.00 | |game2= arma2 | ||
|version2= 1.00 | |||
|game3= arma2oa | |||
|version3= 1.50 | |||
|game4= tkoh | |||
|version4= 1.00 | |||
|game5= arma3 | |||
|version5= 0.50 | |||
|gr1= Program Flow | |gr1= Program Flow | ||
| Suspends code 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 | |descr= Suspends code 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 Handle|script]] executed by [[execVM]] or [[spawn]]. | ||
{{Informative | | {{Feature | Informative | | ||
* this command will suspend the code for '''''at least''''' the given amount of time, and can be way more if the [[Scheduler|script scheduler]] is busy. | * this command will suspend the code for '''''at least''''' the given amount of time, and can be way more if the [[Scheduler|script scheduler]] is busy. | ||
* this command will suspend the script as the game gets paused in single player (and will resume with it). To avoid this, use [[uiSleep]]. | * this command will suspend the script as the game gets paused in single player (and will resume with it). To avoid this, use [[uiSleep]]. | ||
}} | }} | ||
| | |s1= [[sleep]] delay | ||
|p1= delay: [[Number]] - in seconds. Negative values will not be considered. | |p1= delay: [[Number]] - in seconds. Negative values will not be considered. | ||
| [[Nothing]] | |r1= [[Nothing]] | ||
|x1= < | |x1= <sqf> | ||
0 spawn { | |||
sleep 5; | |||
};</ | hint "after (at least) 5 seconds..."; | ||
}; | |||
</sqf> | |||
|x2= < | |x2= <sqf> | ||
sleep 5 + random 10; // incorrect - will only sleep for 5 seconds, as it will be interpreted as (sleep 5) (+(random 10)) | |||
sleep (5 + random 10); // correct | |||
</sqf> | |||
| | |seealso= [[uiSleep]] [[waitUntil]] [[canSuspend]] [[execVM]] [[spawn]] [[sleep vs uiSleep]] [[Control Structures]] | ||
}} | |||
| | {{Note | ||
|user= CrashDome | |||
|timestamp= 20061220205300 | |||
|text= 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. | |||
}} | }} | ||
{{Note | |||
|user= Kronzky | |||
|timestamp= 20070212201600 | |||
|text= Sleep durations between .0005 and .02 will cause the same delay (roughly .02 seconds).<br> | |||
Delays of .0005 and less have '''no''' effect (i.e, the sleep call will return immediately). | |||
}} | |||
{{Note | |||
|user= Sbsmac | |||
|timestamp= 20070213223200 | |||
|text= 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. | |||
}} | |||
{{Note | |||
|user= Inkompetent | |||
|timestamp= 20070616001300 | |||
|text= For scripts called by the [[Arma 3: Event Handlers#Init|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". | |||
}} | |||
Latest revision as of 17:28, 5 April 2022
Description
- Description:
- Suspends code 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.
- Groups:
- Program Flow
Syntax
- Syntax:
- sleep delay
- Parameters:
- delay: Number - in seconds. Negative values will not be considered.
- Return Value:
- Nothing
Examples
- Example 1:
- Example 2:
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
- Posted on Dec 20, 2006 - 20:53 (UTC)
- 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 Feb 12, 2007 - 20:16 (UTC)
-
Sleep durations between .0005 and .02 will cause the same delay (roughly .02 seconds).
Delays of .0005 and less have no effect (i.e, the sleep call will return immediately).
- Posted on Feb 13, 2007 - 22:32 (UTC)
- 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 Jun 16, 2007 - 00:13 (UTC)
- 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".
Categories:
- Scripting Commands
- Introduced with Armed Assault version 1.00
- ArmA: Armed Assault: New Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Program Flow