Difference between revisions of "LlStopAnimation"

From Second Life Wiki
Jump to: navigation, search
m (Copyedit)
m (Replaced old <LSL> block with <source lang="lsl2">)
 
Line 13: Line 13:
 
|constants
 
|constants
 
|notes=
 
|notes=
<lsl>
+
<source lang="lsl2">
 
llStopAnimation(llGetAnimationOverride("Sitting"))
 
llStopAnimation(llGetAnimationOverride("Sitting"))
</lsl>
+
</source>
 
|examples=
 
|examples=
<lsl>
+
<source lang="lsl2">
 
default
 
default
 
{
 
{
Line 39: Line 39:
 
     }
 
     }
 
}
 
}
</lsl>
+
</source>
 
|helpers
 
|helpers
 
|also_functions={{LSL DefineRow||[[llGetAnimationList]]|Gets a list of playing animations}}
 
|also_functions={{LSL DefineRow||[[llGetAnimationList]]|Gets a list of playing animations}}

Latest revision as of 11:44, 22 January 2015

Summary

Function: llStopAnimation( string anim );

Stop animation anim for agent that granted PERMISSION_TRIGGER_ANIMATION if the permission has not been revoked.

• string anim an animation in the inventory of the prim this script is in or a UUID of an animation or built in animation name

To run this function the script must request the PERMISSION_TRIGGER_ANIMATION permission with llRequestPermissions.

Caveats

Permissions
  • If anim is missing from the prim's inventory and it is not a UUID or it is not an animation then an error is shouted on DEBUG_CHANNEL.
  • If anim is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
  • If the animation to be stopped is the only playing animation (as found via llGetAnimationList), it will continue to play to its end (if looped it will continue indefinitely)
    • if you must stop a looped animation, playing a single frame non-looped one immediately after stopping it, at low priority, will clear the list.

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   llStopAnimation("prejump") freezes avatar

Examples

default
{
    touch_start(integer detected)
    {
        llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
    }
    run_time_permissions(integer perm)
    {
        if (perm & PERMISSION_TRIGGER_ANIMATION)
        {
            llStartAnimation("sit");
            llOwnerSay("animation will end in 5 seconds");
            llSetTimerEvent(5.0);
        }
    }
    timer()
    {
        llSetTimerEvent(0.0);
        llStopAnimation("sit");
    }
}

Notes

llStopAnimation(llGetAnimationOverride("Sitting"))

See Also

Events

•  run_time_permissions Permission receiving event

Functions

•  llGetPermissions Get the permissions granted
•  llGetPermissionsKey Get the agent who granted permissions
•  llRequestPermissions Request permissions
•  llGetAnimationList Gets a list of playing animations
•  llStartAnimation Starts playing an animation

Articles

•  Script permissions

Deep Notes

All Issues

~ Search JIRA for related Issues
   llStopAnimation("prejump") freezes avatar

Signature

function void llStopAnimation( string anim );