OsAvatarStopAnimation
From OpenSimulator
(Difference between revisions)
m (Added permissions and delay information) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
|permissions=false | |permissions=false | ||
|delay=0 | |delay=0 | ||
− | |function_syntax= | + | |function_syntax= osAvatarStopAnimation(key avatar, string animation) |
+ | |description=This function stops the specified animation if it is playing on the avatar given. | ||
+ | The value avatar is a UUID, and the animation value is either the name of an animation in the task inventory or the UUID of an animation.<br> | ||
+ | If the specified avatar is not logged in or on the same sim as the script, then osAvatarStopAnimation silently fails. | ||
|ossl_example=<source lang="lsl"> | |ossl_example=<source lang="lsl"> | ||
// ---------------------------------------------------------------- | // ---------------------------------------------------------------- | ||
Line 25: | Line 28: | ||
state_entry() | state_entry() | ||
{ | { | ||
+ | // Display a message prompting users to touch the object to stop the animation | ||
llSay(0, "Touch to have Avatar STOP using the contained animation with osAvatarStopAnimation "); | llSay(0, "Touch to have Avatar STOP using the contained animation with osAvatarStopAnimation "); | ||
} | } | ||
− | + | ||
touch_end(integer num) | touch_end(integer num) | ||
{ | { | ||
+ | // Get the name of the animation from the prim's inventory | ||
string anim = llGetInventoryName(INVENTORY_ANIMATION, 0); | string anim = llGetInventoryName(INVENTORY_ANIMATION, 0); | ||
− | if(anim == "") | + | |
+ | // Check if the animation exists | ||
+ | if (anim == "") | ||
{ | { | ||
llOwnerSay("ERROR: Animation Missing. Please drop an animation in the prim with this script"); | llOwnerSay("ERROR: Animation Missing. Please drop an animation in the prim with this script"); | ||
Line 38: | Line 45: | ||
else | else | ||
{ | { | ||
− | llOwnerSay("Now Playing "+anim+" animation"); | + | // Display a message indicating the animation that is being stopped |
+ | llOwnerSay("Now Playing " + anim + " animation"); | ||
+ | |||
+ | // Stop the specified animation on the avatar who touched the object | ||
osAvatarStopAnimation(llDetectedKey(0), anim); | osAvatarStopAnimation(llDetectedKey(0), anim); | ||
} | } | ||
Line 44: | Line 54: | ||
} | } | ||
</source> | </source> | ||
− | | | + | |additional_info= |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
}} | }} | ||
+ | == See Also == | ||
+ | * [[osAvatarPlayAnimation]] | ||
+ | * [[osAvatarStopAnimation]] | ||
+ | * [[OSSL_Script_Library/OSSL_Poseball|OSSL_Poseball script]] |
Latest revision as of 01:01, 7 March 2024
osAvatarStopAnimation(key avatar, string animation)
| |
This function stops the specified animation if it is playing on the avatar given.
The value avatar is a UUID, and the animation value is either the name of an animation in the task inventory or the UUID of an animation. | |
Threat Level | VeryHigh |
Permissions | Use of this function is always disabled by default |
Extra Delay | 0 seconds |
Example(s) | |
// ---------------------------------------------------------------- // Example / Sample Script to show function use. // // Script Title: osAvatarStopAnimation.lsl // Script Author: WhiteStar Magic // Threat Level: VeryHigh // Script Source: // // Notes: See Script Source reference for more detailed information // This sample is full opensource and available to use as you see fit and desire. // Threat Levels only apply to OSSL & AA Functions //================================================================ // Inworld Script Line: osAvatarStopAnimation(key targetuuid, string anim); // // NOTE: anim can be the Name (if contained in prim) or UUID of the animation // default { state_entry() { // Display a message prompting users to touch the object to stop the animation llSay(0, "Touch to have Avatar STOP using the contained animation with osAvatarStopAnimation "); } touch_end(integer num) { // Get the name of the animation from the prim's inventory string anim = llGetInventoryName(INVENTORY_ANIMATION, 0); // Check if the animation exists if (anim == "") { llOwnerSay("ERROR: Animation Missing. Please drop an animation in the prim with this script"); return; } else { // Display a message indicating the animation that is being stopped llOwnerSay("Now Playing " + anim + " animation"); // Stop the specified animation on the avatar who touched the object osAvatarStopAnimation(llDetectedKey(0), anim); } } } |
[edit] See Also
- osAvatarPlayAnimation
- osAvatarStopAnimation
- OSSL_Poseball script