Mollymews Posted January 2, 2020 Share Posted January 2, 2020 i put this together as a quick response to a perennial problem with granting animation permissions to a script owned by another person, who then trolls us by not releasing our permissions from their script, enabling them to play animations on us at will we can't revoke permissions granted to another person's script but we can control what animations do play on our avatar this script helps us to mute (stop) animations we do not want to play on us drop this script into a prim and wear it as a HUD. Touch to bring up a menu dialog the dialog List button will dump to chat the uuids (keys) of the animations currently playing on us. From this we can determine which animations we suspect. Copy paste the suspect uuid into list 'suspects' and reset the script when dialog Mute button is toggled ON then it will stop the suspect animations on a fast timer. When toggled OFF then the timer is stopped and any animations in the suspect list will not be stopped should they play the purpose here is to frustrate our troll by breaking their animation control over our avatar. Breaking their trolling behaviour is even sweeter when they paid money to buy their troll script list suspects = [ "uuid (key) of an animation we want to stop playing on us", "another uuid", "and another and so on" // "b1c1ef33-3914-d2fb-8c89-fbd346a48e07" example ]; integer chan = -161616; // change channel to whichever integer hnd; integer mute; default { state_entry() { hnd = llListen(chan, "", llGetOwner(), ""); llListenControl(hnd, FALSE); llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); } attach(key id) { if (id) llResetScript(); } touch_start(integer total_number) { llListenControl(hnd, TRUE); llDialog(llGetOwner(), "Mute is currently " + llList2String(["OFF", "ON"], mute) + "\nMute - toggle to mute (stop) suspect animations" + "\nList - dump uuids (keys) of playing animations to chat", ["Mute", "List"], chan); } listen(integer channel, string name, key id, string text) { llListenControl(hnd, FALSE); if (text == "Mute") { if (llGetListLength(suspects)) { mute = !mute; llSetTimerEvent(0.2 * (float)mute); } } else if (text == "List") { llOwnerSay("*** Playing Animations ***"); list anims = llGetAnimationList(llGetOwner()); integer len = llGetListLength(anims); integer i; for (i = 0; i < len; i++) llOwnerSay(llList2String(anims, i)); } } run_time_permissions(integer perms) { if (perms) { mute = llGetListLength(suspects) > 0; llSetTimerEvent(0.2 * (float)mute); } } timer() { list anims = llGetAnimationList(llGetOwner()); integer len = llGetListLength(anims); integer i; for (i = 0; i < len; i++) { string anim = llList2String(anims, i); if (~llListFindList(suspects, [anim])) llStopAnimation((key)anim); } } } 8 Link to comment Share on other sites More sharing options...
sandi Mexicola Posted January 3, 2020 Share Posted January 3, 2020 Thank you. I am definitely going to take a look at this. Does not FS' "Stop animations and revoke permissions" work to accomplish the same goal though? 1 Link to comment Share on other sites More sharing options...
Mollymews Posted January 3, 2020 Author Share Posted January 3, 2020 25 minutes ago, sandi Mexicola said: Does not FS' "Stop animations and revoke permissions" work to accomplish the same goal though? when the script is in a HUD that the troll is wearing then No there are legit uses for HUDs that request this permission. Dance huds, huggers,, etc. And people who do invite us on to these huds do release us. Most of the well scripted ones do release automatically when the agent being animated is: no longer on the region, requests to be removed (stopped), etc the troll HUD script doesn't release the permission. Which means the troll can at anytime play any animation in the HUD on the agent on the region for which it has permission. No matter when previously that permission was given a discussion from back in the day about this is here, and a bit about how FS does do revoke for a scripted object on the region 1 1 Link to comment Share on other sites More sharing options...
Icswcshadow Posted January 4, 2020 Share Posted January 4, 2020 Hey I just had the person who is abusing that on my avatar appear again and now tried using your script. Unfortunately it doesn't prevent deformation animations so people have to use reset skeleton on me. If it possible to make it so it play an undeform animation right after like the old undeform scripts? It's not ideal and doesn't always work from my experience but it would be better than this mess Link to comment Share on other sites More sharing options...
sandi Mexicola Posted January 4, 2020 Share Posted January 4, 2020 You're not running Firestorm by any chance? Link to comment Share on other sites More sharing options...
Wulfie Reanimator Posted January 4, 2020 Share Posted January 4, 2020 (edited) 20 hours ago, sandi Mexicola said: Does not FS' "Stop animations and revoke permissions" work to accomplish the same goal though? The "revoke permissions" part doesn't work, at least as far as I've tested it. I think it's intended for objects you would sit on? (That part I haven't tested.) For example, if my alt has an attachment that asks permission to animate me and I allow it... There's no way I can revoke permissions from that attachment. After selecting the option to stop & revoke, my alt can just restart the animation and it won't ask for permission. Edit: 20 minutes ago, sandi Mexicola said: You're not running Firestorm by any chance? Also, "reset skeleton" is a viewer-side thing. It won't reset your skeleton for other people. Edited January 4, 2020 by Wulfie Reanimator 1 Link to comment Share on other sites More sharing options...
sandi Mexicola Posted January 4, 2020 Share Posted January 4, 2020 Thank you for the information! I had no idea this was still a problem. What does "revoke permissions" in FS do then, anything? Link to comment Share on other sites More sharing options...
Mollymews Posted January 4, 2020 Author Share Posted January 4, 2020 (edited) 4 hours ago, sandi Mexicola said: Thank you for the information! I had no idea this was still a problem. What does "revoke permissions" in FS do then, anything? i am not much into viewer development so I don't exactly know how the FS team actually implemented this. But what I do know/guess is that it has to do with implied permissions which are granted when we sit on an object by Linden design, all viewers don't pop up the permissions dialog asking us to accept when we sit on an object. Sitting on an object implies permission and the viewer automagically sends the accept message when we stand, again by Linden design in the more recent Linden viewer releases, then any script permissions that were granted by implication (by sitting) are also revoked by implication (by standing) my understanding is that FS surfaces this design factor as a user configurable viewer option (which the Linden viewer doesn't) to see what this script I posted is about, then log in an alt/friend who has a dance hud. Then log in your ownself on FS. Have the alt/friend invite you on to their dance hud. Then in FS open the Animation Explorer. You will see that the your alt/friend dance animation, even tho is playing on your avatar, is not listed in the Animation Explorer and can't be muted/stopped it maybe that a FS developer might read this one day and think hmmm! and add something like what this script does into the FS viewer itself. Basically an Animation Blacklist worked thru the FS LSL Bridge edit ps i put this script here because a person asked again in Answers sub-form a few days ago, how they could stop this happening on their avatar, having been caught (social engineered) into having this happen to them Edited January 4, 2020 by Mollymews Link to comment Share on other sites More sharing options...
sandi Mexicola Posted January 4, 2020 Share Posted January 4, 2020 thank u for all that info, i will definitely check this out! 1 Link to comment Share on other sites More sharing options...
Mollymews Posted January 4, 2020 Author Share Posted January 4, 2020 (edited) 6 hours ago, Icswcshadow said: Hey I just had the person who is abusing that on my avatar appear again and now tried using your script. Unfortunately it doesn't prevent deformation animations so people have to use reset skeleton on me. If it possible to make it so it play an undeform animation right after like the old undeform scripts? to mod the script to play an undeformer animation then in the timer event where we stop the suspect animation add the extra lines below: string anim = llList2String(anims, i); if (~llListFindList(suspects, [anim])) { llStopAnimation((key)anim); string undeformer = llGetInventoryName(INVENTORY_ANIMATION, 0); // undeformer is the animation, of our choice, in our HUD contents // that will restore our avatar to its normal state // whatever undeformed state that may be for our // particular avatar llStartAnimation(undeformer); } edit add: for completeness and efficiency. Because we know the name of our undeformer animation we don't need to call the llGetInventoryName() function. We can type our undeformer animation name directly into llStartAnimation() llStopAnimation((key)anim); llStartAnimation("the name of our undeformer animation"); Edited January 4, 2020 by Mollymews oops typo 2 1 Link to comment Share on other sites More sharing options...
Ivanova Shostakovich Posted January 11, 2020 Share Posted January 11, 2020 I think it's so nice of the trolls to point out these system shortcomings as that may make LL able to do something about them, like actually allowing us an ability to revoke all permissions we have given, anywhere. Are there any old, dusty JIRAs having to do with this? Link to comment Share on other sites More sharing options...
Wulfie Reanimator Posted January 11, 2020 Share Posted January 11, 2020 3 minutes ago, Ivanova Shostakovich said: I think it's so nice of the trolls to point out these system shortcomings as that may make LL able to do something about them, like actually allowing us an ability to revoke all permissions we have given, anywhere. Are there any old, dusty JIRAs having to do with this? If there was/is, it would almost definitely be turned down. Imagine a scenario where a script gains permission and is then moved to another sim from the avatar. The avatar then requests to revoke permissions from "any scripts." Now, the sim the avatar is on needs to process that request and pass it to all other sims/assets that may or may not be in-world, and revoke whatever permissions they have. I can't imagine what LL would even begin to fix before that can be implemented. 1 Link to comment Share on other sites More sharing options...
Ardy Lay Posted January 11, 2020 Share Posted January 11, 2020 Permission to affect an agent being stored with the script and not the agent is a SEVERE design flaw. This was just as monumentally stupid as originally having inventory permission and grid access level checking done by the viewer instead of the service software. 1 Link to comment Share on other sites More sharing options...
Whirly Fizzle Posted January 12, 2020 Share Posted January 12, 2020 17 hours ago, Ivanova Shostakovich said: Are there any old, dusty JIRAs having to do with this? VWR-13228 - Object can obtain and retain permissions indefinitely without avatar's knowledge and no way of knowing who took it - possible security issue 3 Link to comment Share on other sites More sharing options...
Pussycat Catnap Posted January 17, 2020 Share Posted January 17, 2020 (edited) On 1/11/2020 at 2:21 PM, Ardy Lay said: Permission to affect an agent being stored with the script and not the agent is a SEVERE design flaw. This was just as monumentally stupid as originally having inventory permission and grid access level checking done by the viewer instead of the service software. In any other online service this would be fixed by changing that back to the agent no matter how much old content it impacted. You do it, and then things just have to go get permissions again. Better to take the hit once, than have an ongoing exploit problem. Because SL is such an old MMO, it has this culture of 'don't break anything' - all the MMOs that came after it have learned that it's better to break broken things so you can put in fixes, take a short term smack in the face so you can actually stand up... Edited January 17, 2020 by Pussycat Catnap Link to comment Share on other sites More sharing options...
sandi Mexicola Posted January 18, 2020 Share Posted January 18, 2020 I agree. We should bite the bullet now and fix this. Link to comment Share on other sites More sharing options...
beyzaayan77 Posted January 21, 2020 Share Posted January 21, 2020 selam türkmüsünüz hello ı from turkey 1 Link to comment Share on other sites More sharing options...
Mollymews Posted January 21, 2020 Author Share Posted January 21, 2020 1 hour ago, beyzaayan77 said: selam türkmüsünüz hello ı from turkey kia ora, no Aotearoa ahau (hello I am from New Zealand) Link to comment Share on other sites More sharing options...
Alana Eberhardt Posted June 12, 2022 Share Posted June 12, 2022 I am trying to find something I can let my client when I am afk sit me to on undeform my av as sometimes moving me from a piece of furniture to another seems to make the anims get stuck, especially my face. I cannot seem to find an object like that and do not know how to script closest I found was an object that does it, but then it disappears after it runs which won't work. I need to keep the object there and set it as a sit target for my sintec force me to sit hud so it can be activated if I am afk. Anyone know of something like this or a way to do it??? Link to comment Share on other sites More sharing options...
Mollymews Posted June 13, 2022 Author Share Posted June 13, 2022 15 hours ago, Alana Eberhardt said: I am trying to find something I can let my client when I am afk sit me to on undeform my av as sometimes moving me from a piece of furniture to another seems to make the anims get stuck, especially my face. I cannot seem to find an object like that and do not know how to script closest I found was an object that does it, but then it disappears after it runs which won't work. I need to keep the object there and set it as a sit target for my sintec force me to sit hud so it can be activated if I am afk. Anyone know of something like this or a way to do it??? is possible to script up what you asking for here this said, as I don't know anyone who has done this then would be best to post the ask in Wanted forum as you will have a better chance of getting a response from somebody who may be interested in doing it for you. Or post in Inworld Employment if you got money to spend on it Link to comment Share on other sites More sharing options...
Alana Eberhardt Posted June 13, 2022 Share Posted June 13, 2022 Okay thanks. I am new to the forums so don't know where everything is yet. Link to comment Share on other sites More sharing options...
Mollymews Posted June 14, 2022 Author Share Posted June 14, 2022 10 hours ago, Alana Eberhardt said: Okay thanks. I am new to the forums so don't know where everything is yet. is all good, and welcome to the forums Link to comment Share on other sites More sharing options...
Recommended Posts
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