Difference between revisions of "sleep"
Jump to navigation
Jump to search
m |
Lou Montana (talk | contribs) m (Text replacement - "|= Game name" to "|Game name=") |
||
(32 intermediate revisions by 15 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Command|= | + | {{Command|Comments= |
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
− | | arma | | + | | arma |Game name= |
− | |1.00| | + | |1.00|Game version= |
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
− | | | + | | 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]]. |
+ | <br><br>'''Notes''' | ||
+ | * this command only guarantees that the code will be suspended "at least" the given amount of time, however it often is more and on occasion is a lot more if script [[Scheduler|scheduler]] is particular busy | ||
+ | * this command will suspend the script indefinitely if game simulation is paused in SP. To avoid this, use [[uiSleep]]. |DESCRIPTION= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
− | | '''sleep''' delay |= | + | | '''sleep''' delay |SYNTAX= |
− | |p1= delay: [[Number]] |= | + | |p1= delay: [[Number]] of seconds |PARAMETER1= |
− | | [[Nothing]] |= | + | | [[Nothing]] |RETURNVALUE= |
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
− | |x1= < | + | |x1= <code>[] [[spawn]] {[[sleep]] 5; [[hint]] "after 5 sec..."};</code> |EXAMPLE1= |
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
− | | [[Control Structures]] |= | + | | [[uiSleep]], [[waitUntil]], [[canSuspend]], [[execVM]], [[spawn]], [[sleep vs uiSleep]], [[Control Structures]] |SEEALSO= |
}} | }} | ||
Line 27: | Line 30: | ||
<dl class="command_description"> | <dl class="command_description"> | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
− | <dd class="notedate">Posted on December 20, 2006 - 19:53 | + | <dd class="notedate">Posted on December 20, 2006 - 19:53 |
− | <dt class="note">'''[[User:CrashDome|CrashDome]]''' | + | <dt class="note">'''[[User:CrashDome|CrashDome]]'''<dd class="note">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. |
− | <dd class="notedate">Posted on February 12, 2007 - 20:16 | + | <dd class="notedate">Posted on February 12, 2007 - 20:16 |
− | <dt class="note">'''[[User:Kronzky|Kronzky]]''' | + | <dt class="note">'''[[User:Kronzky|Kronzky]]'''<dd class="note">Sleep durations between .0005 and .02 will cause the same delay (roughly .02 seconds).<br>Delays of .0005 and less have '''no''' effect (ie, the sleep call will return immediately). |
− | <dt class="note">'''[[User:Sbsmac|Sbsmac]]''' | + | <dt class="note">'''[[User:Sbsmac|Sbsmac]]'''<dd class="note">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. |
− | <dd class="notedate">Posted on July 16, 2007 - 00:13 | + | <dd class="notedate">Posted on July 16, 2007 - 00:13 |
− | <dt class="note">'''[[User: | + | <dt class="note">'''[[User:Inkompetent|Inkompetent]]'''<dd class="note">For scripts called by the [[Armed_Assault:_EventHandlers_List#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". |
<!-- Note Section END --> | <!-- Note Section END --> | ||
</dl> | </dl> | ||
Line 40: | Line 43: | ||
[[Category:Scripting Commands|SLEEP]] | [[Category:Scripting Commands|SLEEP]] | ||
[[Category:Scripting Commands ArmA|SLEEP]] | [[Category:Scripting Commands ArmA|SLEEP]] | ||
+ | [[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | ||
+ | [[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | ||
+ | [[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]] | ||
+ | |||
+ | <!-- CONTINUE Notes --> | ||
+ | <dl class="command_description"> | ||
+ | <dd class="notedate">Posted on July 12, 2014 - 13:41 (UTC)</dd> | ||
+ | <dt class="note">'''[[User:SilentSpike|SilentSpike]]'''</dt> | ||
+ | <dd class="note"> | ||
+ | Sleep will treat negative values as if they were 0. (Tested in Arma 3 v1.22) | ||
+ | </dd> | ||
+ | </dl> | ||
+ | <!-- DISCONTINUE Notes --> | ||
+ | |||
+ | <!-- CONTINUE Notes --> | ||
+ | <dl class="command_description"> | ||
+ | <dd class="notedate">Posted on October 18, 2014 - 21:24 (UTC)</dd> | ||
+ | <dt class="note">[[User:AgentRevolution|AgentRevolution]]</dt> | ||
+ | <dd class="note"> | ||
+ | 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. | ||
+ | </dd> | ||
+ | </dl> | ||
+ | <!-- DISCONTINUE Notes --> |
Latest revision as of 22:00, 1 September 2019
Click on the images for descriptions
Introduced in
- Game:
- Armed Assault
- Version:
- 1.00
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.
Notes- this command only guarantees that the code will be suspended "at least" the given amount of time, however it often is more and on occasion is a lot more if script scheduler is particular busy
- this command will suspend the script indefinitely if game simulation is paused in SP. To avoid this, use uiSleep.
Syntax
Examples
Additional Information
- Multiplayer:
- -
- See also:
- uiSleepwaitUntilcanSuspendexecVMspawnsleep vs uiSleepControl Structures
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
Add New Note | How To
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.