Friday, January 4, 2019

Third update to the Police Collar

Hello and Happy New Year !


Yes, this is yet another update to the Police Collar, and this one is about popular requests. There are a few of them, plus a few bug fixes, and I will develop for each one of them below.

There's a lot to say so if you don't want to read, here is the "tl;dr" version :

- The Police Collar is now able to suppress your speech after a punishment, even if you are gagged with RR gags. The speech suppression lasts until your vision returns to normal.

- The Police Collar is no longer restricted to just your user name or display name when it comes to finding out if you're speaking or not. The keyholder can now specify additional names to also monitor renamers you could be using (or RR gags with the "rename" function on).

- The Police Collar will no longer punish you when you are trying to struggle out, except when you fail a move (so it will punish you, just not as often).

- The level of punishment is chosen in a smarter way now.

- The relative position monitoring (a.k.a. "Stay close to Mistress, girl") is now working perfectly in all cases, with the right tolerance and all.


To update your collar and get these new features, you need to go to one of these locations :

My Little Shop
Chorazin's store
Roper's Dark Playground
Dark Wishes


Once there, click on the updater and follow the instructions. You need to choose "REPLACE" for this one as both the Zapper plugin and its Zapper_slave script have been modified, and the latter is contained in a child prim so the updater cannot update it without a replacement. Don't forget to save your times. If you do not get a "REPLACE" option, contact me (Marine Kelley) to get a manual replacement.




Now that this is out of the way, let's get into the specifics.



Speech suppression

I've often been asked to make it so the collar would suppress the speech after being zapped, and this makes sense as the current goes through the throat, it would be normal to paralyze it for a short time.

Problem is, what about gags ? Suppressing the direct speech is easy, but there is no way for an object to suppress the chat redirection RLV command that most gags use, so the sub would still be able to speak through a gag even after a punishment since when they speak it goes to a private channel instead of channel 0.

Well it works now, as long as the gags you use are RealRestraint gags (Deluxe gag, Ring gag, Ball gag, Tape gag, Isolation Hood or Mummy Gag), because they have a nice feature : they negotiate between each other to find out which one should garble the speech and which one should animate the mouth. If they didn't, wearing more than one gag at the same time would lead to double garbled speak unless all of them but one were set to "silent".

This is what the Police Collar will do from now on as well. When you are zapped, it pretends it is a very tight gag that supersedes all the others for a short time, that way you can't cheat. Even better, the speech suppression does not occur right away, you have 3 seconds during which you can speak and emote at will (this replaces the former allowance of 10 characters and 1 message only). After this delay, if you say something or emote something that goes beyond 20 characters ("/me" included), then whatever you say will be replaced with a predefined, random emote. That way you won't believe there is a bug or some chat lag when you try to say something after being punished, it is clear that your speech is restricted.

If the gag(s) you are using is not RealRestraint, then the speech suppression won't work, obviously, so you have a switch in the Options menu to completely deactivate it so it does not emote automatically.

The speech suppression remains active as long as your vision is blurry. You can speak again as soon as the vision returns to normal.

There is a switch in the Options menu named "Repl. chat" (replace chat). It is on by default but if you turn it off, your chat and your emotes (regardless of length) are suppressed after a punishment and are not replaced with a random emote. This is good for the case when you are using a renamer or a gag that is not from RealRestraint, as those cannot be suppressed by the collar. Keeping the switch on would add a dummy emote after everything you say through the renamer.

 




Tracking renamers

The second popular request was about renamers. RealRestraint gags and some other attachments are able to grab your redirected speech and say it on the public chat channel with another name than your own. For example, if you use a RR ball gag and use its "rename" function in the Gag plugin, you can rename yourself to whatever you want. If you enter "Pony", then whatever you say will be said by the gag under the name "Pony", be it direct chat or emotes.

But then, how does the Police Collar know it is you who's speaking ?

Simple, by letting the keyholder manage a list of names to monitor. By default, your user name and your display name are automatically monitored, meaning that if you speak under that name (or any of your attachments, for example a RR gag which renamer is not set), then the collar will detect that you are speaking and will punish you.

