Difference between revisions of "LlResetOtherScript"

From Second Life Wiki
Jump to navigation Jump to search
m (<lsl> tag to <source>)
 
(20 intermediate revisions by 8 users not shown)
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_footnote
|func_desc=Resets script {{LSLP|name}}.
|func_desc=Resets script '''name'''
|func_footnote=On script reset...
|return_text
*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
**If it has a [[state_entry]] event, then it is queued.
|spec
|spec
|caveats
|caveats=
*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).
|constants
|constants
|examples
|examples=
<source lang="lsl2">
// the other script must be within the same prim and has to be running
 
default
{
    touch_start(integer num_detected)
    {
        llResetTime();
    }
 
    touch_end(integer num_detected)
    {
        if (llGetTime() < 3.0)
            llSay(0, "Please click & hold for at least 3.0 seconds.");
        else
            llResetOtherScript("second");
    }
}
</source>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llResetScript]]|}}
|also_functions={{LSL DefineRow||[[llResetScript]]|}}
{{LSL DefineRow||[[llGetScriptState]]|}}
{{LSL DefineRow||[[llSetScriptState]]|}}
|also_events
|also_events
|also_tests
|also_tests
|also_articles
|also_articles
|notes
|notes
|permission
|negative_index
|sort=ResetOtherScript
|sort=ResetOtherScript
|cat1=Script
|cat1=Inventory
|cat2
|cat2=Script
|cat3
|cat3=Stop
|cat4
|cat4=
}}
}}

Latest revision as of 14:29, 22 January 2015

Summary

Function: llResetOtherScript( string name );

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

Examples

// the other script must be within the same prim and has to be running

default
{
    touch_start(integer num_detected)
    {
        llResetTime();
    }

    touch_end(integer num_detected)
    {
        if (llGetTime() < 3.0)
            llSay(0, "Please click & hold for at least 3.0 seconds.");
        else
            llResetOtherScript("second");
    }
}

See Also

Functions

•  llResetScript
•  llGetScriptState
•  llSetScriptState

Deep Notes

Search JIRA for related Issues

Signature

function void llResetOtherScript( string name );