Jump to content

A Question About Irrevocable Permissions


Perrie Juran
 Share

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

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

Recommended Posts

A few months ago I posed a question here about an irrevocable script, that once you granted permission there was no way for you to revoke it.  It seemed that the huge majority of Residents (myself included) were unaware at the time that this actually existed.

Now someone has started a thread in one of the other sub fora claiming that there is a BDSM Collar, that once you wear it, that you can not take it off.

http://community.secondlife.com/t5/Role-Play/new-collars-should-be-banned-from-the-game-and-break-many-laws/m-p/1322383#M3018

Now I know with RLV enabled you can stop a person from detaching an object or taking off clothes.  I also understand (I have never used the feature so I don't know for a fact), that you can decide what clothes (outfit) you want your Sub to wear.  In other words, you can dress or undress your Sub at will.

But all of these functions are disabled simply by turning RLV off.

All of the scripting tricks involved in RLV controls are realy outside my areas of expertise.

So my question is, is the above mentioned collar possible without the revokable RLV scripts.  Could the script used in this discussion http://community.secondlife.com/t5/LSL-Scripting/Revoking-Permissions/m-p/1114617#M5717  and in this JIRA https://jira.secondlife.com/browse/SVC-1006?  be used to permanently attach a collar or make it so the 'owner' of the permission could always re-attach the collar at will?  Could it be accomplished by any other tricks?

Thanks much in advance for your input.

 

Link to comment
Share on other sites

I don't quite understand what you mean by "the irrevocable script" in this case.

If you mean, if you set someone as your Master, then can the collar remember this, then yes.  Once you've assigned a value to a global variable or added an entry to a list, it'll stay there until the script is told to forget it or until the script is reset.  

You can also -- as did the OpenCollar until recently, and some collars doubtless still do -- send the values of these variables to an external database and have it reload them every time you put the collar on, so that way they survive a reset, unless you use a specific command -- if one exists --  to cancel them.

But, in that case, if you can't use the specific command (or none exists)  the remedy is simple -- turn off RLV, relog, detach the item in question, and  delete it.   Then you can safely relog again,  with RLV if you want.   It just means you can't wear another copy of that particular device, since, if you do, it will retrieve the old settings from the server.

I suppose, too, you could have a script record the uuid of your Master in some property of the collar, like the description field of one of the prims, and then read it when the script is reset and when you attach the collar each time   That would survive resets, obviously, but, equally obviously, wouldn't affect any other copies of the collar you might own.

Link to comment
Share on other sites

Also, no matter how the attachment is scripted, all you have to do is log in at a scripts-disabled parcel or sandbox, and then take the scripted item off. No script can affect you if it isn't permitted to run in the first place! Just don't put the thing on again, and you're 'free'.

It might not be sufficient to just TP to a scripts-disabled area, or to walk into one. Scripts that are running in attachments at the time you enter a no-script area still work. For example, my fox tail has a wag script, and if I TP to a no-script sandbox while it is wagging, it will continue wagging. But I can't then command it to stop wagging, or to lower my tail, or to wag faster. Likewise, if I enter a no-script area and try to use a scripted function that isn't yet active, like the moving jaw on my furry head that moves when I type in text chat, the jaw won't move in the no-script area, because its script to do so was in an inactive state and chan't change states while in the no-script area.

The solution is to go to the no-script area, quit, log back in (turning RLV off if you had it on, just in case RLV was part of the issue), and then take off the offending item.

Link to comment
Share on other sites

I think you mean if the non-RLV permissions thing can still bother you when you take off the collar?

That depends... The script with the permissions in that case is worn by the "master", it's not in the collar. So if the collar is set up that way, with an attachment worn by that master, that's certainly the  case. It will work as long as the master doesn't reset the script and as long as you are in the same region.

The thing is, the script in that case has got nothing to do with the collar really. The script is run by the other person, so at some point you will have had to say "Yes" when you are asked to grant permissions...

Link to comment
Share on other sites

Start with a basic pose ball script like http://community.secondlife.com/t5/LSL-Library/Basic-Pose-Ball-script/td-p/719317 and begin modifying it to do what you want.  Unsitting is easy.   Look in the LSL wiki for llUnSit.  Permisssion is also simple.  You can use llSameGroup to verify that the seated avatar is in the same group that your vehicle is set to, as in

if(llSameGroup(llDetectedKey(0))

    {//Do something}

    else {llUnSit(llAvatarOnSitTarget());}

Link to comment
Share on other sites


Innula Zenovka wrote:

And you'd need to relog to take off something locked on with RLV anyway, scripts or no scripts, since otherwise the viewer's going to remember you're not allowed to remove the item, whether or not scripts are running.    


Thank you especially for this tidbit!  I had never really looked at how RLV works, that it does it by creating or using files Client side, that is in the client on my computer.  In essence, when I use RLV I am giving the (allowed) user access to my Client.  (I hope I'm stating that clearly)

While I have never used the "dress" function to dress another Avatar in SL, I do understand it requires first the creation of a special folder, one that i am 'guessing' the controlling avatar tells MY client to use and then my Client sends the request to put on the outfit to the SL servers, etc.  None of that information to my knowledge is saved on any servers any where else.

So in effect if I am understanding this correctly, another Avatar would not be able to dress me after a clean install because I would have deleted the special folders from my computer.  The folders would have to be recreated on my client first.

Whereas the 'animate my avatar' permission is saved server side with the irrevocable permission, even if by some twist the master's band could be used to attach an object to my Avatar ala RLV, once i deleted that file from my computer, while the master's band could still be used to animate me because that permission resides on the server, it could not put the object, that is the Collar in question, back on me, unless I first allowed creation of that special folder again in my client.

I sure as heck hope i am being clear here, but in other words, there is just no damn way to make a Collar that CAN NOT be removed.

 

Link to comment
Share on other sites

RLV viewers let scripts that belong to you control various aspects of your viewer's behaviour that normally can only be controlled by your keyboard.   Quite how the viewer itself does this, and where it stores things, I don't know -- you'd have to ask Marine Kelley or Kitty Barnett (or, at least, someone who understands how viewers are made, which I don't),  but, in practice, what happens is that the viewer inspects every llOwnerSay message it receives and, if the message starts with "@" and the rest is a well-formed RLV command, instead of displaying the message on your screen, it does whatever the command says.

Since it only understands commands that come as llOwnerSay("@something"), by definition they must come from something belonging to you -- typically, something you wear, like a collar or a relay.    Other people (or objects belonging to other people) can control you only via your collar or relay (sometimes collars incude relays, but I'm treating them as separate items here because collars aren't relays; they just often contain some separate relay scripts, just as they often contain separate AO scripts, for convenience).

If you want to use RLV on me using my collar, you have to say something to the collar, or touch it, and my collar then checks to see if you're someone I've said can play with my collar.   If you are, my collar will typically give you a menu of things to do to me, you'll select one, and the collar, hearing your choice, will issue the appropriate command to my viewer, using llOwnerSay.

If you want to use RLV on me using an object of yours -- a trap, for example --  the object has to communicate with my relay on the standard rlv relay channel, -1812221819.   Depending on how I've got my relay set, it'll accept the command automatically, or ask me what to do, or reject it (there's all sorts of different filters, depending on the relay).   Assuming it accepts the command, it then parses the command it's received from your trap and repeats it to me, in the form of llOwnerSay("@whatever").

Either way, I've got to be wearing something that I've said can let you control me with RLV, and if I take it off, I'm free of your clutches.   And normally collars and relays both let me turn them off, in emergency, without even having to relog.

You mention "Shared folders," as they're called in RLV circles.   The special folder has to be called #RLV, and then scripts can access its contents, under the same conditions they can do anything else to me with RLV.  And, while the folder and its contents must be stored on the server, like any other folder in my inventory, you can't access it unless I let you.

So if I relog without RLV, take my collar off, and reset it, then if I relog with RLV you can't use to access my #RLV folder or subfolders, any more than you can use it force me to sit on something or stop me tp-ing.   And if I move anything out the #RLV folder into another folder in my inventory, no one can get at that item, and if I rename the #RLV folder, then there's an end to it -- there's not one to mess around with any more.

Really, this Masters Band thing and RLV collars are two separate kettles of fish.  

The Masters Band isn't anything to do with RLV; it works on people whatever viewer they're using, and it works because once you've granted PERMISSION_TRIGGER_ANIMATION to a script belonging to someone else, you can't do anything to revoke that permission.   

RLV items, in contrast, can only work with the cooperation of a script belonging to the victim, and you can always frustrate them by relogging without RLV and removing the item that contains the script.   Normally simply resetting the script will cause it to forget any restrictions (your viewer won't let you reset an RLV script that's controlling you at the time, which is why you have to relog), but if it doesn't -- because the restrictions are stored on an external server, as is  the case with some items -- then simply not wearing the collar or control chip or whatever it is again, and not wearing another identical item you've bought from the same place, keeps you out of trouble.

Short version -- no, there is no way to make a collar that can't somehow be removed.   

Link to comment
Share on other sites

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