Difference between revisions of "LlGetScriptState"

From Second Life Wiki
Jump to navigation Jump to search
m
m (<lsl> tag to <source>)
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LSL Function/inventory|name|uuid=false|type=script}}
{{LSL Function
{{LSL Function
|inject-2={{LSL Function/inventory|script|uuid=false|type=script}}
|func_id=250|func_sleep=0.0|func_energy=10.0
|func_id=250|func_sleep=0.0|func_energy=10.0
|func=llGetScriptState|return_type=integer|p1_type=string|p1_name=name
|func=llGetScriptState|return_type=integer|return_subtype=boolean|p1_type=string|p1_name=script
|func_footnote
|func_footnote
|func_desc
|func_desc
|return_text={{HoverLink|boolean|TRUE or FALSE}} that is [[TRUE]] if the script '''name''' is running.
|return_text=that is [[TRUE]] if the {{LSLP|script}} is running.
|spec
|spec
|caveats
|caveats
|constants
|constants
|examples
|examples=
<source lang="lsl2">
default
{
    touch_start(integer num_detected)
    {
        integer numberOfScripts = llGetInventoryNumber(INVENTORY_SCRIPT);
 
        integer index;
        do
        {
            string scriptName = llGetInventoryName(INVENTORY_SCRIPT, index);
            integer scriptState = llGetScriptState(scriptName);
 
        //  default value
            string output = "FALSE";
        //  else
            if (scriptState) output = "TRUE";
 
            // PUBLIC_CHANNEL has the integer value 0
            llSay(PUBLIC_CHANNEL,
                "Script named '" + scriptName + "' has current script state '" + output + "'.");
        }
        while (++index < numberOfScripts);
    }
}
</source>
|helpers
|helpers
|also_functions=
|also_functions=
Line 18: Line 44:
|also_articles
|also_articles
|notes
|notes
|history=*There was a time when [[llGetScriptState]] would return [[TRUE]] even if the script had encountered a {{LSLGC|Error|run-time error}}.
|history=*There was a time when [[llGetScriptState]] would return [[TRUE]] even if the script had encountered a {{LSLGC|Error|run-time error}}. This is no longer the case.
|sort=GetScriptState
|sort=GetScriptState
|cat1=Inventory
|cat1=Inventory

Revision as of 02:51, 22 January 2015

Summary

Function: integer llGetScriptState( string script );

Returns a boolean (an integer) that is TRUE if the script is running.

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

Caveats

  • If script is missing from the prim's inventory or it is not a script then an error is shouted on DEBUG_CHANNEL.
All Issues ~ Search JIRA for related Bugs

Examples

default
{
    touch_start(integer num_detected)
    {
        integer numberOfScripts = llGetInventoryNumber(INVENTORY_SCRIPT);

        integer index;
        do
        {
            string scriptName = llGetInventoryName(INVENTORY_SCRIPT, index);
            integer scriptState = llGetScriptState(scriptName);

        //  default value
            string output = "FALSE";
        //  else
            if (scriptState) output = "TRUE";

            // PUBLIC_CHANNEL has the integer value 0
            llSay(PUBLIC_CHANNEL,
                "Script named '" + scriptName + "' has current script state '" + output + "'.");
        }
        while (++index < numberOfScripts);
    }
}

See Also

Functions

•  llSetScriptState
•  llResetOtherScript

Deep Notes

History

Search JIRA for related Issues

Signature

function integer llGetScriptState( string script );