But the keyholder can add more names to that list and remove others (they can't remove the user name and the display name though, those are always monitored). They can do that either by entering the list by hand, with names separated by commas (","), or they can add or remove the name of the last attachment of yours that spoke at that time.

 

In the Speech menu, the keyholder can add a list of names, remove a list of names, set a list of names from scratch (remember, the display name of the wearer is always in the list, it can't be removed), say the list on the private chat, or add or remove the last speaking attachment for ease of use. If "monitored" appears after "Last speaker", this means that this attachment is already in the list.

For memory reasons, the list cannot contains more than 10 names, display name of the wearer not included. It will fail silently if you try to add more.

When your speech is suppressed and you try to speak or make a long emote, the collar will say a random emote instead, with the name that was used last time you were punished. That way, it will look like it is you who's making the emote.

For example, if your gag is set to name you "Pony" and you speak on the chat, your keyholder can just press the "Add last" button on the Speech menu and "Pony" will be added to the list if it is not already there. Next time you speak through that gag, the collar will know it's you and it will punish you. And then if you try to speak again, it will emote instead with the name "Pony", as if you were talking through your gag again (but it won't punish you for it this time).


There is a known limitation due to how the listener is managed. The collar can detect who is speaking only when the Speech restriction is set, otherwise the public listener is off to avoid unnecessarily listening to the chat (listening to public chat requires more script time if the area is busy and everyone is talking on the chat, even if you optimize the listener as much as you can). This means that when the speech is not monitored, when you are punished and your speech is temporarily restricted it will speak for you with your own name, as it cannot guess what name your gag or other renamer may be renaming you to.

When the sub is punished and her speech is momentarily suppressed, as I pointed out above the collar says a random emote on the chat instead... with the name of the last speaking attachment which name is monitored by the collar. Confusing ? Let me give you an example.

Suppose you are gagged and your gag renames you "Pony". If your speech is monitored by the collar and you speak on the chat and it punishes you, then your speech becomes suppressed for a few seconds until your vision is no longer blurry. If you speak during the speech suppression period, then instead of letting you speak or make a long emote, it will say an emote on the chat with the name "Pony". This name is the name of the last attachment of yours that spoke on the chat before the punishment (remember, "Pony" is the name of the gag when it speaks, not yours, and the gag is an attachment, not an avatar, yet it has to pretend to be one) and which name belongs to the list of monitored names. There may be others names, of course, depending on what your keyholder has written in it.

Problem is, if the speech is not monitored, the public listener is off, so the collar has no way to know that "Pony" has been speaking (nor should it care). But if you are punished for another reason, for example for being too far from your keyholder, your speech must be suppressed all the same, meaning that if you speak (through a gag or not), then that chat must be replaced with an emote... but with what name ? The gag does not know if you are speaking or if it is one of your attachments.

So all it does is tell all your worn RR gags "hey, gags, I'm taking over for now so be quiet" and redirect your chat to a particular channel temporarily. When you speak, it detects it and speaks for you on the public chat, either with a random emote or with your own emote if it is less than 20 characters long. If your speech was not monitored (i.e. if you are punished for any other reason), then it will not even try to guess what name you should be renamed to (because it can't know) and will just emote with your own avatar's display name. So don't be surprised if the renaming does not work all the time. It works well when the speech is monitored, and it does not work if it is not monitored, this is a known limitation.

You could ask "how about using the last name that was used by the sub in all circumstances ?", but in that case, what happens when the keyholder deactivates the speech monitoring while the sub was using a renamer, and had her name changed afterwards ? The collar wouldn't know since it wouldn't listen and it would still use the old name. It would be even more confusing than reverting back to the name of the avatar.



Penalties

I have extended the penalties system of the speech monitoring to the other three monitors (relative position, absolute position and tampering). What I mean by that is that now when you get punished for the first time in a while, the punishment is light. The second one is harder and the third and subsequent ones are the hardest. Punishments are level 1 (lowest) to 3 (highest) but penalties can go over 3 so the more you get punished in a short time, the longest it takes to go back to  normal.

Every minute the "heat" goes down a notch until it reaches 1.

For example, if you are restricted to stay within a certain distance from a fixed position with a tolerance of 5 seconds, then the first time you step out of that area for more than 5 seconds you will be punished with a light zap (level 1). If you stay there for 5 more seconds, you will be zapped a second time with a medium zap (level 2). If you keep staying there you will get zapped at the highest level (level 3) every 5 seconds. And if you go back to the allowed area for 1 minute after having been zapped three times then step out again, you will get a medium zap again (and then high zaps while you stay out).

Unlike the speech monitoring, these penalties are not written in the menu because they are more like a dynamic way to choose the level of punishment, but they're there.



Tampering

Until now, trying to struggle out automatically punishes the sub at each try. It is too deterministic so now the collar punishes only failed attempts, but successful attempts go unnoticed.

More over, there is now a switch in the Options menu named "Monit. Tamper.". If it is off, then the collar will not punish the sub for struggling at all.






Bug fixes

- We could get a "@clear" RLV command sent to a viewer with RLV inactive. I haven't seen or heard about this happen but it was possible in the code, so now it's conditioned by the detection of the RLV.

- The relative position monitoring did not work until at least one punishment was issued, if the keyholder was online but in another sim.

- The relative position monitoring did not work with a tolerance higher than 10 seconds.

- The default maximum distance in the absolute distance monitoring is now 20 m instead of 200 m. It was meant to be 20 m by default since the beginning (of course nothing keeps you from setting it back to 200 m manually).

- Fixed a typo when activating the Zapper.



Have fun !
Marine

Monday, December 24, 2018

Xmas gift - Sheer Camo Latex Catsuits !

Merry Christmas !

So a friend of mine asked me the other day to make sheer versions of the camo latex catsuits for her. I said ok, why not, that's a good idea... but why for you only ?

As a result, here are sheer camo latex catsuits for everyone ! Yes, for you too Ashe, since it was your idea in the first place :)









You can get them from the gift box at my shop in Pak, the box will stay there for two weeks starting today the 24th (*), so if you're a fan of catsuits, be sure to stop by and get yours !

If you are not familiar with the Maison De La Marquise Latex Catsuits, here is how you apply them :

- Wear the neck piece and one of the pairs of boots.
- If you're a Maitreya user, simply click on one of the buttons and choose the layer, and that's it.
- If you wear Proud Girls or other Lolas-compatible breasts, click on the "Bra" or "Top" buttons with a pink "L" underneath to apply the same textures to them as well.
- If you use another mesh body than Maitreya, for example Slink, you need it to be Omega-compatible and you can't use an Omega relay, since those do not relay materials. You click on one of the color buttons, then on the "Tattoo", "Inner" or "Outer" button.

Please note that although there is a neck piece and boots included, they are no-mod unlike the ones included in the retail versions of the catsuits. But if you own the latter, they work just the same and you can freely use them instead of the no-mod ones.


(*) So this means I will remove it Monday the 7th. Unless I forget or I'm too tied up, both of which being very likely.

PS : The military cap is not included. But if you like it, you can find it here.

Friday, December 21, 2018

Small update to the Need For Seed HUD

Hi !

Here is a small but long standing update for the Need For Seed HUD, which didn't have a "Clear" button to clean yourself up.

Now when you click on the red cross on the bottom right corner of the HUD, you also get to choose which layer to apply the invisible textures to Maitreya to clean your body (if you're a Maitreya user), and it loads the invisible textures to the two Omega scripts, making them ready to apply them on your body (if you're not a Maitreya user), exactly like all the other applier buttons. Then you can click on one of the Omega buttons, and/or one of the Lolas buttons (if you're using Lolas-compatible breasts like the Proud Girls), and you'll be clean again !

Please note that depending on what mesh head you use, you might have to use the Omega button several times, if you've applied cum to several layers. For example, if you've applied cum to the Lipstick and more cum to the Tattoo layers of your Lelutka mesh head, you will have to use the Omega button twice after clicking on the red cross. Once to clear the lipstick part and once to clear the tattoo part.



To update your Need For Seed HUD, simply rez the updater contained in the folder on the ground and wait, you will receive a new box a moment later. Leave the updater alone, it destroys itself after a while. Also no need to update the Feed Her Need For Seed HUD, this one is not impacted by this update at all, so no need to give a new copy to whoever you already gave a copy to.


Have fun !

Marine

Tuesday, December 18, 2018

RealRestraint update to v1.31

Hi !

Here is the latest update to v1.31 to all the products in the RealRestraint line, mostly with bug fixes but also with several interesting improvements.

There are many changes, but the main highlights of this update are :

- A fix for the RLV not always being detected upon login. I will explain below the reasons for this bug and the fix so that other designers may have an idea how to track and fix it in their own products too, because this is not restricted to RR.

- The RealRestraint_HUD object no longer being mandatory. This was a long-standing wish of mine, and to make the HUD optional was no trivial task, but now you will be able to completely do without it if you are using a viewer that implements RLV 2.9 completely (not Firestorm at the time of this writing, but the original RLV and Kokua do as well as several other viewers) and if your arms cuffs are not set to "Block". This will therefore let you save an attachment slot even if you are using a RR blindfold.


As for every RR update, you are given the choice between "update" and "replace".

"Update" means the updater merely updates some of the scripts contained inside the main object of your set (for example the right wrist cuff in the Police Handcuff set) and does not touch anything else. It may, depending on your product, add, remove or rename some items inside it but it won't change the shape of the object nor any texture, nothing.

"Replace" means that the product is deactivated, i.e. the contents inside its root prim are removed, and you are given a new one. This is the preferred option but it comes at the cost of having to resize it all again. There are some good news however : only the main object of your set is deactivated, the rest is untouched so you can still use the old secondary objects (left wrist cuff for example) with the new set you are given. This works... except if you are getting a replacement specifically to get new secondary items, of course. For example, if the update modifies the left wrist cuff, you will obviously not use the old left wrist cuff but the new one, which you will have to resize.

The update folder contains two scripts named "Copy Shape" and "Paste Shape", that you can use to transfer the shape of an old object to the corresponding new object. For example, if you don't want to adjust your new left wrist cuff because you've spent a long time adjusting the old one, you can drop the Copy Shape script in the old one and the Paste Shape script in the new one after putting them both on the ground, and if all goes well you will have very minor adjusting work to do, if at all (the scripts do some guesswork as to how each part of the new object has to adjust itself compared to its old counterpart, and it works perfectly unless other parts are too close in position, rotation and size). The way to use the scripts is described here, but I'm afraid the videos are broken because YouTube removed them for some reason and I didn't have a backup. I'll have to shoot them again soon.


So, should you update or replace ?

This is a difficult question and it depends entirely on what product(s) you are updating, what changes have occurred in this update for this product, and whether you really want such or such feature. If a feature requires a replacement but you really don't want to replace and you can do without the new feature, you can safely stick to a soft update.

This is why each feature below has a little code that indicates whether it requires an update or a replacement, and if it requires a replacement, it indicates whether you need to use the whole new set, or if you can use the main object of the new set and keep using the secondary objects of the old set. This is the case for updates that involve changes to scripts contained in a child prim of the main object (for example, a script inside the cuff part of the right wrist Police Handcuff, knowing that the root prim itself is actually an invisible cylinder). Here are the codes :


- "U" : You only need to soft-update, meaning choosing "UPDATE" while wearing your object, this is the nicest option for you.

- "G" : You need to soft-update but you must rez your object on the ground instead of wearing it because some some items inside it that are no-copy need to be updated, most likely animations. If you don't rez your object on the ground, the updater won't break it, it will just notify you that it could not replace some of its contents and that you'll have to retry.

- "R" : You need to have your main item replaced (for example, the right wrist cuff of a set of handcuffs), but you can keep using the older secondary items even though you received new ones, so you don't have to resize it all again. They are not deactivated upon replacement, only the main item is, and this particular enhancement does not break the link between both.

- "A" : You need to replace your whole set, even the secondary items are modified in this one, because this change impacts some or all the objects included in your set. If you keep using the old secondary items, chances are things won't work properly.


Attention, if you are updating your Restrained Elegance set, Police set or Vixen set, the table assumes that you have the mesh versions of them. If you don't, you will need to get a replacement in all cases.

Also, if your product, whatever it is, is v1.26 or below, you will need to replace it in all cases.



On top of the code explained above, each modification included in this update has its own unique identification, like A1, A2, B1 etc. In the table at the end of this post, you will find for each product (one per row) and for each modification (one per column) what choice is the best, update or replacement.


For example, modification "A1" (the fix for RLV not being detected) only requires a soft update ("U") regardless of the product you are updating.




A. All restraints


A1 (U) : Make sure the RLV is detected on log on every time.

This bug was weird and I suspect a change in the simulator software that happened a few months ago and that broke the ability of an object to speak on the chat while you log on. I mean, it had worked flawlessly for years before then. This also disturbs the ability of an object to detect your RLV, as it simply sends an owner message to your viewer and expects a response within a given time. But if the viewer cannot hear the message due to the object not sending it (but not knowing that it did not send it), the restraint waits for the response until it times out and decides there is no RLV on your side.

The fix is simply to send the RLV request once (that's llOwnerSay ("@version=xxxx") ) and then a second time 15 seconds later. In several months of testing, this has never failed to detect my RLV, even under heavy lag and/or with a very poor connection. So if you own a brand of products that need to detect the RLV of your users, I recommend you do it the same way : send one RLV version request at the moment the object rezzes, then another one if the first one times out, some time later. That way, if the RLV is detected right away, fine, the user cannot detach (for example) the product. Otherwise, the second request should act as a fail safe and avoid configuring your product for non-RLV usage while the user clearly has the RLV active and let them think there's a bug in your product.


A2 (U) : Make the RealRestraint HUD completely optional.

Without RLV, this HUD is used for 3 tasks :
- Block your clicks to prevent you from interacting with the environment (arms restraints only).
- Force you to stay in Mouselook by turning your screen black when you're in third person view (arms restraints only).
- Cover your screen with a more or less opaque prim (blindfolds only).

If your RLV implements the RLV API v2.9 (that's the version introducing vision restriction spheres used by blindfolds), and in the case of blindfolds if you set the Blindfold plugin to "Method: RLV" (because you have the choice there), then the restraint won't even rez a RealRestraint HUD anymore and if you are already wearing one, you will be able to detach it and it won't nag you for another one. But when you switch to "Method: HUD" (for blindfolds) or if you activate "Block" (for arms restraints), a HUD will be rezzed and will attach to your screen like before, and become non-detachable until those options are cleared.

This change therefore lets you spare one attachment slot by not wearing the RealRestraint HUD when it is not needed.



A3 (U) : The RealRestraint HUD used to update its own physical status once per second while seated. Not a big deal, but an unnecessary resource consumption nonetheless.



A4 (U) : You could be completely locked out from your own arms cuffs by doing the following :
- Turning /77 off.
- Restricting speaking on private channels, especially channel 77, thanks to the Control plugin.- Restricting "touch self" with the Touch plugin.
- Locking and setting a timer.

When the timer would end, the key would return to you but you wouldn't be able to access the menu of your cuffs.

The fix makes the main script send a signal to Control when the timer ends, and Control no longer restricts you if you have your own key and there is no timer set.



A5 (U) : RR API additions for third-party plugins.

- New link messages from Lockable :
  * -41 : Timer just ran out (ID field is irrelevant).
  * -42 : Timer was just set (ID field contains the time in seconds), also sent right after a -41.
  * -43 : Same as -21 but sent only on request with a "Data" link message sent to Lockable. The NUM field is different so a third-party plugin relying on -21 messages to count time will not be confused by one of them being sent on request from another plugin.

- New link messages to Lockable (strings are case-sensitive, don't include the quotes)) :
  * "Data" : Tells Lockable to resend its latest -21 link message, but with a -43 number instead.
  * "Names" : Tells lockable to resend its latest "Locks" message (not "ForceAnim" to avoid displaying an "Autoref" button on the main menu of a restraint that does not animate the avatar).
  * "Name" : Tells Lockable to set its keyholder display name to the one specified in the ID field. Attention, Lockable does not check that it matches the display name of the avatar whose UUID is the keyholder, you can set what you want.

- Specification of the -21 (and -43) link message sent by Lockable every 10 seconds (the new fields are Keyholder UUID and Name at the end, after a comma) :

TimeInSeconds/TimeLeftInSeconds/BestTimeInSeconds/BestEscapeTimeInSeconds,Gender/ShowingTime/UsingAlarm/TimesCheated/Verbose,Blocked/Mouselooked/Escapes,Keyholder_UUID/Keyholder_Name

- Aliases for "Lock", "Tie", "Unlock" and "Untie". Now when you send a "Cmd:Lock" link message to Lockable, it will work even in the case of a rope (which would expect a "Cmd:Tie" message). Same with "Unlock" and "Untie".

- Aliases for "Take keys", "Tighten", "Leave keys" and "Loosen". Same thing.

Please note that all that is explained above in this modification does not impact you as a user directly, but those changes are relevant to third-party plugin creators, so some of those third-party plugins may later issue updates that require you to update your RR products to v1.31. Don't worry though, if you're updating your RR products to get the other modifications and enhancements, you will get this one automatically too.



A6 (U) : Autolock sometimes forgot the names of the available locks until a reset. Now Autolock sends a "Names" link message (see modification A5 above) upon reset to request the list of locks from Lockable.



B. Blindfolds


B1 (U) : Locking to "Medium", "Thick" or "Opaque" then unlocking or locking to "Blurry", "Very thin", "Thin" or "Lock" used to clear most of the RLV restrictions but not all (for examples @shownames wasn't cleared). Now all of them are cleared as they should be.



C. Gags

C1 (U) : When turning Autorefresh off while wearing another RR gag, the former will do "as if" it were unlocked so that the other gag will animate your mouth, regardless of its type and lock (remember, RR gags negotiate among themselves to find out which one must garble and which one must animate so there is no conflict).

C2 (U) : Fixed the "Anim" field going blank which made the gag stop animating you until it was reset. This was due to another gag superseding this one and then being unworn before it.

C3 (R) : Ball gag & Ring gag : The neck piece is now non-detachable when the gag is just locked with "Lock". If this bothers you, you must detach the neck piece before the gag is locked.

C4 (U) : Added an "OOC" switch in the Gag plugin menu to allow Out-Of-Character chat when gagged (it is off by default). Attention : if you are using the original RLV, this fix requires that you use RLV 2.9.24.1 or above, because prior versions would not let OOC go through at all (this was a bug that needed to be fixed urgently in the RLV, 2.9.24.1 was released only a couple of days before this RR update).

C5 (U) : Now any "Total" lock takes precedence over any other lock in any other RR gag when it comes to garbling, to avoid cheating.

C6 (U) : Now "Typing" is no longer monitored when RLV is active. This is to avoid viewers like Radegast, which triggers the Typing animation even when the chat is redirected, from showing the world map continuously while typing when gagged.

C7 (G) : Deluxe Gag and the Ring Gag : The "Ringgag_Lelutka_Big" animation could be overridden on the upper right lip corner by other Bento animations.

C8 (A) : Deluxe Gag with Bridle : The Bridle would bring up the menu when touched, which was desired but allowed for cheating around /77 restrictions, so it has been removed. I have no idea if this fix was already live or not before this update, so I'm putting it here. Please test with your own Gag+Bridle combo before trying a replacement if you're not sure, by wearing both and clicking on the Bridle HUD. If you get the menu, then this modification is for you.



D. Restrained Elegance set

D1 (A) : The new Restrained Elegance set (the mesh one) was not compatible with Lockmeister at all, meaning it would not let chains spawn to some specific pieces of furniture.

D2 (A) : The particle chains should look better and tighter now on lower spec computers.

D3 (A) : The particle chains are now desaturated and no longer yellowish like before.

D4 (U) : Legs cuffs only : The Style plugin was not "per-lock" so setting the style to "invisible" in a lock would not let the ankle cuffs show again when unlocked.

D5 (A) : The engraving on the elbow cuffs would disappear when unlocked.

D6 (A) : The leash chains would not appear in u-shape.

D7 (A) : Keys reappeared on the secondary cuffs when reattaching them while the keys were taken (attach two cuffs, take the keys, detach the left one, reattach it, the key would reappear on it).



E. Serious Shackles set

E1 (A) : Same as D7.



F. Vixen set

F1 (U) : The "Deny" button was missing from the VixenTex plugin.

F2 (A) : Did a sanity pass on the particle chain scripts to make sure there is no conflict between the chains going between the cuffs and the ones going from the cuffs to pieces of furniture.

F3 (A) : A chain was missing in the "hands to collar" and "r-prayer" locks.

F4 (R) : Added a Style plugin to let you choose whether to hide or show the elbow cuffs in any lock or even unlocked (please note that you can still detach them at will in "Lock", regardless of the style you choose).



G. Police cuffs

G1 (A) : Added several rings hidden inside the wrists, elbows and ankle cuffs to let you adjust the cuffs to the rigged chains more easily if you don't want to stretch the cuffs too much. They're aligned with the rest of the chains so if you want to use them, you need to :

- Edit the cuff you wish to modify, check "Edit Linked" in the edit window.
- Cam inside your body (disable camera constraints if you have to, that's in the Advanced menu, Ctrl Alt D if you don't see it).
- Switch the ruler to "Local" instead of "Attachment" on the drop down list in the edit window.
- Click on the rings you want to move and move them out, aligning them with the rest.

You can see them on these pictures (I've made them glow in the pictures to emphasize them, but they don't glow in the retail product) :

Four rings in the left wrist cuff (four more in the right one too)

Four rings in the left elbow cuff (four more in the right one too)

Four rings in the left ankle cuff (you guessed it, four more in the right one as well)

Attention : This modification implies that since the number of prims changes, there is no way to port the times over the update, sorry about that.

G2 (A) : same as D7.



H. Police Collar

H1 (A) : Added a switch in the Zapper plugin to let the sub activate or deactivate the electric shocks, as some people might find it too hardcore or sadistic. The Zapper plugin is now deactivated by default, the sub has to activate it manually (if the collar is locked by someone else, the keyholder has an "Ask" button). Once activated and locked, the sub cannot deactivate it again until it is unlocked.

H2 (A) : Slightly increased the time for the blurriness effect to clear after being zapped.

H3 (U) : The Style plugin did not distinguish "Lock" and "Unlock".



I. All collars

I1 (U) : The Spy plugin didn't escape URLs, so regions with a space within their name would not give correct slurls.



J. Jammer

J1 (U) : The Jammer would not reset its target nickname upon owner change (you don't have to update your Jammer for this if you don't want to, you can simply reset it from the main menu and the nickname will be reset too).



Here is the table recapitulating all the features :


That's all ! This update is no way mandatory, but as you can see, there are a number of fixes and improvements that will make your life easier.

You can find an updater at the following places in-world :

My little shop

Dark Wishes

Roper's Dark Playground

Chorazin's main store

It looks like an orb floating above a pedestal, just click on it and follow the instructions.

Please note that Pak (where my little shop is) seems very laggy these days, I don't know why yet, and it interferes with the update process. I recommend you try one of the other three slurls in priority. Chorazin's place is the least laggy of all.


Have fun and Merry Christmas in advance !

Marine




Thursday, December 13, 2018

RLV 2.9.24.1

Hi,

Here is the latest version of the RLV with a few bug fixes, including one that is necessary for the upcoming update to v1.31 of the RealRestraints products (once my connection is back to normal, because this week "flaky and unreliable" does not begin to qualify it).

Here is the list of changes :

- fixed : Treat OOC chat messages -- those with "((" and "))" -- like any other chat messages (they used to go through any RLV restriction, then were always blocked even without any restriction at all). This is the fix you will need for RR v1.31 once it's out.

- fixed : When an object speaks and its name ends with " Resident" (with a space), assume it is trying to imitate the name of an avatar and remove the " Resident" part.

- fixed : When selecting any other Windlight setting than "Use Region Settings", then going back to "Use Region Settings", the tick would not go back to this menu item.

- fixed : @recvchat would not prevent chat messages like "test /me tests" from showing, because of the part before "/me".


You can grab the Windows version here :
http://www.erestraints.com/realrestraint/


The MD5 hash for the Windows executable is :
a55541fb9de027dfae91befe9d5c4d69


Have fun !
Marine 

Thursday, December 6, 2018

Second update to the Police Collar

Hello there,

So I thought I was done with the new Police Collar after the latest update, but... I improved it a little more lately, especially the speech monitoring feature.

Until now it would monitor the speech from the sub and punish her if she sent more lines than she was allowed. But there's a way to be more devious than that : by allowing a certain number of characters per minute !

So the big change is that now the Tolerance for the speech monitoring will be in characters per minute instead of chat lines. This includes characters put between double quotes inside emotes, because those should count as well.

There is also the new concept of "Penalties" added every time the sub is punished for talking too much. In short, every penalty decreases the tolerance, I'll explain below the exact calculations. For now, here is the list of changes and fixes :

- added : Beeps when recovering characters or clearing penalties.

- added : Limited access to the plugin to the sub so that she can check her own stats and turn the sounds on or off if needed.

- changed : Now the speech tolerance is counted in characters per minute, including those between double quotes within an emote.

- changed : Made the plugin menu clearer and more comprehensive when showing stats.

- changed : When punished for talking, the sub is now given a free 10 characters allowance for a limited time to let her "comment" on the zap itself.

- fixed : There should be no monitoring going on while the collar is unlocked.

- fixed : When Absolute monitoring was on, Relative monitoring did not punish for being too far from the keyholder.




To update your collar and get these new features, you need to go to one of these locations :

My Little Shop
Chorazin's store
Roper's Dark Playground
Dark Wishes


Once there, click on the updater and follow the instructions. If you already got the previous update (this one), you can choose "UPDATE" on the menu instead of "REPLACE", which will replace your "*Zapper" script with one named "_Zapper", which is exactly the same script with a different name, and of course the new features detailed above.

If you do not have the last update, you absolutely need to choose "REPLACE" on the menu instead of "UPDATE" because one of the changes involves a script contained in a child prim, which the updater cannot reach. If you do not get a "REPLACE" option, contact me (Marine Kelley) to get a manual replacement.



Ok, so what's the deal about penalties and characters per minute ? Let's get into details now.

When speech monitoring is activated, the sub is given a tolerance of 60 characters per minute. If she stays under that limit, fine, she won't get punished. If she send emotes like :

/me says "This is a vocal message"

Then the "This is a vocal message" part counts against the character allowance (but not the double quotes).

If she goes over her limit, then she gets punished, no surprise there. But she also gets one penalty, or more if she goes way over her limit, like twice or three times her allowance.

Each penalty lowers the tolerance like this :

* 1 penalty : Speech tolerance loses 15%.
* 2 penalties : Speech tolerance loses 25%.
* 3 penalties : Speech tolerance loses 50%.
* 4 penalties : Speech tolerance loses 80%.
* 5 penalties : Speech tolerance loses 90%.
* 6 penalties or more : Speech tolerance loses 90% and one character per penalty beyond 5.

For example, if the speech tolerance is 60 (which is the default), then it goes down to 51 characters per minute with one penalty, 45 with two, 30 with three, 12 with four, 6 with five, and then 5, 4, 3, 2 and 1 (you can't go under 1).

Every minute one penalty is removed, so if the sub has talked too much, it may take minutes before she is back to her full allowance.

Also, the intensity of the punishment for talking is now tied to the number of penalties. In other words, one penalty won't hurt much but three and more will be really painful.

The number of characters she is allowed goes up by a sixth of her tolerance (adjusted by the current penalties) every 10 seconds. In other words, if she has no penalty and a 60 character tolerance, she gets back 10 characters every 10 seconds. If she has 1 penalty, she only gets back 8 every 10 seconds and it will stop at 51.

Here is an example when having said 30 characters in a 60-character tolerance (hence 30 characters of allowance left), with no penalty :


And after having been punished twice in a short time, the tolerance goes down to 45, written twice for more clarity, both in the allowance line (marked "Chars left" in the menu) and in the Tolerance line so you see the effect of those two penalties on the initial tolerance :


Note that although the penalties are cleared over time, the number of punishments is not, it must be cleared manually by the keyholder.


When she gets characters back (so every 10 seconds), a short "beep" is heard. When she gets back all her characters (so her allowance is now equal to the adjusted tolerance), four rapid "beeps" are heard.

When she clears one penalty, another "beep" is heard with a different tone, and a two-tone "beep" is heard when all the penalties are cleared.

If all those beeps are annoying for you or the people around you, you can always turn them off yourself or have your keyholder do it for you. The Zapper plugin is now available to the sub even when locked, but she only gets minimal access. It is useful for having a glance at the stats at any time.

When the sub gets zapped, she is given an extra 10 characters allowance if she wants to comment on the punishment and won't be punished again for it. Comment like "Ouch!", "Ow!" etc. Be careful, that's only 10 characters and only one chat message, she cannot hope to cheat through this extra allowance.


You might think that all those rules and constraints are complicated, maybe superfluous. The goal here is to convince the sub that it is better to remain quiet than to try to game the system, as it becomes harsher if she keeps testing it. You can think of the complexity as a way to get some psychological leverage over the sub. Hehe.


Have fun !

Marine

Wednesday, November 28, 2018

RLV 2.9.24

Hi,

Here is the latest version of the RLV, including LL's latest code with Animesh and a few fixes for some annoying or silly bugs. Here's the change list :


- added : A "Refresh Attachments" menu item in "Advanced" (Ctrl-Alt-D to make that menu visible if you don't see it), a feature coming from Firestorm to help when one of your attachments is ghosted after a teleport.

- fixed : We could not move an attachment or part of it while sitting on someting and restricted from teleporting or sit-teleporting.

- fixed : When under @shownames, "Second Life" would appear in the chat history instead of an obfuscated name (thank you Carina Asbrink for the report).

- fixed : One of the debug screens was not affected by @shownames.

- fixed : Hearing emotes said by a personal attachment which imitated the name of an avatar around us, did not have its name obfuscated when under @shownames.

- fixed : RestrainedLoveAvatarShadows level 2 was broken.

- fixed : After changing the Windlight settins through RLV and restoring region defaults via the menu (not via RLV), the sun went on its course at a high speed.




You can grab the Windows version here :
http://www.erestraints.com/realrestraint/


Alternate download link if the erestraints website is down :
https://www.dropbox.com/s/siz5m89dbqf8xj0/RestrainedLoveSetup.exe?dl=0


The MD5 hash for the Windows executable is :
8ea8dfca1c5f0c5e437cf83c7877a54d


Have fun !
Marine