Difference between revisions of "LlResetOtherScript"

From Second Life Wiki
Jump to navigation Jump to search
(Fixed typo :()
(It took me a while to understand what the sentance framgent was trying to convey, i think this rearrangment helps. Also reordered the a few of the fields to aid readability.)
Line 1: Line 1:
{{LSL Function/inventory|name|uuid=false|type=script}}
{{LSL Function
{{LSL Function
|inject-2={{LSL Function/inventory|name|uuid=false|type=script}}
|func_id=249|func_sleep=0.0|func_energy=10.0
|func_id=249|func_sleep=0.0|func_energy=10.0
|func=llResetOtherScript|p1_type=string|p1_name=name
|func=llResetOtherScript|p1_type=string|p1_name=name
|func_desc=Resets script '''name'''.
|func_footnote=On script reset...
|func_footnote=On script reset...
*The current event/function is exited without further execution or return.
*The current event/function is exited without further execution or return.
Line 9: Line 10:
*The [[default]] state is set as the active state
*The [[default]] state is set as the active state
**If it has a [[state_entry]] event, then it is queued.
**If it has a [[state_entry]] event, then it is queued.
|func_desc=Resets script '''name'''
|return_text
|spec
|spec
|caveats=
|caveats=
*If the script is not running, this call has no effect, even after the script is set running again.
*If the script is not running, this call has no effect, even after the script is set running again.
*"OtherScript" includes self.  A script can reset itself with this function.
*A script can reset itself with this function (not just other scripts).
|constants
|constants
|examples=
|examples=

Revision as of 09:59, 20 April 2012

Summary

Function: llResetOtherScript( string name );
0.0 Forced Delay
10.0 Energy

Resets script name.

• string name a script in the inventory of the prim this script is in

On script reset...

  • The current event/function is exited without further execution or return.
  • All global variables are set to their defaults
  • The event queue is cleared, and recurring events are stopped.
  • The default state is set as the active state

Caveats

  • If name is missing from the prim's inventory or it is not a script then an error is shouted on DEBUG_CHANNEL.
  • If the script is not running, this call has no effect, even after the script is set running again.
  • A script can reset itself with this function (not just other scripts).

Examples

<lsl> integer menu_channel = -2345;

default { state_entry(){ llListen(menu_channel, "", "", ""); }

touch_start(integer total_number){ llDialog(llDetectedKey(0), "Reset database script?", ["Yes", "No"], menu_channel); }

listen(integer channel, string name, key id, string message){ if (message == "Yes"){ llSay(0, "Reseting script..."); llResetOtherScript("Database_script"); // The script must be in the same prim and does have to be running } else llSay(0, "Operation canceled"); } }

</lsl>

See Also

Functions

•  llResetScript
•  llGetScriptState
•  llSetScriptState

Deep Notes

Signature

function void llResetOtherScript( string name );