Jump to content

LlGetAnimationList

From OSgrid Wiki

Function: list llGetAnimationList( key id );

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.

Examples
This example is a bit involved but there aren't many applications for this function.

<source lang="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();
   }

} </source>


See Also
Functions
• llGetAgentInfo – Gets the avatar info
• llGetAnimation – Get an over simplified avatar info string
• llStartAnimation – Start an animation on an avatar
• llStopAnimation – Stop an animation playing on an avatar