llGetAgentSize

From Second Life Wiki
Revision as of 05:49, 12 November 2007 by Mr Lovenkraft (talk | contribs) (Edited a few scripting errors)
Jump to navigation Jump to search

Summary

Function: vector llGetAgentSize( key id );
0.0 Forced Delay
10.0 Energy

Returns a vector that is the size of the requested avatar by id.

• key id

The agent id must be in the same region as the requesting object, ZERO_VECTOR is returned if not.

Examples

//A simple script that makes a box hover above the owner's head.
default {
    on_rez(integer i) {
        llSensor("", llGetOwner(), AGENT, PI, 96);
    }
    sensor(integer num) {
        vector where = llDetectedPos(0);
        vector agent = llGetAgentSize(llGetOwner())/2;
        size += agent.z + <0,0,.5>;
        llSetPos(where);
    }
    touch_start(integer num)
    {
        llResetScript();
    }
}


Corrected Code, Comments welcomed. --Mr Lovenkraft 05:49, 12 November 2007 (PST)

//This code was edited by Mr Lovenkraft for errors, comments are below.
vector size;
default 
{
    on_rez(integer i) 
    {
        llSensor("", llGetOwner(), AGENT, 96, PI); //I reversed the "96" and the "PI" because-
    }                                              //PI defines the Arc. and 96 Defines the meters.
    sensor(integer num)                            //Not the other way around.
    {
        vector where = llDetectedPos(0);
        vector agent = llGetAgentSize(llGetOwner())/2;
        size += agent + <0,0,.5>; //"size" Has to be defined in some way, I made it a Global
        llSetPos(where + size); //In order for "size" to effect this code it must be added in
    }                           //some way, which is why it says "llSetPos(where + size);"
    touch_start(integer num)
    {
        llResetScript();
    }
}

Notes

This is a good way to test if an av is in the same region.

See Also

Functions

•  llGetBoundingBox
•  llGetAgentInfo
•  llRequestAgentData

Deep Notes

Signature

function vector llGetAgentSize( key id );