LlSetScriptState: Difference between revisions

From Second Life Wiki
Jump to navigation Jump to search
Strife Onizuka (talk | contribs)
Undo revision 80936 by Ralph Doctorow (Talk)
Adding other reset conditions not mentioned in the bug report.
Line 28: Line 28:
|notes
|notes
|issues=
|issues=
{{Bug|SVC-1853|Script state is not saved when the script has been deactivated with [[llSetScriptState]].}}
{{Bug|SVC-1853|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.}}
|cat1=Script
|cat1=Script
|cat2
|cat2

Revision as of 17:56, 10 August 2008

Summary

Function: llSetScriptState( string name, integer run );
0.0 Forced Delay
10.0 Energy

Set the running state of the script name.

• string name a script in the inventory of the prim this script is in
• integer run boolean, if FALSE the script will be disabled.

Caveats

  • 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 encoutered a run-time error.
  • 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.

Examples

<lsl>//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);</lsl> <lsl>//Starts Another Script

llSetScriptState("somescript",TRUE);</lsl>

See Also

Functions

•  llGetScriptState
•  llResetOtherScript

Deep Notes

Signature

function void llSetScriptState( string name, integer run );