Difference between revisions of "LlSetScriptState"

From Second Life Wiki
Jump to navigation Jump to search
(Clarifying behavior around SVC-26, which is "won't finish")
(cat Inventory)
Line 1: Line 1:
{{Issues/SVC-1853}}{{LSL_Function/inventory|name|uuid=false|type=script}}
{{Issues/SVC-1853}}{{LSL Function/inventory|name|uuid=false|type=script}}
{{LSL_Function
{{LSL Function
|func_id=148|func_sleep=0.0|func_energy=10.0
|func_id=148|func_sleep=0.0|func_energy=10.0
|func=llSetScriptState
|func=llSetScriptState
Line 30: Line 30:
|notes
|notes
|issues
|issues
|cat1=Script
|cat1=Inventory
|cat2
|cat2=Script
|cat3
|cat3=
|cat4
|cat4=
}}
}}

Revision as of 05:38, 25 February 2012

Summary

Function: llSetScriptState( string name, integer run );

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.
  • 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 or moved into a different region, the script's memory is reset.
All Issues ~ Search JIRA for related Bugs

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

All Issues

~ Search JIRA for related Issues
   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.

Signature

function void llSetScriptState( string name, integer run );