llDetectedGroup

From Second Life Wiki
Revision as of 09:22, 21 April 2008 by Catherine Pfeffer (talk | contribs) (No detection script should assume there's only one detected agent at a time)
Jump to navigation Jump to search

Summary

Function: integer llDetectedGroup( integer number );

Returns an integer that is a boolean representing if the detected object or avatar is in the same group that the prim containing the script is set to.

• integer number Index of detection information

number does not support negative indexes. Returns FALSE if number is out of range or if the detected event does not support this attribute.

Specification

llDetected* functions only work if called from within Detection events (collision, collision_start, collision_end, sensor, touch, touch_start, touch_end) or in functions called by Detection events. They will fail silently and return unusable values if called during other events.

Caveats

  • If number is out of bounds the script continues to execute without an error message.
  • Events that enable the llDetected* functions always return at least one detected item.
    • Detection events are not raised if there is nothing detected.[1]
    • The detection event's items detected parameter is initially never less than 1.[2]
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>//Gives inventory only to agents with the same active group default {

   touch_start(integer total_number)
   {
       integer number;
       for (number = 0; number < total_number; number++)
       {
           if (llDetectedGroup(number)) //same as llSameGroup(llDetectedKey(0)) (with llSameGroup, detected must be in the sim)
               llGiveInventory(llDetectedKey(number), llGetInventoryName(INVENTORY_OBJECT,0));
           else
               llSay(0, "Wrong active group!");
       }
   }
}</lsl>

See Also

Functions

•  llSameGroup

Articles

•  Detected

Deep Notes

Search JIRA for related Issues

Footnotes

  1. ^ The exception is no_sensor but it doesn't enable llDetected* functions.
  2. ^ Like all event parameters, the user can overwrite the initial value.

Signature

function integer llDetectedGroup( integer number );