llGetAgentSize
Revision as of 13:34, 24 August 2009 by Liny Odell (talk | contribs) (Fixed example script containing a return value in the state_entry() event.)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
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 | – | avatar UUID that is in the same region |
ZERO_VECTOR is returned if id is not in the region or if it is not an avatar.
Examples
<lsl>//A simple script that makes a box hover above the owner's head. default {
state_entry() { key owner = llGetOwner(); vector pos = llList2Vector(llGetObjectDetails(owner, [OBJECT_POS]),0); vector agent = llGetAgentSize(owner); pos.z += 0.5 + agent.z / 2;//"pos" needs to be adjusted so it appears above the owner. if(agent)//makes sure it found the owner, a zero vector evaluates as false llSetPos(pos); } touch_start(integer num) { llResetScript(); }}</lsl>
Notes
- This function is a good way to quickly test...
- if an avatar is in the same region.
- if a UUID known to be in the region is an avatar.
To use this function to test either case use as follows <lsl>if(llGetAgentSize(uuid)) {
//uuid is an avatar in the region
} else {
//uuid is not an avatar in the region
}</lsl>
- The returned vector holds the size of the avatar's bounding box[1], of which only the height (z) varies. Width (x) and depth (y) are constant. (0.45m and 0.6m respectively).
See Also
Functions
• | llGetObjectDetails | |||
• | llGetBoundingBox | |||
• | llGetAgentInfo | |||
• | llRequestAgentData |