Monday, December 7, 2009

RR Tutorial : Spy plugin

Hey,

Today we are going to talk about one of the most versatile and complex plugins of the whole RR suite : the Spy plugin. You can find it in the collars I sell, namely the Steel Collar of the Serious Shackles set, and the Elegance Collar of the Restrained Elegance set. It is best to keep it inside its collar, because the collar is fitted with a special LED that lights up when the Spy is active. Be warned, this tutorial is going to be very long and quite technical, for there is a lot to explain and demonstrate.

Now, why such a name ? Isn't it a bit edgy to make a plugin that spies on the captive ? Sometimes, the top wants to keep the captive under tight control, with her permission. This control implies to be kept informed about whatever the captive does, even if she's far away, or even when the top is offline. It does not, however, force the captive to do anything, except teleporting if she's using the RLV.

As it is a complex piece of work, I am going to demonstrate with Mary again. She will wear the collar, I will be her keyholder, and I will control her Spy plugin remotely. This is going to be fun, you'll see !


So first things first, I lock an Elegance Collar around Mary's neck. I click on it, go to Plugins > Spy, and I get this :




Oh wait, it says "This device is currently unplugged" and gives some reference to a disclaimer in the collar manual... hey I don't have the collar manual here ! And last time I tried to read it it was so big and thick and technical that I eventually gave up (let's be honest, that's why you're here reading this tutorial). It tells me to ask Mary to activate her plugin, problem is I have the key so she can't access it herself. Oh well.

I leave the key on her collar, ask her to click on it and to go to Plugins > Spy, and then to select "Activate". And finally to leave the key on because her key belongs to me, not to her. This whole "activation" process is simply a safety and a disclaimer to make both the top and the captive aware that this plugin is able to monitor who is around the captive, and also to listen to conversations and to send them to the top. It is the responsibility of both of them to use these features in a responsible manner.

Oh there are two little lights showing on the sides of her collar now ! They were not there before.



Ok so now the plugin is fully operational and I can control it. But... how ? All I see on the menu is "Get UUID", "New pwd" and "Give remote". Not many possibilities for control here... Actually I'm not going to use this menu much, if at all. I just need it as a starting point in order to retrieve the device that will really give me control. The plugin itself is just a gateway, a firewall that will receive, filter and execute orders coming from a remote. That's why I will not bother with "Get UUID" (but I'll explain what this button is for later) or "New pwd" (which is practically useless unless the password is compromised). I click on "Give remote".

Immediately I am given a device and also some kind of cryptic message like :
/191625/b8e81399-1e83-1d0d-5dc7-c8e7532f1ba8/208720

I'm told to copy/paste this message once I am wearing the remote, and this is exactly what I'll do. The remote tells me that it has acknowledged the code, so everything should be in order.

Let me explain you what this message means, exactly. Let's call it the "connection string", because it is what links my remote to Mary's collar. Technically, the remote sends emails to the collar, which sends IMs to me. That's it. The collar never ever talks to the remote, it doesn't even "know" it exists. It only talks to me. What is very important to keep in mind is that IMs are buffered by SL while I'm offline, and they can even be redirected to my mailbox (you can do that in your Preferences window, in the Communication tab). It is a very handy tool SL provides and this plugin relies on it.

But the remote has to "know" about the collar, and that requires to know its UUID (its unique identifier, it is "b8e81399-1e83-1d0d-5dc7-c8e7532f1ba8" for the sake of this example) and its "password" (which is only a numeric code in order to not accept commands from just anyone but the keyholder, "464928" here). Problem is, the UUID changes everytime the collar rezzes, namely when it is worn (not an issue if it is locked and the RLV is used) and when the captive logs in. In other words, everytime Mary logs in I have to reconnect my remote if I want to send commands the collar. If it is not connected, the collar will just keep doing whatever it has been programmed to do. Send position reports every X meters, relay chat etc.

But we're not there yet, let's try a few things first. As I am wearing my remote and it is supposedly connected, first thing I will do is to check it actually is. I click on my remote and... oh look a wall of buttons !



The "Report" button is what I need. I press it and here is what the collar tells me after a couple seconds :

Internal report for Mary X :
Position : OFF (30 m)
Sensor : OFF (30 m)
Status : OFF
Listen : OFF
Online only : NO
Time : 10:3:20
Time left : 0:0:0

Ok that's a lot of data. What does that mean exactly ?

The collar is fitted with a few very handy technological devices. A satellite locator, a teleporter, a scanner, an biological monitor, a mic, a speaker and it is even linked to the internal timers of the restraint. No less ! Every one of these devices can be turned on and off individually, and for the moment they are all switched off. There is also a general switch that inhibits everything with the press of a button, and reactivates only the formerly activated devices when pressed again.

And after this very long introduction, I am going to demonstrate the use of each one of these devices in turn. You'll see that when used well, the top can control the captive very effectively !


First off I want to know where Mary is at any time. Or at least when I want. I click on "Pos. now" and immediately I am given Mary's location, in the form of a slurl. You know what a slurl is, right ? It is like a web address, but it leads to a 3D location in the SL grid. If I click on it in my chat history my world map opens and I see where she is. I could teleport there so Mary can see me appear in front of her at any time if I choose to ! But it is rude to do so if she's not alone. Remember, the captive is the one monitored, her friends should never suffer from an excess of control from her top ! Be responsible !

Oh the little lights on her collar are flashing red ! This means that I have just sent a command to it. So whenever Mary sees her lights flashing, she knows I am thinking of her :)


I also want to know who is around her right now. I press "Sensor now" and I get this :

Sensor report for Mary X : Marine Kelley (2 m)

Well, duh. And once again the lights flash and then switch off again.


And what is she doing exactly right now ? I press "Status now" and I get :

Status report for Mary X : Away: NO Busy: NO Flying: NO Mouselook: NO Sitting: NO

She's not doing much... Granted this one report is rarely very useful but sometimes it helps.


But what I really want to know is what she does when I'm offline, when it is more difficult for me to request that kind of information. With her agreement, of course !

To do that, I just dig deeper into the "Position...", "Sensor..." and "Status..." submenus. No need to go into details there, but I will show you with the first one. The other two work exactly the same way.

I click on my remote and press "Position...". I am shown this submenu :


The "Instant" button will do exacly the same thing as the "Pos. now" one I pressed earlier, it will give me Mary's current location. However I am not interested in knowing where she is now, I know it already. I want to be notified everytime she walks or flies over 50 meters and when she teleports. To do this I just press "50 m" and then "On" to activate the satellite locator. I get the first position report immediately, and will get one more every time she moves 50 meters from where her collar sent its last report. I could be more precise and set it to 5 meters but that would only mean more reports, I don't want to be spammed.

Oh, now the lights on her collar are not flashing red, they are switched on and stay bright constantly... This means I am actively monitoring her, the lights won't turn off until I shut all the monitoring devices. Which I am not going to do yet. Hehe.


I do the same with the scanner, I go back to the main menu then press "Sensor..." :



Once again, distances, "On", "Off" and "Instant". The meaning is exactly the same except that the distances mean the range of the scanner. Contrary to the locator, the shorter the distance the fewer the reports. I turn it on by pressing "On" and set its range to 20 meters by pressing "20 m". I also get an immediate sensor report. I will get one more everytime something changes in her surroundings (people change position or she moves). The scanner only reports people, it does not report objects (it is not a sonar).


Ok now she is all set, let's review what I've just changed. I go back to the main menu and press "Report" again :

Internal report for Mary X :
Position : ON (50 m)
Sensor : ON (50 m)
Status : OFF
Listen : OFF
Online only : NO
Time : 10:5:40
Time left : 0:0:0

The locator and the scanner are active, the lights are bright red meaning that at least one device is active, everything is nominal.


