Difference between revisions of "LlStopAnimation"

From Second Life Wiki
Jump to navigation Jump to search
m
m (Replaced old <LSL> block with <source lang="lsl2">)
 
(One intermediate revision by one other user not shown)
Line 9: Line 9:
|spec
|spec
|caveats=
|caveats=
* If the animation stopped is the only playing animation (as found via [[llGetAnimationList]]), it will continue to play to it's end (if looped it will continue indefinitely)
* 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.
** 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.
|constants
|constants
|notes=
|notes=
<lsl>
<source lang="lsl2">
llStopAnimation("sit")
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 12: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 );