Difference between revisions of "LlGetScriptState"

From Second Life Wiki
Jump to navigation Jump to search
(added example)
m
Line 15: Line 15:
     touch_start(integer num_detected)
     touch_start(integer num_detected)
     {
     {
         integer index = llGetInventoryNumber(INVENTORY_SCRIPT);
         integer numberOfScripts = llGetInventoryNumber(INVENTORY_SCRIPT);


         // start with (total - 1) and end with 0
         integer index;
         while (--index)
         do
         {
         {
             string scriptName = llGetInventoryName(INVENTORY_SCRIPT, index);
             string scriptName = llGetInventoryName(INVENTORY_SCRIPT, index);
             integer scriptState = llGetScriptState(scriptName);
             integer scriptState = llGetScriptState(scriptName);


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


Line 30: Line 32:
                 "Script named '" + scriptName + "' has current script state '" + output + "'.");
                 "Script named '" + scriptName + "' has current script state '" + output + "'.");
         }
         }
        while (++index < numberOfScripts);
     }
     }
}
}

Revision as of 07:21, 2 December 2012

Summary

Function: integer llGetScriptState( string script );

Returns an integer boolean 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

<lsl> 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);
   }

}

</lsl>

See Also

Functions

•  llSetScriptState
•  llResetOtherScript

Deep Notes

History

Search JIRA for related Issues

Signature

function integer llGetScriptState( string script );