How about she goes "on the field" so I can test the real power of the collar and the remote ? Let's say I don't want her to know where I am sending her to, provided she is using the RLV (and she is, for the sake of this tutorial). Let's assume her Control plugin is set to not let her know her location. I want to send her to some place out there. For example the Kelley Park in Zhora. There are several solutions to do that. the soft way is to order her to tp there. But she won't because she's a brat and never does what she's told. The hard way is to make her. And that's exactly what I'm going to do.

I open my world map and type "Zhora" and validate. SL shows me the map of the Zhora sim in which I recognize the park, and I want to teleport Mary to its entrance. I click with my mouse on the black road in front of it, then "Copy slurl to clipboard" (that's one very handy button trust me). What it does is translate the point I have selected (the red dot on the map) into a slurl so that I can type it in chat.

I paste this slurl on channel 7 by typing "/7 " and Ctrl-V (or Apple-V) :

/7 http://slurl.com/secondlife/Zhora/185/128/25

And... voila ! Mary is teleported to that spot immediately. Note that it is always channel 7, it cannot be changed yet. Maybe in the future.

I also get a new position report since her locator is active :

Position report for Mary X : Parcel 'Zhora Downtown' at http://slurl.com/secondlife/Zhora/185/128/25

Clear, precise, no way to get mistaken. She is where I want her. And if I want to join her I just press Ctrl-H (not Apple-H) to get my chat history and click on the slurl I've just been given.

Oh and note that it would have worked even if she was leashed by her collar (not by any other restraint though). This is because a force-teleport overrides a no-teleport when it is sent by the same object, in this case her collar. She couldn't have gone back by her own means though, but I could have summoned her back myself through the remote. I will do that now. I click on my remote, go to "Position..." and press "TP here". And tadaa ! She's back, feeling a little like a ragdoll tossed around. That's a good way to show who's in control. She knows that I'll know wherever she is at any time, that I can send her where I want and that I can summon her back on a whim.


Ok enough tossing my captive around, let's go to the mic and the speaker now. The mic is fairly straightforward, and also the most controversial feature in this plugin. It simply allows to overhear whatever is said around the captive. I click on my remote, go to "Listen..." and press "All". This means I can now hear what she says and what people say around her, even when I'm not there. As it is an active device, the light stays bright red while I'm listening, so people have a clue the collar is active. They just don't know what exactly is being monitored.

Now, before you scream, just keep one thing in mind : the captive somewhat "belongs" to the top, and may be required to report whatever she heard at a later time anyway. There is exactly no way to prevent someone from pasting a chatlog or from telling someone else "so-and-so said this and that". If you don't want to be overheard by someone wearing a collar or any other device while you speak, just stick to IMs. Public chat is just that, public. You have the right to report whatever I say on the chat to whomever you like, but you do not have the right to use it against me. You just have to remember that chatlogs are not worth their weight in bytes anyway, since they can easily be modified. Last but not least, the disclaimer the captive has to agree to makes her and her top responsible of the use of the gathered info. Res-pon-sible.

Back on topic. The mic has only one purpose, like all the other devices : to keep the top up-to-date with whatever the captive does. I have been monitored by my top for months, and I must say it felt good to know that I always had this watchful eye over my shoulder. Never did she use it against anybody (I didn't go out much at that time anyway). Does it sound weird ? Not so much actually. It's hard to explain, certainly this feature is not for everyone. It can also be useful inside harems or prisons, where IMs are forbidden and the only mean of communication is plain chat. It helps wardens to stay in control.

The mic will repeat whatever is said around the captive to the top, but only if the latter is over 20 meters away from the person who speaks, to avoid hearing things twice. So if I stay near Mary I will not be repeated what I say, but if I move away and I shout, then the collar will transmit my own words. Let's try :

Marine Kelley: Echo ?

... Nothing.

I move about 30 meters away from Mary and I shout.

Marine Kelley shouts: Echoo ?!

Mary X hears : [Marine Kelley : Echoo ?!]

Neat !


Now of course, if I hear people talk I might want to respond. Well to make the collar respond. It just so happens that the collar has a built-in speaker, too. All I have to do is to turn on the mic of my remote and to start talking. I click on my remote, go to "Speaker..." and press "On". It tells me that the channel is 6, which means that everything I'll say on channel 6 will be transmitted to the collar and broadcast 20 meters around it ! So I better watch out and not say silly things. Of course the listener will not repeat what I just said (maybe it should ? I have to think about it for later).


I talked about the UUID of the collar and how it changed everytime it rezzed. This is a standard SL feature, and the direct consequence is that when Mary logs on, I cannot send commands to her collar through my remote until I "reconnect" it. That's why I am given a new "connection string" everytime she logs on, if I hold the key to her collar and it is activated. All I have to do is paste it like I did the first time. But if I forgot to do it, or for some reason I missed it (maybe I was in Busy mode), I can retrieve it by clicking on her collar, going to Plugins > Spy and to press "Get UUID". That's what this button is for !


Ok, last thing. Let's get real techy now. I'll explain what a command really is and I'll show you how to control a captive even when you're offline ! It's not hard, you'll see.

You already know that the remote sends emails to the collar, and that the collar sends IMs to the top. The remote is just a small email client with buttons to send commands easily, that's all. You absolutely don't need it in fact. It's just there to facilitate your life but a good email client (yes Yahoo and Gmail qualify) can replace your remote quite easily and safely.

Firstly let's analyze the connection string, which is what makes me able to send emails to the collar. As a reminder, the connection string is this message :

/191625/b8e81399-1e83-1d0d-5dc7-c8e7532f1ba8/208720

It is divided in three parts :

- The channel 191625, which is the command channel of the remote. If I'm not using a remote, I don't need to bother keeping that number in mind.
- The UUID, this strange 36-character-long alphanumeric string. This is the unique ID of the collar, and is part of its email address. I repeat, this thing changes everytime the collar rezzes. The full email address of the collar right now is b8e81399-1e83-1d0d-5dc7-c8e7532f1ba8@lsl.secondlife.com. Which means that if I send an email to this address, the collar will receive it, analyze it and possibly execute it !
- The password, "208720", because the collar must not execute everyone's commands, only mine. It will be the subject of the email. That's right, the subject is just a number, the body of the message is the actual command.

The commands are all explained in the manual of the collar so I will not demonstrate them all, but let's try a few here. Suppose I'm still online and near Mary, within chat range at least. I now switch to my Gmail webpage, from which I will send an email to the collar directly. Let's recap : I need the UUID, which is now b8e81399-1e83-1d0d-5dc7-c8e7532f1ba8 and the password, which is now 208720(and it won't change until the plugin is reset or it is changed manually with the "New pwd" button).

I prepare the following email :

To : b8e81399-1e83-1d0d-5dc7-c8e7532f1ba8@lsl.secondlife.com
Subject : 208720
Message : speaker Hello this is Marine !



That's all. I press Send on the webpage, and what happens ? Mary's collar says the message I have just written after "speaker" (which is the keyword the collar recognizes as "say the following on channel 0").

One very important thing to say : my personal email address, the one I use with my Gmail account, is never disclosed. The collar does know who sent the message but it does absolutely nothing with that information, it quickly forgets it. So my address is not compromised. It makes no difference whether I send the message from Yahoo, Gmail, Hotmail or even the remote in SL, what matters is the command and the password, that's it.


I log off.

Mary logs off too, but she relogs not long after. I'll play the "offline top" for a moment here. Mary's collar sends me its connection string, which I receive in my mailbox since it is an IM and I'm offline. It is now the following :



Notice that the channel and password didn't change, but the UUID did. I need this new info in order to command the collar from my mail client (e.g. at work). First of all I want a report, so I write this email :

To : d19986e5-48d0-05f1-f41d-e8b6721dc656@lsl.secondlife.com
Subject : 208720
Message : report

Easy huh ? Minutes later I get a report in my mailbox. It takes a little time because SL buffers incoming emails and outgoing IMs, there is nothing that can be done to make this system faster.




I want to know where she is right now. Another command to the collar :

To : d19986e5-48d0-05f1-f41d-e8b6721dc656@lsl.secondlife.com
Subject : 208720
Message : position instant

Once again, minutes later I receive a position report.


You may wonder how to manage several captives at the same time with one remote. Truth is... it is not really made for that yet. I am planning to add a proxy to be rezzed in-world, which would get all the UUID changes and provide aliases to the top so they don't have to reconnect everytime. The downside of this is that the proxy would have to be kept somewhere so the top has to own land. But it's not done yet, it's just in the plans.


Whoa. That was a long one, told you it was a complex plugin !

Hope you'll have fun with it, control freaks ! *g*
Marine

Thursday, November 19, 2009

Such a beautiful day

And such a perfect one ! Sugar and I got partnered yesterday, both wearing white wedding dresses (you don't see that often outside SL !), and both terrified, but happy :)

Before you ask, our ceremony was quite simple and short. We didn't want to make anything huge or pompous or never-ending, we wanted to stay ourselves, and to stay true to each other.

It took place in Allure, Amethyst's private sim. This sim is not only beautiful, it is also where I used to spend my time when I was a noob, hidden. I held fond memories of this place, and now I'm going to hold even more !

Dear Amethyst. You know her. We all do :)

Speaking of Ame, she has made us the honor of not only assisting to the ceremony, but actually taking it in charge ! She has prepared everything that we weren't handling ourselves. Everything was set, to the finest detail. That was so sweet of her !

We had to choose a time when not many of our friends were online. This was because of several RL schedule contraints, both for Sugar and for me, which ruled weekends out. Yesterday morning and noon (SL time) were when it was best for us, when we were less likely to be interrupted. And despite that awkward schedule, all those who could come, did. Some even rushed online just to avoid being late, and one was sick but managed to stay there as long as she could !

Thank you so much for being there and witnessing our union, Sabrina, Tess, Daisy, Jayleia, Jessica, Devious, Eve, Inara, Mija, Chorazin, RubberMan and Chyanne... And Gin and Valar for being at the reception after the ceremony... And all the others who would have liked to come but couldn't... Warm kisses !


Jay, Inara, Chorazin, Daisy


Jessica, Inara again

Tess, Devious, Sabrina, Jessica again

So while people were arriving, a little before 10am SL time, Sugar and I were readying, "hidden" behind the hill, both shaking in anticipation, almost sure that something would go wrong. SL was acting up a little because of the rolling restarts going on at that time, stressing the asset servers a lot, paintaing my veil in grey and turning Sugar's flowers into blobs. But nothing we couldn't handle.



And then... Tadaa ! Here we come. Very slowly. Walking straight, side by side, looking forward, too scared to think, while Amethyst is standing up there waiting for us at the altar.

Once there, while we were totally not daring to look at the guests, Ame welcomed everyone and asked us a few questions. Then we went on to our vows, holding our hands, both almost crying.



And... a very,
very,
veeeery long kiss ^_^




After the ceremony, which lasted no more than one hour (we wouldn't want to bore our guests to death, would we ? And most of them were very thirsty near the end anyway *g), we all walked across the sim and headed to the reception room. Appreciating the beauty of the landscape on our way.

Once there, the guests settled around the pyramid of champagne glasses which were only waiting to be filled.

So the bottle of champagne was opened with a loud "pop", and I filled the glasses from above, slowly (risking a spectacular and stupid death in the process). A real fountain.


The rules in order to be granted a glass were simple : either kiss Sugar, or me, or both. For some reason we ended ex-aequo. Maybe we'll have to do it again *g*

We danced...

Our slow

And danced...

With Sabrina

And danced again...




Two wild twirling white tornadoes

Till we were all worn out and only a cake would save us from total starvation !

Hurry up, RubberMan is hungry !

And finally, when stuffed and back home alone, guess what... we crashed together !



It was all so perfect ! I will never forget that day :)

Marine

Tuesday, November 17, 2009

Sugar & Spice

Hello there,

You may wonder why I've been so silent lately, well there you have it :


My friend Ollalla and I are getting partnered !


Oh I know, I know, "it's about freakin' time", I heard that a lot lately :) It's been three years after all !

