Jump to navigation Jump to search
Revision as of 14:07, 22 January 2015 by Lady Sumoku (talk | contribs) (Replaced old <LSL> block with <source lang="lsl2">)
|LSL Portal||Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials|
SummaryFunction: llSetScriptState( string name, integer running );
Set the running state of the script name.
|• string||name||–||a script in the inventory of the prim this script is in|
|• integer||running||–||boolean, if TRUE the script will be enabled, if FALSE the script will be disabled|
- If name is missing from the prim's inventory or it is not a script then an error is shouted on DEBUG_CHANNEL.
- Cannot be used to restart a script that has encountered a run-time error.
- Cannot be used to start a script that has been added via llGiveInventory. Scripts sent via llRemoteLoadScriptPin, and which have the running state set FALSE by that command, may be started.
- The script appears to stop when its time slice ends, not sooner. If a script tries to stop itself then some LSL code following the llSetScriptState call may be executed before the script stops.
- If a script is paused by llSetScriptState and is then either re-rezzed, in a region during a restart, or moved into a different region, the script's memory is reset.
//Stops the Script, at some non-deterministic time later, until invoked with TRUE, in another script llSetScriptState(llGetScriptName(),FALSE); // Stall until end of time slice llSleep(0.1);
//Starts Another Script llSetScriptState("somescript",TRUE);
All Issues~ Search JIRA for related Issues
|SVC-1853||A||Scripts deactivated by llSetScriptState are reset when the region is reset, when they are taken into inventory and re-rezzed and when crossing sim boundaries.|
function void llSetScriptState( string name, integer running );