Jump to content
Sign in to follow this  
khonsuu

llStartAnimation targeted to a particular avatar?

Recommended Posts

When llStartAnimation() is called within the event block   run_time_permissions() {}   it's obvious that the (single) script has gained animation permissions on the single avie (the avie who gave permission). 

 

But it's obvious from its syntax, that  llStartAnimation()  does not have a parameter to target it to a particular avatar. There is no arguments for UUID's, no arguments for avie keys,  no arguments for avie names, no arguments for child prim link numbers,  no nothing. The only parameter it takes is the name of the pose/animation.  That's it. 

 

This raises a question about how the numerous dance balls in second life actually cause a particular avatar to dance a particular animation.      The function in its syntax does not allow any specification of who  should "star animation". 

 

Secondarily,  the numerous dance balls in clubs also correctly stop the animating and posing of a particular avatar.  Presumably this is done by identifying the "last avatar who clicked stop".  Except after such avie-key is obtained, what in the world does the script do with that?  There is no parameter in llStopAnimation()  which specifies an avatar!!    Presumably  simply calling  llStopAnimation()  would cause all dancers to suddenly stop, not just one. 

 

Your thoughts?

 

 

Share this post


Link to post
Share on other sites

if you have several avatars all sitting on the same object, the script can silently switch between avatars, because the permission prompt does not appear in that case.

for situations like a dance machine, or the older furniture pose ball systems, there will be a bunch of helper scripts inside, each holding permissions for one of the avatars. you can usually guess which these will be, because they have to prompt you for animate permission.

Share this post


Link to post
Share on other sites

Right. It's not entirely explicit in that response, so in case there's still confusion: llStart- and llStopAnimation() operate on whichever agent for which the script currently has permissions -- that is, the same agent whose key would be returned by llGetPermissionsKey().

With Experience Permissions (now in beta), it's easy for a single script to swap its permissions to any agent in the Experience, without having to explicitly ask the agent. That's kinda similar to the way permissions can be swapped among all the agents seated on the same scripted object. (The slightly disturbing part, however, is that Experience Permissions are all-or-nothing, so the list initially requested is pretty scary looking.)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...