Now, if you've read my blog since the beginning you might have an idea of who Ollalla Sugarbeet is. If you don't, well let me introduce her. Again.


Sugar (that's her nickname, she doesn't really like to be called "Ollalla") is a very sweet and cunning person, who has been living with me since we were noobs. She has helped me with every single project of mine, not technically but socially, to understand the long-term impacts of my decisions. I can say that almost all the good significant decisions I took were taken after discussing with her, while almost all the bad decisions were taken by me alone. On every project. RR, RLV, Banishment Program, Maze, SLBI Computers, SLBI Greylist, SLBI Trackers and so on and so forth. In a way, she is the element of rationality and stability in my crazy race for perfection.

This is because she has the eyes of the hawk. And she knows a lot of people, how they think, how they feel, chances are she even knows you ! All this knowledge allows her to anticipate whatever would happen if a change was implemented to whatever system, at the social level. In our couple (I almost said in our team) she is the social element while I am the technical one. Both equally important in regards to the projects we do together. And God knows we have accomplished a lot, together and separately.

She has also always been there when I was feeling down. Always ready to drop everything when she felt I needed to be cheered up, and she has, several times. Always ready for some action when things were looking blah. And always ready to turn the tables when able !

Our friends tell us that we are an exemplary couple in SL. Given how fast things change in this virtual world, 3 years almost feel like 30 ! And given how many temptations SL offers, how easy it is to stray from a promise, and how easy it is to finally get burnt out and quit, leaving the other party alone and sad, it is a wonder we went that far. Or is it ?

I think not. Sure we have changed. Grown up from noobish status to less-noobish status. Got our share of drama. Felt let down by people sometimes. Lost ourselves into careless fun with strangers (and we still do it and it is still as fun). Got little carried away when having fun together. But we never ever lost faith in each other, or grew bored of each other. After three years, it is still as refreshing to be together, so no, it is not a wonder at all that we went that far.

Oh of course, partnering in SL may mean as little as a name on a profile, or as much as an actual RL wedding. To me, it is a way to say "Thank you for being there and believing in me". And "I enjoy every minute I spend with you". And above everything else, "I always had and will always have your best interests at heart".

Because you're my priority in SL, Sugar. Now take my hand and let's keep walking, shall we ?

Marine

Sunday, October 18, 2009

RestrainedLife 1.22.1

Hi there,

As promised here is the latest version of the RLV, which is a minor update but interesting nonetheless :

- Updated the code to match the one of the SL viewer v1.23.5.
- And for RealRestraint fans who like to spend time bound, the ability to focus the camera on objects at all times, even when "blocked" (meaning a huge prim blocks their clicks, to make the restraint feel even more "real").

Download it here :
http://www.erestraint.com/realrestraint

MD5 hash for the Windows zip file :
2b5efeb94cce38cc56c7ce73325ab20d

Have fun !
Marine

PS : This is the 100th post on my blog. Yay !

PS 2 : I had to re-upload the zip file a few hours later, because I messed up with the version of the SL viewer, it showed 1.23.4 instead of 1.23.5. Fixed now, and the hash code has changed (new one is up there). The old hash code was
e24da2cab06c2062dd88d1345615cfda

Saturday, October 17, 2009

RestrainedLife 1.22.1 coming soon

Hi there,

