canSuspend

From Bohemia Interactive Community
Revision as of 14:47, 15 October 2021 by Ilias38rus (talk | contribs) (in FSM, the code which can contain this command is executed unscheduled . im not sure about SQS, but the deleted statement is very misleading for FSM)
Jump to navigation Jump to search
Hover & click on the images for description

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.
Groups:
Program Flow

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

See also:
sleepuiSleepwaitUntilcallspawnexecVMisRemoteExecutedisRemoteExecutedJIPremoteExecutedOwnerisUIContextisGamePausedisGameFocused

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