canSuspend

From Bohemia Interactive Community
Jump to: navigation, search
Introduced with Arma 3 version 1.58
  

Click on the images for descriptions

Introduced in

Game:
Arma 3
Version:
1.58

Description

Description:
Returns true if sleep, uiSleep or waitUntil commands can be used in current scope. Usually when suspension is not allowed but used, for example when code is executed in unscheduled environment, the script engine would ignore any suspension command and throw error: "Suspending not allowed in this context". Using canSuspend command allows to detect the correct environment for the code.

Note: The definition of scheduled and unscheduled environment is not the same as whether or not the script execution can or cannot be suspended. For example while .sqs and .fsm scripts are scheduled (i.e. added to the scheduler: diag_activeSQSScripts, diag_activeMissionFSMs), they cannot use sleep or be suspended like execVM or spawn scripts can, therefore canSuspend for these types of scripts will return false.

Syntax

Syntax:
canSuspend
Return Value:
Boolean

Examples

Example 1:
onEachFrame { systemChat str canSuspend; //false [] spawn {hint str canSuspend}; //true onEachFrame {}; };
Example 2:
Make sure the function code is always spawned even when called:mysleep = { if (!canSuspend) exitWith {_this spawn mysleep}; sleep _this; hint ("slept " + str _this); }; 5 call mysleep;

Additional Information

Multiplayer:
-
See also:
sleepuiSleepwaitUntilcallspawnexecVMisRemoteExecutedisRemoteExecutedJIPremoteExecutedOwnerisUIContext

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

Bottom Section