Difference between revisions of "LlDetectedOwner"

From Second Life Wiki
Jump to navigation Jump to search
(No detection script should assume there's only one detected agent at a time)
m
Line 15: Line 15:
     collision_start(integer n)
     collision_start(integer n)
     {
     {
         integer i;
         integer i = 0;
 
         do
         for (i = 0; i < n; i++)
             llSay(0, "\"" + llDetectedName(i) + "\" (" + (string)llDetectedKey(i) +
             llSay(0, "\"" + llDetectedName(i) + "\" (" + (string)llDetectedKey(i) +
                 ") collided with me, it is owned by " + (string) llDetectedOwner(i));
                 ") collided with me, it is owned by " + (string) llDetectedOwner(i));
        while(n > ++i);
     }
     }
}
}

Revision as of 17:21, 27 April 2008

Summary

Function: key llDetectedOwner( integer number );

Returns a key that is the UUID of the owner of the object.

• integer number Index of detection information

number does not support negative indexes. Returns an empty key if number is not valid sensed object

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 {

   collision_start(integer n)
   {
       integer i = 0;
       do
           llSay(0, "\"" + llDetectedName(i) + "\" (" + (string)llDetectedKey(i) +
                ") collided with me, it is owned by " + (string) llDetectedOwner(i));
       while(n > ++i);
   }

}

</lsl>

See Also

Functions

•  llGetOwnerKey llGetOwnerKey(llDetectedKey(number)) is the same as llDetectedOwner(number) only if the detected object is in the same region.
•  llGetOwner

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