llDetectedVel

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Summary

Function: vector llDetectedVel( integer number );

Returns the vector velocity of detected object or avatar 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 or avatar.

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]

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   Velocity is reduced to maximum of 200.0m/s on instant of collision and llDetectedVel reports this incorrect value.

Examples

//Tells the name and velocity of all near-by avatars.
default 
{
    state_entry() 
    {
        // Scan once for avatars within a 96 metre radius sphere
        llSensor("", "", AGENT, 96, PI);
    }
    sensor(integer num) 
    {
        // num will initially be 1 or more. When num is 1, the index of the detected avatar will be zero       
        while(num--) 
        {
            llOwnerSay(llDetectedName(num) + " is moving at " + (string)llVecMag(llDetectedVel(num)) + " m/s.");
        }
    }
}

See Also

Articles

•  Detected

Deep Notes

All Issues

~ Search JIRA for related Issues
   Velocity is reduced to maximum of 200.0m/s on instant of collision and llDetectedVel reports this incorrect value.

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