Just a quick post to say that I have a working RLV 1.22.1 on my Mac, and that it will soon be released for Windows. This new version will include :

- Compiled from the latest SL 1.23.5 with its notecard changes.
- The ability to focus your camera through HUDs. This one is made for hardcore RealRestraint fans who like to spend their life bound and blocked, but who regret their camera can't focus on objects because of the blocking prim on their HUD (which is made to intercept touches). It also discards right-clicks while holding the Alt key, since it would allow you to sit or touch objects through a HUD. This change does not apply if you're in Mouselook view, though, it wouldn't make sense.

As this update is not really urgent, RLV 1.22 works with SL 1.23.5 already, and as Real Life is rather busy at the moment, please be patient while the compiler warms up. Thank you !

Have fun,
Marine

Tuesday, October 13, 2009

RR Tutorial : Gag plugin

Hi !

Today we are going to talk about a plugin everyone knows, the one you find in any RR gag. This plugin is rather easy, but half of it is RLV-oriented, and that's the hard part. As the easy part is really easy, and not worth a tutorial, let's assume that the captive is using the RLV so I can explain everything smoothly.

We all know what a gag is for, it is used to make chatty captives shut the hell up. Oops. Hrm. Sorry, I get carried away sometimes. But you will agree that some really do need it ! *g* What ? Who said "just as you do" ?!

Very well then, I'll demonstrate it for you since you insist ! Let me lock it on "Medium" and... mmmmph ! Now everything I say seems to be garbled, except my emotes with appear normally but are... truncated. It is not very easy to make myself clear anymore, save for very short sentences.

But you already knew all this. Let's take a look at the plugin shall we ? I click on my gag, then go to Plugins > Gag... and once again I bang into a wall of buttons :



* "Typing" and "Cheating" are irrelevant to the RLV, which takes all these into account.

* "Slashes" will make the gag complain or not when I say something like "/ao on" or "/hug so-and-so".

* "Notif owner" will decide whether my keyholder will receive a message when I cheat by speaking on channel 0. Note that this button is poorly worded, but "Notif keyholder" did not fit. I could have called it "Notif khldr" or "Ntf kh" or "Mxmsfgbh", but it would not have been very clear...

* "Emote" will make the gag truncate emotes or not.

* "Drool" will make me... drool. Or not. That depends on how messy my keyholder wants it !

* "Ch. evasion" (meaning "Channel evasion") is fun. When I say something, my chat is automatically redirected to a random channel, which changes every 30 seconds, in order to avoid those pesky "gag translators". If I deactivate channel evasion, my chat will fall back to channel 1, but I can change it to, say, channel 12 by simply saying "channel 12".

* "IM blockable" is a little trickier, and only I (the wearer) can see this button. If I set it to Yes, then my keyholder can decide to prevent me from sending IMs to people at any time.

* "IM restriction" only appears to me (the wearer) or to the keyholder if "IM blockable" is set to Yes. It gives the keyholder the ability to prevent the captive from sending IMs to anyone. She can also prevent me from sending IMs to anyone except to herself, provided the gag is locked and she has the key.


That's about it... this one was rather simple after all !

Have fun,
Marine

RR Tutorial : Wriggle plugin

Hello there, we are going to talk about maybe the most misunderstood and underused plugin of all the RR suite, yet it can prove itself useful in certain situations.

Sometimes a captive may want to change position, if her restraints allow. Or rather, when she thinks that if she was bound that way in RL, she would have a chance to wriggle to a different position. For example her hands could be cuffed behind her back, and if she was fit and nimble enough she would be able to move them to the front after some squirming. That's the purpose of the Wriggle plugin, to give the captive a chance to wriggle to a different position, when possible.


First of all, you cannot wriggle from just any position to just any other position, it has to make sense. You can move your cuffed hands from front to back, back to front, but not from the sides to the back or whatnot, because it would imply a change in how the cuffs are locked, and that wouldn't make much sense without the key.

But enough chit-chatting, let's try a practical example. There, my hands are cuffed behind my back, and I'm blocked. Remember the tutorial about arms restraints ? When my hands are cuffed behind me, I can't touch anything anymore. But right now it may be a problem, I might need to touch something, operate something, or open a box, or do whatever I need to do that my cuffs prevent. In other words, I need to move those hands to in front of me ! And if I don't have a key, there is only one solution : the Wriggle plugin.




Let's just look at the menu of this plugin, I go to Plugins > Wriggle and here is what I get :


It asks me to choose which pose I am aiming at, i.e. where my wriggling would take me in case I succeeded. There is only one choice, "1 Hnd front", because realistically I could only move my hands to the front from where they are. So I press that button.



Whoa. What's this ? "Progression", "Chances", "Pot"... are we in Vegas now ? Where do I insert my tokens ? Well ok, hold fire and let me explain. "Tokens" in this plugins are the tries that you spend when you try to struggle out from your restraints. Remember that tutorial ? Struggling consumes tries, and you recover them more or less quickly depending on how well you are doing. Well Wriggling also consumes tries, that's the same energy source (your sweat). Basically this means that you can either struggle or wriggle, but not both. Wriggling is meant to be easier, though.

So what you have to "pay" for wriggling is tries. When you attempt to wriggle, you have 3 choices :

* Soft, consuming one try
* Medium, consuming two tries
* Hard, consuming three tries

And for every attempt, you have a chance to progress or not. Of course the harder you wriggle, the higher the chance, and it is stated on the menu itself.

When you wriggle, you do not actually lose tries right away. They go into the "pot" instead, with a 1:1 ratio (i.e. every try you bet goes into the pot). But if you fail an attempt, the pot loses double the amount of tries you have just bet ! But before talking about the pot, let's try to wriggle a little.


I press "Soft", and immediately the restraints says "You progress a little in your wriggling..." and I notice the progress bar on the menu has gained a little step (marked with a ">") to indicate that I am making progress. The goal is actually to fill up the progress bar. At the same time, the Pot is equal to 1, because I have "spent" one try in order to attempt this move. And succeeded so far. Okay then, 9 more steps to go.



I press "Medium" because I feel lucky (even if there is no stupidest thing to say than "I feel lucky", it could even qualify for "famous last words"). Notice that "Medium" has exactly one more chance than "Soft", but it costs 2 tries. This time the restraint says "You progress a little in your wriggling, and your chances of success are now higher...". Woohoo ! All the probabilities have been increased by one ! It's going to be easier to wriggle now, and cheaper ! Oh, and I've made one more step on the progress bar, and the Pot is now equal to 3 (1 for the Soft move, then 2 for the Medium one).


Ok so now that I have made 2 steps and both were successes, my 3 tries spent are all in the pot. If I pressed "Cancel" now they would be given back to me, and my progress would have been cancelled, and I would be back to square one, not losing anything and not winning anything either. But I won't press Cancel. I would if I desperately needed the tries in the pot to, say, struggle.


