Cool VL Viewer forum http://sldev.free.fr/forum/ |
|
RestrainedLove commands black-listing http://sldev.free.fr/forum/viewtopic.php?f=7&t=646 |
Page 1 of 2 |
Author: | Henri Beauchamp [ 2011-11-19 15:15:09 ] |
Post subject: | RestrainedLove commands black-listing |
For a very long time now (years !), this is a feature I advocated for... And I got tired to wait for it to get implemented by Marine and to have, in the mean time, to compile personal builds of the Cool VL Viewer with blacklisting enabled (since there are some RestrainedLove commands that are just unacceptable for a true role-player like me). So, here it is for everyone to enjoy (and I hope, for Marine and RLVa folks to inspire themselves from it). Starting with Cool VL Viewer v1.26.0.28 and v1.26.2.6, you can blacklist RestrainedLove commands with the exception of information commands and a few management commands (none of the @get* and @version* commands can be blacklisted, neither any of @clear, @notify, @detachme, @findfolder, @setrot, @adjustheight, @emote). Blacklisting is done by listing the commands (as a comma-separated list) in the RestrainedLoveBlacklist variable. Note however, that this variable is only read when the viewer is started (so that one can't cheat by adding a command to the blacklist and see it ignored during an ongoing session). Also since some commands have a different effect depending on whether you use them with a "add"/"rem" parameter or with a "force" parameter, the latter are distinguished in the black list by adding "%f" to their "behaviour" name (i.e., you use "behav" in the variable to black-list @behav=add, and "behav%f" to blacklist @behav=force). So, for example, to blacklist @*im*, @setdebug=add and @setdebug_*=force commands, you set the RestrainedLoveBlacklist variable to "sendim,sendim_sec,sendimto,startim,startimto,recvim,recvim_sec,recvimfrom,setdebug,setdebug_%f". Since it would be unpractical for the average, non-geeky user to set this variable manually, the Cool VL Viewer provides an easier way to set it. For a start, I defined three basic profiles as follow (with the explanations that you will also find as tool tips for the corresponding radio buttons in the preferences floater):
And here is how it shows in the "Cool features" tab, "RetrainedLove" sub-tab of the "Preferences" floater: Then, if the black lists defined for the above profiles still don't suit you, you may choose to press the "Custom" button, that opens the following floater: As you can see, the commands are actually regrouped in categories that should hopefully prove clear and easy to understand even to the newbies. For the geeky folks among you, hovering the mouse cursor on the check boxes also pops up a tool tip containing all the @commands that are associated with the corresponding category. Now, some scripters among you could start yelling at me for implementing stuff that breaks their RestrainedLove scripts. Well, as a scripter myself, and a maker and seller of RestrainedLove-enabled products, I did think about it all a lot before implementing such a feature. For a start, you must consider that many RestrainedLove relays already implemented their own black-listing feature, so the viewer-side black list won't affect more in-world scripted items (those RestrainedLove items that are not worn and thus need a relay) than the black-list enabled relays have already been affecting for years. In fact, the viewer-side black list may even improve the situation since, unlike relays, it can give feedback about commands support... which brings us to the following chapter: You also get a new info command (@getcommand), which may be used to retrieve the list of the commands that are both supported and not blacklisted by the viewer. This command actually already existed in RLVa (it reported the supported commands too, but of course, didn't take into account any black-list since there was none). It works much like the @getstatus command. The syntax is as follow: @getcommand[:partial_name_match]=channel Where "partial_name_match" is the (part) name of the command(s) for which you want to know if the viewer will execute it(them). Example: @getcommand:sendim=222 Will report "/sendim/sendim_sec/sendimto" for a "BDSM Persona-Player" profile and an empty string for a "BDSM Role-Player" or "Non-BDSM" profile. There is however a small issue with @getcommand as it was implemented in RLVa: it didn't make any distinction between the @behav=add, and @behav=force variations of some commands and just returned "behav" (since with no black-list, if one variation was supported, the other was too). With the possibility to blacklist one variation and not the other, it would be better if @getcommand could distinguish both... (EDIT: see this post for update) With the extended @getcommand version, you could, for example, issue "@getcommand:remattach=222" and get "/remattach/remattach%f" when none of @remattach=add or @remattach=force are blacklisted (Persona and Role Players profiles), or just "/remattach%f" when @remattach=add is blacklisted (Non-BDSM profile). It must also be noted that @notify reports succeed even for blacklisted commands. This is so that existing scripts (that expect some commands to be present based on RLV version number) don't get "stuck" waiting for a @notify report upon issuing a blacklisted command. As a final word, I'll say that the black list actually broadens immensely the use of RestrainedLove that non BDSM-Persona-Players were so far very reluctant to enable in their viewer because of the unwanted restrictions they hated or just feared. |
Author: | Ibrew Meads [ 2011-11-20 21:48:08 ] |
Post subject: | Re: RestrainedLove commands black-listing |
Wonderful Idea, and superb implementation. I hope and expect that this will wind up in the new RLV/RLVa work Marine and Kitty are doing. I do have one completely cosmetic suggestion. As I'm sure you know, a lot of people are hesitant to use any RLV functionality because of it's BDSM and kinky sex related image. I think it would be better if we don't contribute to that and change the description wording on the preferences from "BDSM Toys Support" to "Extended and Restraint Support" and in the User Profiles change "BDSM" to "RLV." Or some other wording that doesn't have the kinky connotation. In places where BDSM is referenced, say something like "Originally developed for the BDSM community." and so on. I would love to tell people to enable RLV and check the Non-RLV profile and then they can use the automatic teleporters and wardrobe changers, and never worry about being locked to a device or forced into kinky sex. I know it's not much of a change, but I have some friends who are rabid about it and as soon as they see "BDSM" they freak out and run away screaming. (One wouldn't even let me hug her until I renamed my collar from "Ibrew's Collar" to "Ibrew's Choker" because she was so upset by the idea of being controlled.) This is certainly not a high priority, but just something to keep in the back of your mind while coding. Keep up the great work, Henri! You rock! |
Author: | Henri Beauchamp [ 2011-11-26 14:41:25 ] | |||||||||
Post subject: | Re: RestrainedLove commands black-listing | |||||||||
|
Author: | Lord [ 2011-11-28 01:23:07 ] |
Post subject: | Re: RestrainedLove commands black-listing |
3 things come to mind: Are the profiles hot swappable in-world or do you need to change the selection and then restart ? When you choose Custom what profile does it show you chose ? Does the viewer broadcast what profile you currently are using to other RLV users (possibly with a query command?) ? |
Author: | Henri Beauchamp [ 2011-11-28 01:31:08 ] | |||||||||||||||||||||||||||
Post subject: | Re: RestrainedLove commands black-listing | |||||||||||||||||||||||||||
|
Author: | Henri Beauchamp [ 2011-12-03 14:40:51 ] |
Post subject: | Re: RestrainedLove commands black-listing |
Since Marine adopted the blacklist and implemented new commands, the Cool VL Viewer v1.26.0.29 and v1.26.2.8 were made compatible with and updated to RLV 2.08.01. Also, the RLVa-like @getcommand (which is not implemented in Marine's RLV) is still there, but in its extended version only, i.e. like if the "Enable extended @getcommand version" setting (implemented in v1.26.0.28 and v1.26.2.6 and now removed), was always on. The new commands to get the blacklist are @getblacklist (also works in IMs, just like @version does) and @versionnumbl (works only for scripts and returns the version number followed with the comma-separated list of the blacklisted commands). |
Author: | Raish [ 2011-12-06 19:39:19 ] |
Post subject: | Re: RestrainedLove commands black-listing |
This essentially breaks one feature of many RLV furniture/relays of keeping a captive on reloging. All one has to do is setting the blacklisting to non-bdsm and relog and it's a silent escape. Now i realize you could just as well turn off RLV and do the same, but that option is well known and being checked for, unlike the black-listing which pretends it got RLV while possible only having a few non key elements of it. So my suggestion is this: Only allow black-listing options to be changed when no restrictions that were in effect at the end of the last session are affected. The alternative would be that everyone who cares about this has to expand their scripts to check for all the various possibilities opened by this/buy such scripts. More work, more lag, more cost .. you get the idea. |
Author: | Henri Beauchamp [ 2011-12-06 20:00:30 ] | |||||||||||||||||||||||||||||||||||||||||||||
Post subject: | Re: RestrainedLove commands black-listing | |||||||||||||||||||||||||||||||||||||||||||||
There is no need for scripters to bother trying to cover all the cases (including cheating ones). All they should care about is providing proper support for people their device is designed for and clearly state the limitations in the documentation. |
Author: | Raish [ 2011-12-06 22:52:57 ] | ||||||||||||||||||||||||||||||||||||
Post subject: | Re: RestrainedLove commands black-listing | ||||||||||||||||||||||||||||||||||||
Okay it's not being checked for normally by devices, but if wanted can easily be done as it's just one value and not 20. I'm specifically thinking of the OpenCollar's function to notify the owner when the wearer logs in with a non-RLV Viewer. This creates a bit of a deterrent to cheating out unless really necessary. The other devices don't have to do anything and yet things get more interesting.
I agree there needs to be a way to escape buggy scripts/bad situations, but one is all that is needed. Why create more escape paths that are hard to be controlled? So allow turning RLV off altogether anytime, but allow fine tuning only if it doesn't affect the current restrictions. |
Author: | Ibrew Meads [ 2011-12-06 23:29:05 ] | |||||||||||||||||||||||||||
Post subject: | Re: RestrainedLove commands black-listing | |||||||||||||||||||||||||||
I'm pretty sure you'll see the collars start checking for this. It's simple and straightforward to check. It's also more appropriate for the collar to do it, since the RLV can be used for more than just bondage and restricting peoples ability to set those will just make it more difficult for those who don't use the RLV for bondage play. |
Page 1 of 2 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |