-
Notifications
You must be signed in to change notification settings - Fork 2
Home
The RLV plugin shipped with the Gecko Release of nPose has a few drawbacks that makes it a little hard to use. Most of the drawbacks are by design and a few of them are annoying little bugs. In one of my build I decided to implement a Timer (Trap) function, but the existing timer plugin wasn't much flexible. As I looked through the code of the RLV plugin and the RLV timer plugin I noticed that this was by design. The timer can't work as I would like it to work, if it isn't integrated to the RLV plugin itself. As I was doing so I soon realized the the code design would not allow me to seamless integrate the new function. So I finally decided to rewrite constitutive parts of the plugin from the scratch. The goal I had in mind was:
A code design that is clean, covers (almost) any situation and that is easy to use for builders and users.
No. You can't simply replace the RLV plugins in existing builds.
As I designed the new logic I came to a point that was worth to implement but would break the backward compatibility. I talked with Howard (the maintainer of nPose) about it and he said that he would be willing to ship both, the old RLV plugin and the new nPose RLV+
plugin. So I decided to get rid of outdated customs and practices completly. But do not scare, you will see that it will very easy to implement the new nPose RLV+
plugin into your build.
- Your build must at least contain the following scripts:
nPose Core
nPose Dialog
nPose menu
nPose Slave
nPose RLV+ Core
- Add a NC called
BTN:-RLV-
with the following content:
LINKMSG|-8000|showMenu,%AVKEY%
- If you want your user to be able to add additional restrictions to a victim via menu, then also drop the
nPose RLV+ RestrictionsMenu
script into your build.
DONE.
So how could this could work almost out of the box?
I implemented default settings into the script that should cover the needs of a huge amount of RLV enabled furnitures. You can of course change theses settings if they don't match your build. In detail the most important settings are:
RLV_enabledSeats=*
(this means that every seat in your build is RLV enabled, please see Global options)
rlvBaseRestrictions: @unsit=n/@sittp=n/@tploc=n/@tplure=n/@tplm=n/@acceptpermission=add/@editobj:%MYKEY%=add
(please see Link messages)
To be continued ...