Difference between revisions of "LlDetectedName"

From Second Life Wiki
Jump to navigation Jump to search
m
m (changed comments)
Line 17: Line 17:
     touch_start(integer num_detected)
     touch_start(integer num_detected)
     {
     {
         key id = llDetectedKey(0);
         key   id   = llDetectedKey(0);
        string name = llDetectedName(0);// could use llKey2Name(id) here instead


        // legacy name, i.e. "John Doe" or if lastname Resident "John Resident"
//     name is the legacy name, i.e. "John Doe" or if lastname Resident "John Resident"
        string name = llDetectedName(0);


        // PUBLIC_CHANNEL has the integer value 0
         llSay(PUBLIC_CHANNEL,
         llSay(PUBLIC_CHANNEL,
             "The avatar with the key'" + (string)id + "' is named '" + name + "'.");
             "The avatar with the key'" + (string)id + "' is named '" + name + "'.");

Revision as of 07:10, 2 January 2014

Summary

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

Returns a string that is the name of the detected item.

• integer item Index of detection information

item does not support negative indexes. Returns NULL_KEY if item is not valid.
If the item detected is an avatar then the legacy name is returned.

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 item is out of bounds this function returns NULL_KEY and 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

<lsl> default {

   touch_start(integer num_detected)
   {
       key    id   = llDetectedKey(0);
       string name = llDetectedName(0);// could use llKey2Name(id) here instead

// name is the legacy name, i.e. "John Doe" or if lastname Resident "John Resident"

       llSay(PUBLIC_CHANNEL,
           "The avatar with the key'" + (string)id + "' is named '" + name + "'.");
   }

}

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