llGetAnimationList
Revision as of 20:05, 1 May 2009 by Viktoria Dovgal (talk | contribs)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: list llGetAnimationList( key id );266 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a list of all playing animations for avatar described by the key id.
• key | id | – | avatar UUID that is in the same region |
Caveats
- There is no internal mechanism to get the name of the animations playing.
- Standard animations can be started and stopped by scripts, so the list returned may not accurately reflect the avatar's state. Use llGetAgentInfo and llGetAnimation when this matters.
Examples
This example is a bit involved but there aren't many applications for this function. <lsl>//Simple Animation Override for Walk key old_anim = "6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0"; string new_anim="yoga_float"; integer status; list check; key owner;
default {
state_entry() { owner = llGetOwner(); llRequestPermissions(owner, PERMISSION_TRIGGER_ANIMATION); check = [old_anim]; } run_time_permissions(integer p) { if(p & PERMISSION_TRIGGER_ANIMATION) { llSetTimerEvent(0.2); } }
timer() { if(llGetAgentInfo(owner) & AGENT_WALKING) { list anims = llGetAnimationList(owner); if(~llListFindList(anims, check)) { status = 1; llStartAnimation(new_anim); llStopAnimation(old_anim); } } else if(status) { llStopAnimation(new_anim); status = 0; } }
on_rez(integer p) { llResetScript(); }}</lsl>
See Also
Functions
• | llGetAgentInfo | – | Gets the avatar info | |
• | llGetAnimation | – | Get the avatar's base animation state | |
• | llStartAnimation | – | Start an animation on an avatar | |
• | llStopAnimation | – | Stop an animation playing on an avatar |