Jump to content

llSetAnimationOverride


LissomePrey
 Share

You are about to reply to a thread that has been inactive for 3332 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I'm clearly doing something stupid but can't work out what.

I have two objects, one rezzed by the other, both of which can be sat on and both of which will override the sitting animation with their own animations, which may be changed again by the script, i.e. bothe objects are likely to be issuing llSetAnimationOverride commands on a regular basis.

My problem is that the avatar sitting on the second object is changing their animation in response to commands from the script in the first object and performing animations not even contained in the object they are sitting on.

Link to comment
Share on other sites

Sitting on an object is only relevant to triggering the CHANGED_LINK event and tacitly granting some permissions when the script asks for them. Standing from an object does not remove those already-granted permissions, so the script can continue to llSetAnimationOverride on an avatar even after they're sitting somewhere else.

(Maybe your problem is different from this, but without seeing the code, it's my best guess at what might be wrong.)

Link to comment
Share on other sites

It may help to remember to use llResetAnimationOverride("ALL")  when you no longer need the changed defaults.  It's also kind to the person who sits on your object and probably wants his defaults back again when he leaves. Setting an animation override is not like getting other permissions.  Once you have received PERMISSION_OVERRIDE_ANIMATIONS, the permission is permanent until revoked deliberately or until the person relogs.

Link to comment
Share on other sites

Thanks, that could be it Qie. I probably edited the table without going thrrough the reset so it would still apply.

Will check it out.

Out of interest could an object animate a large number of avatars via that route or would another sitting on the object clear the override on the previous one?

Link to comment
Share on other sites

That really is an unusual permission.  When you activate it, you are not animating the av.  You are changing one or more of its default anims so that, for example, if your script has received PERMISSION_OVERRIDE_ANIMATIONS,

llSetAnimationOverride("walking", "Silly_walk");

substitutes the animation "Silly_walk" for SL's internal "walking" animation.  The animation itself isn't activated until the person walks.  Once your script has that permission, the change from "walking" to "Silly_walk" is permanent, even if the person leaves your region.  If a second person comes along and triggers your script, it will ask permission from that person but will not undo the change that you made to the first person's walking anim.  So yes, you could override the anim for a whole team of people, one after another, and the changes would all stick -- until they log out again or until they each run into another scripted device that asks permission and changes the deafult again.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3332 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...