Let's fast-forward a little instead, let's say I have made 6 steps and the pot is now 8. I choose "Hard" this time, spending 3 tries to maximize my chances. However this results in a failure, and the pot is now reduced by twice the number of tries I bet ! That's 6 tries lost ! It's back down to 2 (even if I only spent 3 tries, but they obviously didn't make it to the pot).

This leaves me no choice than to go ahead, because the pot has suddenly become far less interesting. If I pressed "Cancel" now, I would only get 2 tries back and lose all my 5 steps, after having spent 8 tries. That would be 6 tries wasted ! Note that if I wriggled Hard at the beginning of the progress, and missed without losing all my steps, the pot would go down to 0 but not lower. This is interesting because it saves me from wasting too many tries.


Ok, this is pretty straightforward from now on, I think you got the point. The strength of the wriggling can be Soft, Medium or Hard, the stronger the more chances but also the more expensive. Internally, the plugin "throws a 10-sided die" at each wriggle attempt, the lower the result the more likely to progress one step forward. If the result is low enough, then the chances are even increased for later, but if the result is too high they are lowered instead !


And what happens if I actually manage to make all 10 steps ? Well the cuffs are automatically relocked into the pose I have selected in the first place (in this case "1 Hnd front"), and I get back all my tries because this is actually a new pose !



Oh, here is a little hint for you since you've read this far : the more you struggle (and make progress in struggling), the looser the restraint, hence the higher the chances at wriggling ! It is something like... hmm... *cough*onemorechanceperfivesuccesses*cough*. Hey, I've said it !


Have fun !
Marine

RR Tutorial : Leash plugin

Hi there, let me tell you about one of the most popular plugins in the RR brand (and this feature is provided in many other brands as well) : the Leash. It is always useful to fasten a chain to the cuffs of your captive to force her to follow you, or to force her to stay there. Note : at the time of this writing, the version of the RR suite is 1.22, including a way to make a leashable restraint behave like a leash handle, or "anchor". In other words, to make it possible to leash another captive to this restraint, even without its wearer's consent. It can also leash the captive to any prim, regardless of whether it is a root prim or a child prim, and whether it contains a script or not.

Please note that I need to lock the restraint for the leash to work (it used to not be necessary, but really it doesn't make sense to be leashed and not locked).

So, I lock my restraint and I take a look at the menu. I go to "Plugins...", "Leash" :



This is pretty straightforward actually. I can be leashed, unleashed, yanked, leashed to another captive and the length of my leash can be changed. Easy. I can also hide and show the leash, and retrieve some additional tools.


I press "Leash" and immediately a chain is attached to my collar. It's dangling from it, not being leashed anywhere. In fact I am leashed to myself. What's the point to being leashed to yourself would you ask ? Well if I am using the Restrained Love Viewer, then I am unable to teleport until I am unleashed.

There are several ways to use a leash actually. The first one is when the top leashes the captive's restraint directly. The result would be a chain going from the restraint to the top's crotch... Ouch ! That's gotta hurt. Meet my alt Mary (the blonde on the left), who is going to demonstrate it for you. She clicks on my collar, goes to Plugins > Leash, and presses "Leash" :


The second way would be to use what I call a "leash handle", a small handle to carry and attach the leash to. In other words the chain woud not go to the crotch anymore but to a special attachment that the top wears, usually in a hand. The leash handle can be retrieved by the top directly from the Leash plugin of the captive, by pressing the "Give tools" button. Once the handle is obtained, the top (Mary in this case) wears it and the leash immediately connects to it, nothing to do. The "Give tools" button also gives a HUD called "RR Leash anywhere". More on that below.



I have to mention a... bug there. Yes, there are some known issues with this tricky piece of plugin. If the top unwears the leash handle, the chain disappears, but the captive is still leashed to the top and unable to teleport. Only there is no visual cue anymore, and that may be confusing. So don't do this, once you wear your leash handle, don't unwear it before unleashing your captive, or if you do it is better you leash her again afterwards, to see the chain again.


However, the top can drop the leash handle to the floor. Mary simply right-clicks on her own leash handle, and selects "Drop". And see what happens :




I can move around only so far away from the handle that is now on the floor, no matter where Mary goes. I am effectively leashed to the leash handle that has been dropped, and no longer to Mary.


Now, Mary can choose to get her handle back, while I'm still leashed to it ! She just right-clicks on the handle on the floor and selects "Put on" > "Wear" on her context menu (or if she decides, "Attach > Right Hand" or wherever else she likes). This will make her walk or run or fly to the handle and wear it automatically. And...




... I am now leashed to Mary again, to her carried handle to be exact. Easy !


Now, maybe Mary does not have permission to rez things where she is, or maybe she sees other leash handles around (there are many around SL, as they are looking very simple and can even be modified), and wants to leash me to one of them, even if it doesn't belong to her. For instance in a public BDSM place. Well, she can !

She simply clicks on a ring in-world (riveted to a wall, floating in the air, half-buried into the ground etc) and Woosh ! I am instantly leashed to that ring and no longer to Mary ! However if she did that to another ring afterwards it would not do anything, she would have to leash me again first. And once again, if that ring belongs to her she can Wear it directly too, even if she was already carrying a handle (the ring, which is a handle, would probably replace the one she is carrying).


Another fun thing, since we are talking about leash handles... Since 1.17 a restraint that contains a Leash plugin (in other words, a leashable restraint) can also serve as a leash handle ! That way the top can literally make "chain-gangs" of captives. To do this, simply press the "Anchor" button on a captive's restraint (for instance a collar) while another captive is leashed to you, and you will see the latter being leashed to the former. For example, Mary is now wearing a Vixen Collar (which is leashable) and has me leashed to her. Please note that she must not be wearing a leash handle anymore, because otherwise it would conflict. She clicks on her collar, goes to Plugins > Leash, and presses "Anchor"...



I'm now leashed to her collar directly ! And if she presses "No anchor", the leashes goes back... to myself. This means that I am still unable to teleport, but at least my movements do not depend on the other captive, in this case Mary. She has broken the chain-gang.

While "Anchor" is active on Mary's collar, every leash that she activates from my restraints are automatically connected to it after 10 seconds at most. This happens only because Mary wears a restraint and is also spawning leashes. My leashes wouldn't connect to Mary's collar automatically if I was leashed by someone else, unless that someone pressed "No anchor" then "Anchor" again on Mary's collar.

I mentioned the "RR Leash anywhere" HUD above. This is a new feature as of version 1.22 of the RR product line. It allows the top to leash the captive to anything. Really anything, except the ground. Mary simply wears the HUD she had retrieved earlier, it looks like a round green button with a chain symbol on it (the color is completely arbitrary, you can change it to whatever you like).



She leashes me again, looks around, and decides to leash me to, say, one of the rings on that post in the bedroom (yes, I have BDSM posts in my bedroom...). All she has to do is to focus her camera on it by Alt-clicking on it (her screen shifts until the ring is in the middle), and she clicks on her HUD. My leash immediately goes to the ring ! That ring is not even the root prim of the whole object, and although it is scripted (but does not contain the script for the handle), it could also be clear of any script, it would work all the same.





She could even be mean and leash me to someone (another captive or just anybody) with this trick. The only thing she cannot leash me to is the land.


That's about all there is to know about the Leash plugin. Changing the length of the leash is a no-brainer, it goes from 70 cm (as close as possible without making the avatar bounce around) to 15 m. Oh and the top can "Yank" the captive, which means giving a tug at the chain to pull the her close without changing the length.


One fun thing to do with the leash handle is to drop it on the ground and turn it into a physical steel ball, that is slighlty ovoid (so that it doesn't roll too far). It would act like a ball-n-chain-like fetter ! Very frustrating for the captive, believe me. Hehe.

Oh, one last thing ! If Mary locks me in a different way, the leash might change place. There might even be several leashes, like here on the yoke, after she grabs my leash again :




Have fun !

Marine

Saturday, October 10, 2009

RestrainedLife 1.22

Hi there,

As promised, here is the latest version of the RLV, with the features we have been discussing in the previous post (read the comments if you want to know everything).

In short, scripters will be able to tell the viewer whether they want to lock an attachment point empty, or occupied, or both. The old command, which was doing only both, has been maintained so the existing scripts do not stop working. They can also tell the viewer which point they want to lock, or all of them (exactly like the @remoutfit and @addoutfit commands do). It is much more consistent and flexible now.

There are also two new commands to prevent the user from opening scripts, or textures. These ones act exactly like the old notecard restriction, and add to the security when it comes to preventing the sub from communicating. Hehe.

And finally, I'm sorry to say that the "Add To Outfit", "Take Off Items" and "Replace Items" commands that you get in the context menu have to be disabled while an object is locked on the avatar. I have tried to do otherwise, and it works, but the viewer has a fundamental flaw : it cannot tell whether a folder is up-to-date according to the asset server or not. If the folders appears to be empty, then the viewer believes it is empty, and sends its command to the server without knowing what it is actually treating. That's dangerous, because you could do a "Take Off Items" on an apparently empty folder, but that actually contained locked objects. Of course, they would have been reattached, but still. Not secure enough.

That's why we are reverting to the old behaviour (pre-1.21) which said "these context menu items are disabled as soon as something is locked on you". This is more secure, and is not a serious loss of usability because "Wear" still works as expected, including the automatic reattaching of locked items if needed. But if I find a secure way to allow these menu items even when something is locked, regardless of whether the folder is up-to-date or not, then I will code it.

Gosh that was long and technical. Sorry !

Download the viewer here :
http://www.erestraint.com/realrestraint

MD5 hash for the Windows zip file :
cc9588adaa134dd4415c9561660032c1

Have fun !
Marine

Wednesday, October 7, 2009

A request for comments

Hello there,

There has been a growing concern about the @detach:[point] restriction, which locks an attach point to the state it is when the restriction is issued. For example, @detach:spine=n would lock anything that was attached on spine, or lock the spine empty... in any case the spine would not change at all until @detach:spine=y is issued.

However... in very laggy places, upon relog, things do not rez as fast as they should and the restriction is issued before the object to lock, so it would be locked out. When it finally attaches it is too late, the viewer detaches it automatically, and obviously the product is not working as it should. I have heard of two separate examples of it already.

So the obvious solution would be to divide @detach:
[point] into two commands :

* @detach:
[point] to prevent whatever is attached there from being detached, and
* @attach:
[point] to lock the point empty

Pros : It solves the problem, and it is more or less consistent with @remoutfit and @addoutfit respectively.
Cons : It requires a new command, nerfs an already existing command... so it kinda breaks existing content.

This is why I'm asking people who make products that use this @detach:
[point] command to post comments here to tell me whether they agree to this change for 1.22 or not. I don't want to break content but I don't want to refrain myself from doing the right thing if nobody is actually impacted.

Please only comment about that issue though, no need to stray to any other subject.

Thanks !
Marine

Tuesday, October 6, 2009

RestrainedLife 1.21.1

Hello there,

The version 1.21 of the RLV brought a little improvement in usability, but brought a bug along with it, it broke the @detach: commands...

Here is a fixed version, which took a while to make due to the intricate consequences of maintaining this particular command. But it seems to be working now, so here is it.

Download it at
http://www.erestraint.com/realrestraint

The MD5 hash for the Windows zip file is
10618c0006e55289eaaae1fcec2a9de8

Have fun !
Marine

Saturday, October 3, 2009

RestrainedLife 1.21

Hello there,

Today we are having an interesting release for the RLV : 1.21 allows you to use the "Wear" contextual command again, even in the cases when it was hidden before (typically when something was locked). Same for "Add To Outfit" and "Take Off Items" !

And there was much rejoicing.

Aside from that, there is also a fundamental change to the way exceptions are handled. Exceptions are the way a restraint allows its wearer to send an IM to someone even though IMs are restricted, for example. Before this version, any restraint could issue an exception to a restriction set by any other restraint, in other words a collar could issue an exception to allow the sub to send an IM to someone even though she was gagged and unable to IM.

It still works that way now...

... but...

... some people were concerned that the security of the RLV was only mild, since a sub could use one restraint herself in order to allow her to do things another restraint was restricting (we are talking about sending IMs, receiving them, hearing chat, speaking on channels and accepting teleport offers here, only).

That's why now the RLV provides more secure versions of these commands (@sendim, @recvim etc, all the commands that accept exceptions) on top of these regular commands (that would be @sendim_sec, @recvim_sec etc, respectively). When these secure commands are used, only exceptions that are issued by the same object that issued the restriction are taken into account. In other words, a collar could not issue an exception to @sendim if @sendim_sec was issued by a gag. Simple as that. It does increase the level of security of the viewer, without breaking stuff.

Let me paste the release notes here :

- fixed : A clever way to cheat around @shownames (thank you Talisha Allen).
- changed : Reinstated "Wear" on the contextual menu even when something is locked and no attach point is contained in the name of the item. This holds the risk of kicking a locked object off, but it will be reattached automatically after 5 seconds anyway. Even "Add To Outfit" and "Take Off Items" work. This was a MUCH awaited feature !
- changed : Added support for reattaching several objects at the same time. Objects will be reattached at 1 second interval.
- added : @defaultwear restriction. When this restriction is set, the "Wear" command will work like it did before this version, i.e. disappear if something is locked and no attach point information is contained within the name. This is for subs who tend to abuse the Wear menu and kicking off locked objects a little too often.
- added : @versionnum command to retrieve the version number directly, instead of having parse the "RestrainedLife viewer v1.20.2 (1.23.4)" string. Here it will return "1210000".
- added : @permissive command that tells the viewer that any exception to @sendim, @recvim, @recvchat, @tplure, @recvemote and @sendchannel MUST come from the object that issued it or will be ignored (without this command, any object can set an exception to the restrictions issued by any other object).
- added : @sendim_sec, @recvim_sec, @recvchat_sec, @tplure_sec, @recvemote_sec and @sendchannel_sec to do the same as @permissive, but one restriction at a time (i.e. exceptions to @sendchannel from other objects won't be ignored if @sendim_sec is set).

Go grab it at http://www.erestraint.com/realrestraint

MD5 hash for the Windows zip file :
a10f708fbd6573ceec19d4667ab74727

Have fun !
Marine

Sunday, September 13, 2009

RR Tutorial : Control plugin

Hello, let's talk about one little devil of a plugin : Control. This plugin is one of the "RLV plugins", which means it makes sense only if you are using the Restrained Life Viewer ("RLV" for short).

Its purpose is to issue restrictions to the captive. This is better to have it in a collar, but it could go in any RR product, of course. With it, you can keep you captive "under control" (hence the name) by restricting her ability to :

* Edit (so she can't open boxes and steal stuff)
* Rez (so she can't litter around)
* See the names of the people around (so they can play tricks on her)
* See the name of the region and parcel she is in (so she can be lost somewhere)
* Use her map (the world map is hidden anyway if the location is restricted)
* Open her inventory (this is a very hard restriction, very controlling, personally I love it)
* Read notecards (this too is very hard, but sometimes needed)
* Fly (should be restricted at all times, if you ask me)
* Talk on private channels (to restrict her from using radars and other weapons)

You can specify exceptions to the private channels restriction though, in case she needs to speak through a gag (the latest RR gags do channel evasion and set their own exception anyway, so no need to worry about it anymore), or control their restraints through the use of channel 77, etc.

Notice it can't restrict the captive from teleporting. This is the role of the Leash plugin actually.

Have fun,
Marine

RR Tutorial : Allow plugin

Hi, we are going to talk about a fairly simple plugin for a change : Allow. This plugin is one of the "RLV plugins", which means it makes sense only if you are using the Restrained Life Viewer ("RLV" for short).

Its purpose is merely to provide exceptions to restrictions issued by other plugins or even other restraints. The captive is either "Allowed" or "Denied", it is as simple as that. When "Denied" no exception is given, it is like inactive. But when "Active", the following things happen :

* The captive can be teleported by the keyholder. In fact she won't even have the choice to decline teleport offers.
* The captive will be able to hear the keyholder, even if she is deaf to everyone else.
* The captive will be able to receive IMs from the keyholder, even if she can't receive IMs from anyone else.

That's all. What ? Already ? Told ya it was a simple one.

Have fun,
Marine

Wednesday, August 19, 2009

RR Tutorial : Legs restraints

Ok this one will be easier than the arms restraints tutorial, let's talk about... legs restraints (hey how did you guess ?).

Just like in real life, when a captive has her legs restrained, she is either able to walk very slowly, or all she can do is crawl. She will always be able to move a few inches, of course, but will not go very far.

For this tutorial I will use the Police Legirons, in association with improved Police Handcuffs with 6 poses, a prisoner belt, and one prisoner jumpsuit that might remind a few memories to some of you (if you're old enough).


Let's lock them all... First the hands, which I lock in front of me with the elbows chained back, this is the "3 H+E front" pose. I can still touch in that pose, it does not block me. And no need to lock the belt, as it is part of the arms cuffs system. And now I lock my legirons with the "Taut" pose. This pose allows me to hobble around and is by far the most natural for this kind of restraint. So I press the forward key and try to walk...


First impression : I walk funny, like I am about to fall over. No wonder, this chain certainly looks short ! The walk changes and the built-in one overrides my own walk, the one in my AO. Well it wouldn't be able to override it well if my walk was the highest priority, some are but not mine (this is something I am very careful about because highest priority walks tend to mess restraints up, especially the ones which don't refresh their poses).

Second impression : I don't go very fast, way slower than the normal walk speed. I can't run either, it would not be easy to sprint while wearing those, I guess !

Third impression : It seems I am going slower and slower. Am I walking in mud now ? I'll go down to a full stop if I keep pressing the forward key. This is because I am slowly getting winded, and must regularly release the forward key and press it again to get my "full speed" back. Knowing this, some captives can race against each other to reach the key first !

Have you noticed that a chain seems to link my arms cuffs to my legirons, too ? This only works with the Police Handcuffs though, for technical reasons. But this is what allows for a few interesting positions like... a hogtie (in cuffs, it's dangerous so don't try this at home !). So before I lock myself in a hogtie, let's make put the arms cuffs into the right pose. I click on one of them and select... umm... ok "4 H+E Back". Immediately my arms are double-cuffed behind my back, very securely, and my touches are restricted (as explained in the Arms Restraints tutorial). How will I command my legirons now ? No problem, I just say "/77 leg" and I get the menus to my legirons. I choose "Hogtie" and...


Now this position is not very comfortable, and you guess I would not go far if I tried to move. Well I can only squirm on the floor, going way slower than even the hobble walk earlier. It seems that the tighter the pose, the slower I get.


Anything else ? Oh yes, you may notice that every time you sit on something while your legs are restrained, the pose stops. This is not a bug, because you can imagine how silly you'd look if you were sitting on a couch while in the "Tight" pose, which keeps you straight... you would look like standing still, your legs half buried in the couch.


Have fun !
Marine

RR Tutorial : Autolock plugin

Hello there, we are going to dwell into another one of the most complete and versatile plugins in the RR suite : the Autolock plugin. It is also part of the standard issue, so every restraint has one.

You have already heard about normal keys, RealKeys (I hope), release timers, long timers, RL timers etc etc... yes that's beginning to be a lot of concepts to learn. The Autolock uses all these concepts and more, so this is complex stuff. Very few people grasp all its subtleties, so don't be ashamed if you master only 25% of its capabilities. Bear with me, this tutorial is going to be very long.

The primary purpose of the Autolock plugin is very simple : your victim is free to roam around, unrestrained, and you want her restraints to suddenly lock her down and good, automatically, preferably at the worst moment, while you're not around. The Autolock plugin is a way to program your restraint in advance and to start a countdown, transforming your victim into some kind of "human bomb". It certainly feels that way from her point of view anyway !

The best way to see this is to compare it to the release timer : the release timer is the time spent after being locked, that unlocks the restraints after it expires, while the Autolock counts the time to spend before locking, and executes all kinds of things when it reaches zero. I will often say things like "when the autolock triggers", this just means "once the countdown is finished and the Autolock plugin must execute what it has been programmed to do".


That being said... well let's just look at the Autolock menu. I click on my cuffs and go to Plugins > Autolock :



If I press "More...." I get a second page :



(It's better to show both pages now because they are complimentary)

Whoa. Where to start ? These two pages show a lot of informations so please bear with me while I walk you through them all. Let's start with the text on the menus, before going to the buttons. Both menus show exactly the same text by the way.

These menus show the "next pose" (in other words which lock will be chosen if the autolock triggers in the cuffs) and who will get the key when it locks. For example, "2 Hnd back by Marine Kelley" would mean "these cuffs will chain themselves to the 2 Hnd back pose if the autolock triggers, and Marine Kelley would be given the key when it does". The key could also be made to stay on the cuffs, in which case it would show "keys avail.". This pose depends on the poses the cuffs know, it would be different on straps, ropes etc. Oh speaking of ropes, Autolock there is called "Autotie" because some terms change and there is no key on the ropes, but the principle and the buttons are the same. Just so you're not confused.

Then they show the time to wait before the autolock triggers, after "Lock in". It also mentions whether the time is counted only while the future captive is online ("(SL)"), or all the time even while offline ("(RL)"), and whether it is running or paused. Oh, and if the Long Time plugin has been set to hide the timers, then "Lock in" will not show the time either.

The next line shows the timer that will be set on the cuffs once the autolock triggers. Once again, if the Long Time plugin has been set to hide the timers, this line will be scrambled as well.

Finally, in the case of arms restraints, there are a "Block" and a "Mouselook" settings (they don't make sense for other kinds of restraints, and you may ignore them). These settings may be set to "Yes", "No" or "Default". I recommend leaving them to Default. This means that depending on the pose you chose, the captive will be blocked/mouselooked or not, and the Autolock will not mess with these settings. If you set them to "Yes" or "No", then they will override whatever block/mouselook toggle the restraint was set to for this particular pose (and it will stick, exactly like if you had clicked on "Block"/"Mouselook" yourself on the main page of the restraint menu). Ok that's complicated. Leave that to "Default" and don't worry about the rest.


Now that you know about the internals of the Autolock (which are all displayed on the text we've just reviewed), let's play with the buttons.

On the first page of the plugin, you can see the "More..." button that makes you go straight to page 2, "Main..." that brings you back to the main menu of the restraint, and "Run"/"Pause" to start/stop the countdown. Let's say I have not changed anything to the Autolock yet, it is still brand new. So it should show the first pose ("1 Hnd front"), timers at 0:0:0, SL time, the keys will be kept (because of the "by Marine Kelley" text) and I will be blocked/mouselooked according to whatever I set "1 Hnd front" to do in the first place ("Block : Default, Mouselook : Default"). So far so good. That "Run" button is just begging to be pressed, y'know... it's like... I can't help myself... I just can't... resist...

... I press "Run".

"Device autolocking in 1 minute. Last warning, get ready..."

Eek ! What happened ?! Hey where are all the buttons ? All I see now is "Ok", "Copy/Paste" and an empty button ? And I read "*** Autolock running, no access for the wearer."... the wearer is me, right ? Autolock is running... well duh, I just pressed "Run" ! How long is it going to take before it locks, I didn't even set a countdown, will it run indefini --

"Police Handcuffs 1.16 (RW) (r forearm) automatic lock triggered"
"Police Handcuffs 1.16 (RW) (r forearm) has been locked by Marine Kelley (type 1 Hnd front)"

And an IM from the cuffs to me, because I was the keyholder when they locked :
"Police Handcuffs 1.16 (RW) (r forearm) automatic lock triggered (Type: 1 Hnd front, Time: 0:0:0, Keys: Kept, Block: DEFAULT, ML: DEFAULT)"


Ok... that's not funny. Let me review what happened while I unlock my cuffs. I can because I have the key and no timer is set (phew !). So, I pressed "Run", which immediately started the countdown. As no initial countdown was set, it set it to 70 seconds automatically so I could get a warning 60 seconds before it triggered. It also hid all the informations from me, for self-bondage purposes, y'know. I mean, I could have unworn the cuffs (since they were not locked), but the countdown timer would have resumed itself as soon as I worn them again later anyway, and I had no option to stop it. Oh and about the warning... I would not have gotten any if the timers were hidden thanks to the Long Time plugin (that's a very useful thing to know when you want to surprise your captive). You may have noticed the "Copy/Paste" button too but I will not talk about it now, it is advanced stuff.

Back to the buttons. Yes I will leave that "Run" button alone this time. On the second row are perhaps the most important buttons to make the Autolock plugin work, after "Run" : the countdown ! You can reset it with "Clear", or add time to it by pressing "Delay +30mn" or "Delay +3h". "Delay" is a synonym for "countdown", but is shorter. Just remember that these buttons set the time to wait before the autolock triggers. Use them to set the countdown you want, then press "Run" and you are guaranteed the victim will get locked eventually.

The two top rows are the actual poses, which vary depending on the restraint you use. They are always equal to the poses you see on the main menu of the restraint. In our case "1 Hnd front" and "2 Hnd back".


Let's go to page 2, which bears even more options ! If you only use page 1, you can have your captive locked down eventually and you'd get the key. She would just be squirming somewhere, anxiously waiting for you to pick her up. But page 2 is where the fun is. Let's review its buttons too.

The bottom row allows you to go back to page 1, or to go directly to the main page of the cuffs, or to switch between "online time only" or "calendar time" for the countdown timer. For instance if the time is 6 pm and you want your captive to be ready for you before you come back from work tomorrow at around 6 pm, just set a 24 hours countdown (delay) and set it to "RL" with this button. Or maybe only 21 hours, so she has time to "bake" a little before you come back. Hehe.

The second row from the bottom lets you add a random delay between half an hour and two hours with the "Del +1/2h-2h" button, or a random additional time within the same interval to the release timer with the "+1/2h-2h" button, or to choose to leave the keys on or to keep them once the autolock triggers. You could, after all, decide to set a long release timer on your captive's cuffs and to leave the keys on, so that anyone can play with her ! Personally I always keep the keys.

The second row from the top lets you add time to the release timer. Notice the buttons are exactly the same as on the main page of the cuffs : "No timer", "+30 mn", "+3 h", and they act exactly the same, except that they don't add time to the release timer right now, they program the plugin to add time to the release timer after the autolock triggers (after the countdown is expired).

The top row lets you choose whether the captive will be Blocked, forced to stay in Mouselook (leave both to Default, that's safer), or to uh... "Copy/Paste".


Before I talk about "Copy/Paste", let me recap this all by giving you an example. This is a tutorial after all, not a user manual.

I take the keys to my cuffs (it's important that I am the keyholder now, because I want to show you a little something later). I go to page 1 and set a delay of one hour by pressing "Delay +30mn" twice (I can check that countdown on the "Lock in" entry). Right now I could wait for hours, the plugin would not fire the autolock because it is "(Paused)". I must press "Run" to start it. But before, let me choose the pose (I want my hands cuffed behind my back this time, so I press "2 Hnd back"). Then, I go to page 2 by pressing "More..." and add time to the release timer, so that once it triggers I will not be able to free myself anymore until that timer expires too. Therefore I press "+30 mn" once. I think I'm all set, that was short. Going back to page 1, I press... "Run".


Immediately you can notice my menu has changed again to that stupid "you can't do anything" page. At least it has the decency to tell me that one hour will pass before it locks me down. Nya nya nya. I'm so screwed !


I also hear my cuffs saying things to me...
"Device autolocking in 1 hour."

Then nothing. 30 minutes pass...
"Device autolocking in 30 minutes."

"Device autolocking in 15 minutes. Think about finishing what you're doing before getting restrained..."
"Device autolocking in 5 minutes. Time to pack your things up and go to a safe place..."
"Device autolocking in 2 minutes. Make sure you're somewhere safe."
Ok I'm getting anxious now...
"Device autolocking in 1 minute. Last warning, get ready..."
/me gulps.

And finally...

"Police Handcuffs 1.16 (RW) (r forearm) automatic lock triggered"
"Police Handcuffs 1.16 (RW) (r forearm) has been locked by Marine Kelley (type 2 Hnd back)"

And I get an IM from the cuffs on top of it, because I was the keyholder when they locked, a short report to tell me everything went according to the plan :
"Police Handcuffs 1.16 (RW) (r forearm) automatic lock triggered (Type: 2 Hnd back, Time: 0:30:0, Keys: Kept, Block: DEFAULT, ML: DEFAULT)"

Sooo... my hands are now cuffed behind my back, I am blocked (because the "2 Hnd back" pose is a blocking one and the Autolock was told to leave that setting alone), and a timer of 30 minutes is running. Everything went according to the plan indeed !

I'd like to point out that if my cuffs were already locked at that time, then the Autolock would still have worked, and would have added half an hour to whatever their timer was set to at that time. Remember the Autolock adds time to the release timer when it fires, it never reset it. This is handy to make your captive believe her cuffs are going to stay, then to eventually set a timer to them. You could even simulate the RL security plugin by setting an autolock that counts calendar time ("RL" button), leaves the keys on and does not set any timer. There are a lot of wicked things you can do with an Autolock, your imagination will help you here.


One last thing, I wish to explain how the "Copy/Paste" button works. This is very advanced stuff but can save you a lot of time if your captive wears a lot of restraints. It can also screw a game up royally so you have to be careful.

In short, what it does is export its settings to other RR products worn by the same avatar. With conditions and limitations. When you hit "Copy/Paste", every other restraint that the captive is wearing and that satisfies to the following conditions :

* Its key must be held by the same keyholder
* It must not be running

... will have the following settings replaced by what was exported :

* Whether the key will be kept or left available
* The countdown
* Whether the countdown is online time or RL time
* The release timer
* The state Running/Paused (so it can be set to Running but not be paused that way)

Please note that it will not replace the pose (which would not make sense anyway, since different restraints do not share the same poses), nor the Block/Mouselook settings (for the same reason). This is very important to remember : take the key and choose the pose on every single restraint first, then choose one of the restraints to copy/paste from. The restraints you don't hold the key of will be ruled out from the copy/paste action. Which may be a good thing.

For example, I wear my Police Legirons and I change the pose on their own Autolock to "Hogtie". I take their key and the ones of my handcuffs ! This is one step to not forget ! I need both keys or the Copy/Paste action will not work. Read this twice.

Then I go to the Autolock plugin of my handcuffs and set it to the same settings as before : one hour countdown, half an hour before release, keys kept, pose "2 Hnd back". Then I hit "Run". I now get that little page telling me I can't do anything, but at least I can still "Copy/Paste", so I press that button. What happens ? As I am the keyholder of both restraints, the legirons accept the export and change their settings, and therefore start their own Autolock as well. I even get a confirmation :

"Police Legirons 1.16 (RA) (r lower leg) : Autolock updated [Type: Hogtie, Time: 0:30:0, Keys: Kept, Block: DEFAULT, ML: DEFAULT]"

I could confirm this on the Autolock page of the legirons as well. Check it is running if you like. And yes the Block and Mouselook settings make no sense on legs restraints, ignore them.


You already guess the outcome... In exactly one hour I will be squirming hogtied on the floor where I stand. There is nothing I can do to avoid it now. Isn't that a wonderful feeling ? *g*


Have fun !
Marine