LlDetectedPos

From Second Life Wiki

Jump to: navigation, search

Contents

Summary

Function: vector llDetectedPos( integer number );
35 Function ID
0.0 Delay
10.0 Energy

Returns a vector that is the position (in region coordinates) of detected object number.

• integer number Index of detection information

number does not support negative indexes. Returns <0.0, 0.0, 0.0> 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 this function returns <0.0, 0.0, 0.0> 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]
All Issues ~ Search JIRA for related Bugs

Examples

//--// get sim position of Avatars in "say" range //--//
 
//-- @@ = Contains code optimizations, see the following page for details
//-- https://wiki.secondlife.com/wiki/User:Void_Singer/Optimizations
 
default
{
  state_entry()
  {
    llOwnerSay( "Touch me to get the positions of avatars in 'Say' range" );
  }
 
  touch_start( integer vIntTouchCount )
  {
     //-- trigger the sensor for avatars within 20m
    llSensor( "", "", AGENT, 20, PI );
  }
 
  sensor( integer vIntFound )
  {
    integer vIntCounter = 0;
     //-- loop through all avatars found
    do
    {
      llOwnerSay( llDetectedName( vIntCounter )
                  + " @ "
                   //-- the next line gets the position of each found avatar
                  + (string)llDetectedPos( vIntCounter ) );
    }while (++vIntCounter < vIntFound); //-- @@
  }
 
   //-- sensor does not detect owner if it's attached
  no_sensor()
  {
    llOwnerSay( "I couldn't find anybody" );
  }
}

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.
This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.
Personal tools
In other languages