Jump to content

llStartAnimation targeted to a particular avatar?


khonsuu
 Share

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

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

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?

 

 

Link to comment
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.

Link to comment
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.)

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3480 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...