Difference between revisions of "LlDetectedName"

From Second Life Wiki
Jump to navigation Jump to search
m
m (No detection script should assume there's only one detected agent at a time)
Line 15: Line 15:
     touch_start(integer num)
     touch_start(integer num)
     {
     {
         llSay(0, llDetectedName(0) + "'s key is " + (string)llDetectedKey(0));
         integer i;
 
        for (i = 0; i < num; i++)
            llSay(0, llDetectedName(i) + "'s key is " + (string) llDetectedKey(i));
     }
     }
}
}

Revision as of 10:05, 22 April 2008

Summary

Function: string llDetectedName( integer number );
0.0 Forced Delay
10.0 Energy

Returns a string that is the name of detected object or avatar number

• integer number Index of detection information

number does not support negative indexes. Returns an empty string if number is not with in range.

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]empty string might mean NULL_KEY in this case...

Examples

<lsl> default {

   touch_start(integer num)
   {
       integer i;
       for (i = 0; i < num; i++)
           llSay(0, llDetectedName(i) + "'s key is " + (string) llDetectedKey(i));
   }

}

</lsl>

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 string llDetectedName( integer number );