Difference between revisions of "LlDetectedKey"

From Second Life Wiki
Jump to navigation Jump to search
m
(Removed touch() event from the example script as this added nothing relevant, but rather diverted attention from the subject of this page)
Line 5: Line 5:
|return_type=key
|return_type=key
|p1_type=integer|p1_name=number
|p1_type=integer|p1_name=number
|func_footnote=Returns an {{HoverText|empty key|{{String}}}} if '''number''' is not valid sensed object or avatar.
|func_footnote=Returns an {{HoverText|empty key|{{String}}}} if '''number''' does not correspond to a valid sensed object or avatar.
|func_desc
|func_desc
|return_text=that is the [[UUID]] of the {{LSLGC|Detected|detected}} object or avatar '''number'''.
|return_text=that is the [[UUID]] of the {{LSLGC|Detected|detected}} object or avatar '''number'''.
Line 17: Line 17:
     touch_start(integer num_detected)
     touch_start(integer num_detected)
     {
     {
        // PUBLIC_CHANNEL has the integer value 0
         llSay(0, "touch_start event: key of avatar touching: " + (string) llDetectedKey(0) );
         llSay(PUBLIC_CHANNEL, "touch_start event: key of avatar touching: " + (string) llDetectedKey(0));
    }
 
    // this event is trigger WHILE clicking and holding, between touch_start and touch_end
    touch(integer num_detected)
    {
        integer index;// default is 0
 
        do
        {
            // PUBLIC_CHANNEL has the integer value 0
            llSay(PUBLIC_CHANNEL,
                "touch event: key of avatar touching: " + (string)llDetectedKey(index));
        }
        while (++index < num_detected);
     }
     }
}
}

Revision as of 04:57, 26 December 2012

Summary

Function: key llDetectedKey( integer number );

Returns a key that is the UUID of the detected object or avatar number.

• integer number Index of detection information

number does not support negative indexes. Returns an empty key if number does not correspond to a valid sensed object or avatar.

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> default {

   touch_start(integer num_detected)
   {
       llSay(0, "touch_start event: key of avatar touching: " + (string) llDetectedKey(0) );
   }

}

</lsl>

See Also

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 key llDetectedKey( integer number );