Difference between revisions of "LlDetectedPos"

From Second Life Wiki
Jump to navigation Jump to search
m (optimized my previous example anf added link to descriptions thereof)
Line 14: Line 14:
//--// get sim position of Avatars in "say" range //--//
//--// get sim position of Avatars in "say" range //--//


default{
//-- @@ = Contains code optimizations, see the following page for details
   state_entry(){
//-- wiki.secondlife.com/wiki/User_talk:Void_Singer#Coding_Practices_Part_2_.28optimizations.29
 
default
{
   state_entry()
  {
     llOwnerSay( "Touch me to get the positions of avatars in 'Say' range" );
     llOwnerSay( "Touch me to get the positions of avatars in 'Say' range" );
   }
   }


   touch_start( integer vIntTouchCount ){
   touch_start( integer vIntTouchCount )
  {
     //-- trigger the sensor for avatars within 20m
     //-- trigger the sensor for avatars within 20m
     llSensor( "", "", AGENT, 20, PI );
     llSensor( "", "", AGENT, 20, PI );
   }
   }


   sensor( integer vIntFound ){
   sensor( integer vIntFound )
  {
     integer vIntCounter = 0;
     integer vIntCounter = 0;
     //-- loop through all avatars found
     //-- loop through all avatars found
     do{
     do
    {
       llOwnerSay( llDetectedName( vIntCounter )
       llOwnerSay( llDetectedName( vIntCounter )
                   + " @ "
                   + " @ "
                   //-- the next line gets the position of each found avatar
                   //-- the next line gets the position of each found avatar
                   + (string)llDetectedPos( vIntCounter ) );
                   + (string)llDetectedPos( vIntCounter ) );
     }while (++vIntCounter < vIntFound);
     }while (++vIntCounter < vIntFound); //-- @@
   }
   }


   //-- sensor does not detect owner if it's attached
   //-- sensor does not detect owner if it's attached
   no_sensor(){
   no_sensor()
  {
     llOwnerSay( "I couldn't find anybody" );
     llOwnerSay( "I couldn't find anybody" );
   }
   }

Revision as of 23:01, 16 October 2007

Summary

Function: vector llDetectedPos( integer number );

Returns a vector that is the position of detected object number.

• integer number

number does not support negative indexes. Returns <0.0, 0.0, 0.0> if number is not valid sensed object.

Caveats

  • If number is out of bounds the script continues to execute without an error message.
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
//-- wiki.secondlife.com/wiki/User_talk:Void_Singer#Coding_Practices_Part_2_.28optimizations.29

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

Signature

function vector llDetectedPos( integer number );