Difference between revisions of "LlDetectedKey"

From Second Life Wiki
Jump to navigation Jump to search
m (No detection script should assume there's only one detected agent at a time)
m
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{LSL_Function/detected|number|key}}{{LSL_Function
{{LSL_Function
|inject-2={{LSL_Function/detected|number|key}}
|func_id=32|func_sleep=0.0|func_energy=10.0
|func_id=32|func_sleep=0.0|func_energy=10.0
|sort=DetectedKey|func=llDetectedKey
|sort=DetectedKey|func=llDetectedKey
|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 10: Line 11:
|caveats
|caveats
|constants
|constants
|examples=<lsl>default
|examples=
<source lang="lsl2">
default
{
{
     touch_start(integer total_number)
     touch_start(integer num_detected)
     {
     {
         integer number;
         llSay(0, "touch_start event: key of avatar touching: " + (string) llDetectedKey(0) );
 
        for (number = 0; number < total_number; number++)
              llOwnerSay("The key to who touched me is: " + (string) llDetectedKey(number));
     }
     }
}</lsl>
}
</source>
|helpers
|helpers
|also_functions
|also_functions
Line 26: Line 27:
|notes
|notes
|permission
|permission
|cat1
|cat1=Key
|cat2
|cat2
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 23:53, 21 January 2015

Summary

Function: key llDetectedKey( integer number );
0.0 Forced Delay
10.0 Energy

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]

Examples

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

See Also

Articles

•  Detected

Deep Notes

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