Difference between revisions of "LlGetAgentInfo"

From Second Life Wiki
Jump to navigation Jump to search
m (bleh)
Line 35: Line 35:
{{!}}{{#var:comment}}
{{!}}{{#var:comment}}
{{!}}-
{{!}}-
{{!}}{{LSL Const|AGENT_CROUCHING|integer|hex=0x0400|1024|c=is crouching}}
{{!}}{{LSL Const|AGENT_CROUCHING|integer|hex=0x0400|1024|c=is crouching but not walking}}
{{!}}{{#var:value}}
{{!}}{{#var:value}}
{{!}}{{#var:comment}}
{{!}}{{#var:comment}}
Line 67: Line 67:
{{!}}{{#var:comment}}
{{!}}{{#var:comment}}
{{!}}-
{{!}}-
{{!}}{{LSL Const|AGENT_WALKING|integer|hex=0x0080|128|c=is walking}}
{{!}}{{LSL Const|AGENT_WALKING|integer|hex=0x0080|128|c=is walking or crouch walking}}
{{!}}{{#var:value}}
{{!}}{{#var:value}}
{{!}}{{#var:comment}}
{{!}}{{#var:comment}}

Revision as of 19:26, 1 May 2009

Summary

Function: integer llGetAgentInfo( key id );
0.0 Forced Delay
10.0 Energy

Returns an integer bitfield containing the agent information about id.

• key id avatar UUID that is in the same region

Constant Val Returned if agent...
AGENT_ALWAYS_RUN 0x1000 has running ("Always Run") enabled, or is using tap-tap-hold
AGENT_ATTACHMENTS 0x0002 has attachments
AGENT_AWAY 0x0040 is in "away" mode
AGENT_BUSY 0x0800 is in "busy" mode
AGENT_CROUCHING 0x0400 is crouching but not walking
AGENT_FLYING 0x0001 is flying or hovering
AGENT_IN_AIR 0x0100 is in the air (jumping/flying)
AGENT_MOUSELOOK 0x0008 is in mouselook
AGENT_ON_OBJECT 0x0020 is sitting on an object
AGENT_SCRIPTED 0x0004 has scripted attachments
AGENT_SITTING 0x0010 is sitting
AGENT_TYPING 0x0200 is typing
AGENT_WALKING 0x0080 is walking or crouch walking

Caveats

  • AGENT_BUSY indicates that the "busy" internal animation is playing, even if the user is not truly in busy mode.
  • AGENT_TYPING indicates that the "typing" internal animation is playing, it will not be set if the user disables PlayTypingAnim.
  • This function does not return reliable information immediately after a border crossing. Use llGetAnimation instead, if you can. SVC-3177
  • This function does not report if an avatar is both crouching and walking, use llGetAnimation to check for that combination.

Examples

<lsl> default {

   touch_start(integer buf)
   {
       buf = llGetAgentInfo(llDetectedKey(0));
       string out;
       if(buf & AGENT_FLYING)
           out += "The agent is flying.\n";
       else
           out += "The agent is not flying.\n";
       
       if(buf & AGENT_ATTACHMENTS)
       {
           if(buf & AGENT_SCRIPTED)
               out += "The agent has scripted attachments.\n";
           else
               out += "The agent's attachments are unscripted.\n";
       }
       else
           out += "The agent does not have attachments.\n";
       
       if(buf & AGENT_MOUSELOOK)
           out += "the agent is in mouselook.";
       else
           out += "the agent is in normal camera mode.";
       llWhisper(0, out);
   }

}

</lsl>

Notes

This is not a good way of testing if an avatar is in the region, use llGetAgentSize instead.

See Also

Deep Notes

Tests

•  llGetAgentInfo_Test

Signature

function integer llGetAgentInfo( key id );