PFS HarnessGag

From PFS Wiki
Hg photo wiki3.png

[PFS] Harness gag v1.4

The [PFS] Harness gag is a bondage gear (not rigged and compatible to any head) to restrict your talk and view, mostly dedicated to ponyplay, it can be used in many other disciplines, you will be able to:
- lock/unlock with RLV or RLVa
- restrict your ability to talk with 5 gag levels plus full silenced
- use 5 gag types (ball, bit, cock, holed ball & ring)
- switch simple ring gag to complex ring gag for the best adjustment
- leash with auto turn and auto TP to leash holder
- apply view masks following style and color of the harness gag
- apply vision restrictions like ML, cam lilit or focus your keyholder body
- show/hide accessories (ears, blinders, tag or lashes)
- use RL/SL timer
- colorize & texture over menu, accessible by both user and keyholder
- work with RLV & RLVa, auto switch when locked
- make and add your own tag logo with integrated tag UV
- add your own mask texture
- add additionnal scripts for public, PFS access
- add your own access script (example is provided)

changes in v1.2:
- public leash access
- baned list
- allowed list

changes in v1.3:
- fixed the camera issue when leashed and sit on object
- fixed cannot unleash yourself if leashed to post, public leash, and not having the key

changes in v1.4:
- new PBR and legacy textures
- add resizing menu
- change leash particules from bit when selected
- change group access
- add force group restriction
- remove glossiness and environment for Legacy textures
- remove one prim ring gag and keep the 3 parts version
- scripts aligned to long & short bridles

1. Generalities

This bondage gear is the result of the cooperation with Filly Heartsong who did the mesh design. We both put together our long experience in mesh design and scripting to provide you an unique gear. Because we care we are open to listen all your comments and suggestions, as long it will help to get a better product!




1.1 RLV

As a viewer standard, RLV restrictions are filtered to the object UUID and if your object uses same restrictions for several functions, you may run into trouble and the result may look a way different than expected. Thay's why RLV, here, is managed to the script level. You can have several scripts triggering restrictions w/o any interactions between them. You can easily follows the object restrictions table from the RLV menu.
Both RLV and RLVa are supported here but for some special features like screen overlay an addition attachement is required for RLV users. Even if most of us uses RLVa viewers today we still need to make things compatible to previous standards.




1.2 Access

The menu access is build in an inovative way. As standard, everyone can access the menu, with different access levels. Access levels are:

  • public
  • owner
  • keyholder
  • selftouch

Depending on the lock state of the object, you may get different access levels (they are cumulable) which allows you to do things or not. The not allowed functions are strikethrough but the positive side is you can still read every parameter and setting, including the user.
You can set banned or allowed avatars from the menu access to protect yourself, either by scan or with uuid value. You can also add banned or allowed avatars from the public ask menu if the key is not present. Allowed avatars can access the menu if the private mode is enabled.
The menu is mono user but the keyholder has always the priority to access it.
You can access it using the command line over channel 7, just hit /7##gag to get access to the main menu of the object. Replace ## with the user 2 first letters of the user name.
The use of the API allows you to override the actual keyholder, this will help you to implement your own access list from wherever you want. You can implement "key grabbing" scripts as much you want they are asked one after the other. For more info look at the included public access script "plug.access.public".



1.3 Configurable

The object includes notecards to configure it, you can modify them at your own risk:
- logo: list of textures for the tag logo.
- maskenv: list of extra masks textures (if you want to add some more) and list of the EEP environment presets.



1.4 API

Objects you cannot mod are no fun, that's why you will find here an integrated API that will allows you make your own key grabbing script. plug.access.public is a script, full mod and documented, to make your own.



1.5 Integrated help

To make it accessible and easy to use, the object menus have a "help" feature to stream in your chat window some general informations regarding the actual menu displayed to help you to understand what does every buttons.



1.6 Truekey

The only way to unlock the object is the use of the key held by the keyholder. In case you are stuck or the keyholder not showing back you can, if seted up previously, use the Truekey feature to get unlocked by everyone having the key password. You can access it, set it up and use it fromt he "Tools" menu.



2. Harness gag features

2.1 Main menu

The main menu provides you an access to all the functions. You can access it if you touch me or use the command line in the of 5m range. Command line is on channel 7 and is built with the 2 first letters of the username followed by the type of the gear: gag here... Example for 'nikki resident' gag you will type /7nigag (you will be noticed if the user has a customized prefix). You can also replace the prefix with '*' to get all users menus. Keyholder are not concerned by the distance limit but take in account the talk range limit.

❓ HELP ❓ – Streams the help into the chat window.
- Move back to the previous page.
- Move forward to the next page.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone. If not, the access menu will timeout after 300s of no use. Keyholder always have the priority to access the menu even if used by someone else. The actual menu user will be noticed for any attempt to access the menu (fail or success).
lock 🔓 – This object is not locked, no RLV restrictions are applied.
unlock 🔒 – This object is locked, you cannot remove it and RLV restrictions are applied.
key 🚫 – The key is not present and has been taken by someone.
key 🔑 – The key is present, you can maybe grab it.
access – Sub-menu for the access settings.
RLV – Sub-menu for RLV restrictions if they are.
timer ❌/✅ – Sub-menu for timelock (❌=no timer in use, ✅=timer in use).
tools – Sub-menu for the Truekey and some settings.
gag ❌/✅ - Sub-menu to gag feature (❌=no function in use, ✅=at least one function in use).
leash ❌/✅ - Sub-menu to leash feature (❌=no leash in use, ✅=leash in use).
view ❌/✅ - Sub-menu to view feature (❌=no function in use, ✅=at least one function in use).
vision ❌/✅ - Sub-menu to vision feature (❌=no function in use, ✅=at least one function in use).
style - Sub-menu for the style of the head harness.



2.1.1 Unlock menu

When unlocking you get some options, you can either call the default settings back to put the harness gag to its initial state, or keep the settings as they are so the harness gag will take the last use settings

HG unlock menu.png


YES – All the settings except style are reseted to there default values.
NO – All the settings are left as they are, at the next lock all restrictions will be applied again.
MENU – Get the main menu back.

NOTE: timeout for this menu is shorter than the standard 300s, only 10s!.



2.2 Access menu

Hh access menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
private ✅ – Only user, owners and allowed avatars can access it.
public ✅ – Anyone can access the menu and grab the key.
ask ✅ – Same as public but if someone want to grab the key, the actual keyholder (if present in the region) will be asked to allow it or not.
group ✅ – only same group then user can access it.
PFS ✅ – PFS staff can grab the key.
owner – Sub-menu to add/delete owners.
banned – Sub-menu to add/delete banned avatars.
allowed – Sub-menu to add/delete allowed avatars to use menu if the access type is set to ask or private.

NOTE: if private, public, ask and group are ❌, anyone can access the menu, you can grab the key if available but if the key is already taken you can still go into all menus but all the buttons will be strikethrough.


Exemple of strikethrough menu where the menu user has the free access level

Hh menu strikedthrough 2.png




2.2.1 Owner sub menu

You can add by scan or UUID one primary owner and two scondary owners. Only primary owner can add secondary owners.

Hh menu owner2.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
prim+ – Add primary owner (only user can do it).
sec+ – Add secondary owner, only primary can add secondary owners (2 max).
remove – Primary owner can remove secondary owners or itself if unlocked.




2.2.2 Banned sub menu

You can add, by scan or UUID, banned avatars to access the menu of the object. No information will be send to the banned avatars when added to the list or when they try to access the object menu. Only user and owners can handle this list.

Hh banned menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
ban+ – Add banned avatar to the list, you will be able to scan them or enter UUID.
ban-+ – Remove a banned avatar from the list, a list of avatars will be shown and you can select which one you want to remove.
list – The list of banned avatars will be streamed into your chat window.




2.2.3 Allowed sub menu

You can add, by scan or UUID, allowed avatars to access the menu of the object. An allowed avatar is someone that can directly access the menu w/o asking the user if the access mode is set to ask or private and grab the key if not present. Allowed avatars can also use the leash w/o taking the key if the public leash access is enabled (see leash menu section).

Hh allowed menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
ban+ – Add allowed avatar to the list, you will be able to scan them or enter UUID.
ban-+ – Remove an allowed avatar from the list, a list of avatars will be shown and you can select which one you want to remove.
list – The list of allowed avatars will be streamed into your chat window.




2.3 Tools menu

Hg new tools menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
Truekey – Only the wearer can get a new Truekey. The key can get given away, but the final user will need to know the password.
set pw – Set a new password number for the Truekey.
use key – When you wear the Truekey with the correct password you can grab this object key. The wearer cannot use the Truekey on its own object!
spam – Access the sub-menu to change the spam setting.
prefix – change your prefix to whatever you want as long it's built with 2 letters.
RLSD – Reset the linkset data and restart all scripts, default material preset will be applied.



2.3.1 Spam menu

You can adjust the level of spam from differents types of message: RLV version, main feature and sub feature. You can either set it to public, private, both or disabled. By definition a sub feature is usually a parameter of a main feature, example: wrists bind into the armbinder is a main feature but fartouch restriction is a sub feature.

Hh spam menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
RLV ✅ - spam the RLV version on the public chat at login/wear/reset, private - only user can read it, ❌ - disabled.
main ✅ - spam user and menu user for all main feature, public - only menu user, private - only the user, ❌ - disabled. (note: sub feature spam is following the same setting until the sub setting is changed)
sub ✅ - spam user and menu user for all sub feature, public - only menu user, private - only the user, ❌ - disabled.



2.4 RLV menu

Universal scripts must deal with different configurations where sometimes same restrictions can be triggered by two scripts. That’s why here RLV restrictions are managed in a unique way. The goal is to keep things working as they should and especially when restrictions are lifted. All active restrictions are listed with the restriction itself like sendchat=n and the script which triggered it from sub.gag.headharness.

Hh rlv menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
list - Stream in your chat window all the active restrictions with the script name which is the source of the restriction. You may see same restriction for different scripts, this is all normal.


Example of streamed out list of active restrictions:

HG menu RLV example.png




2.5 Timer menu

NOTE: When the timer runs out, the key is given back to the user. No one will be able to grab it except if they are some "key grabbing" plugin scripts installed.

The timer can be RL or SL time, you can switch from one to another w/o resetting the time left. Wearer can set a timer and do some self-bondage, once started the timer cannot be stopped except if someone else grab the key and get the keyholder access level.

❌ BACK ❌ – Move back to the previous menu.
- Move back to the previous page.
- Move forward to the next page.
❓ HELP ❓ – Streams the help into the chat window.
stop - Stop the actual timer but don't give back the key back to the user.
RLtime ❌ – SL time mode.
RLtime ✅ – RL time mode.
hide ✅ – The actual timer value and any added time triggered by the menu buttons are hided to the wearer.
+2min – Add 2 minutes to the actual timer value.
+5min – Add 5 minutes to the actual timer value.
+30min – Add 30 minutes to the actual timer value.
+1h – Add 1 hour to the actual timer value.
+3h – Add 3 hours to the actual timer value.
+6h – Add 6 hours to the actual timer value.
+12h – Add 12 hours to the actual timer value.
+24h – Add 24 hours to the actual timer value.



2.6 Gag menu

NOTE: The restrictions are only active when the object is locked, and a gag type is applied.

❌ BACK ❌ – Move back to the previous menu.
- Move back to the previous page.
- Move forward to the next page.
❓ HELP ❓ – Streams the help into the chat window.
level ▂▃▅▇▉ – Gag level, from lightly gagged (▂) to heavy (▉).
ball, bit, cock, holed, ring ✅ – Select the gag type.
Safe ✅ – When safe the gag's channel changes every now and then to avoid cheat with gag's readers.
Rename – Set an alternative name for the gag talk and emotes.
emote ❌ ▂ ▆ ▉ – Capps the emotes length to the following levels:

  • none [❌] – disabled.
  • light [▂] – 40 chars/10 sec
  • heavy [▆] – 20 chars/20 sec
  • total [▉] – swallows all emote.

OCC ✅ – OCC (()) is allowed.
OCC ❌ – OCC (()) is restricted.
srt.IM ✅ – Start IM is allowed.
srt.IM ❌ – Start IM is restricted.
snd.IM ✅ – Send IM is allowed.
snd.IM ❌ – Send IM is restricted.
rec.IM ✅ – Receive IM is allowed.
rec.IM ❌ – Receive IM is restricted.
key.IM ❌ – no IM exception to keyholder.
key.IM ✅ – IM exception to keyholder.
clear ✅ – Reset all gag settings back to default values. ✅ means the settings are on default values.


You can select up to 5 differents gags from the gag menu:

Since the object is not rigged you can easily adjust the gags to your head by editing the object.



2.7 Leash menu

If you use the smart leash holder available from the [tools] button from leash menu, you can make the user following you when leashed even through TP. As soon as the distance between the leash holder and the wearer is greater than 2 times the leash distance a TP is send to the user. If the leash holder is not detected in the same region, a leash timeout is triggered after 300s and the user will be unleashed.

Hh leash menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
tools – Get the smart leash holder.
leash ✅ – Grab the leash in your hand (✅=leash to person active).
post ✅ – Leash to an object (✅=leash to post active).
length Ym – Sub-menu to select the leash length (Y=actual leash length).
unleash – Disconnect the leash from your hand or post.
yank – Yank the leash to make the user moving up to the leash target the distance is less than 1m.
type [c or r] – Select leash type chain (c) or rope (r).
public ✅/❌ – When enabled, anyone can use the leash even if the public access is disabled. You can't rip the leash from someone already holding it!



2.8 View menu

Hh view menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
mask ❌ – The view is clear, and no mask (overlay) is applied on the display. Click me to enter the sub-menu.
mask ✅ – A mask (overlay) is applied on the display to restrict the view. Click me to enter the sub-menu.
env ❌ – The environment is not forced; the user can toggle daytime and environment settings. Click me to enter sub-menu.
env ✅ – The environment is forced; the user cannot toggle daytime and environment settings. Click me to enter sub-menu.
clear ✅ - Reset all mask & environment settings back to default values. ✔means the settings are on default values.



2.8.1 Mask menu

The list of available masks is variable and build from the maskenv notecard and those that are manually added from the add menu. In addition the auto setting will force the user to get a mask depending on the shown accessories, the strap in texture and the color.

Hh mask menu.png


❓ HELP ❓ – Streams the help into the chat window.
❌ BACK ❌ – Move back to the previous menu.
add – Add a custom mask to the list. Format is <texture_uuid>,<name>[,<color_name>]. Name length is limited to 8 letters and must be unique. Color is optional but the name must be present in the internal memory.
delete – Delete a custom mask from the list if they are.
transparency – Set the transparency value of the mask.
color – Set the color of the mask.
none ✅ – Remove the actual mask from the user’s view. ✅ means there is no mask active.
<list of masks>… – List of available masks. The list is built from the textures present in the ‘overlay’ notecard, the one manually added from the menu and optionally auto. auto means the mask is sync to the object style.



Examples of auto masks:



2.8.1.1 Add mask menu

HG menu mask add.png


Format is <texture_uuid>,<name>[,<color_name>]. Name length is limited to 8 letters and must be unique. Color is optional and can be: amethyst, azure, black, blood, blue, copper, D.green, F.pink, gold, indigo, L.red, L.yellow, lime, metal, navy, orange, P.pink, plum, purple, red, slate, silver, steel, yellow, white, custom.A or custom.B

Example: 004dd4ed-b5fe-3b36-cf6d-8b97024473c6,2Bholes,black for a black mask with the 2 big holes.



2.8.1.2 Delete mask menu

Hh mask delete menu.png


Select the mask you want to remove from the list, you can only delete those which has been added manually.



2.8.1.3 Transparency menu

You can adjust the transparency of the mask.

Hh transparency menu.png


❌ BACK ❌ – Move back to the previous menu.
0% – Make the mask opaque.
100% – Make the mask transparent.
-10% – Reduce the transparency by 10%.
50% – Make the mask half transparent.
+10% – Increase the transparency by 10%.



2.8.1.3 Color menu

You can change the base color of the mask to adjust it to your liking, in addition you can also make the color cycling. Best result only one white based mask.

❌ BACK ❌ – Move back to the previous menu.
- Move back to the previous page.
- Move forward to the next page.
❓ HELP ❓ – Streams the help into the chat window.
D.green, F.pink, L.red, L,yellow, P.pink, amethyst, azure, black, blood, blue, copper, custom.A, custom.B, gold, indigo,lime, metal, navy, orange, plum, purple, red, silver, slate, steel, white, yellow – Select the color preset for the mask.
RGB.A, RGB.B – Enter the new value for custom.A or custom.B color. Example <123/123/123>
cycle ❌ – No color cycling.
cycle ✅ – Mask color is cycling to randoms values. Every defined time a new color is randomly selected and the mask change to the next value with gradient.
time – Enter a new cycle time for color change.



2.8.2 Environment menu

The list of available environments presets is variable and build from the maskenv notecard and those that are manually added from the add menu.

Warning64.png

If your settings folder is not populated with environnement settings, the final result may differ depending on the viewer you are using! Best copy all the sets from your Librairy\Environnements\Skies\ to your Inventory\settings\.


❌ BACK ❌ – Move back to the previous menu.
❓ HELP ❓ – Streams the help into the chat window.
add - Add a custom environnement setting to the set, format is name (8 chars max) no space no punctuation. In case of EEP be sure the setting is present in the user inventory, see folder 'settings'.
delete - Remove a custom environment setting from the list if they are.
none ✅ - No environnement preset active.
default, Neutral, Midnight, Sunrise, A-3AM, A-6AM, A-9AM, Midday, A-3PM, A-6PM, A-9PM, Night,80's Wave, Barcelona, Blizzard, Blue Midday, Bristol, CalWL, Coastal Afternoon, Coastal Sunset, Desert Sunset, Dusty, Fine Day, foggy, Funky Funky Funky, gelatto,Ghost, PaperSnow, Pinkpurple, Pirate, Purple, Purplebluenight, Verdigris, ShadowSet - The user is unable to change the viewer environment settings and is forced to one of the listed. Preset can be EEP settings if the user folders are previously setup.


Examples of environment settings.



2.8.2.1 Add menu

HG menu environment menu add.png


Example: Bristol for a dark environment setting.



2.8.2.2 Setup environment folder

How to correctly setup your inventory from the environment library.

HG environment settup 1024.png




2.9 Vision menu

From this menu you can apply some vision restrictions.

Hh vision2 menu.png


❌ BACK ❌ – Move back to the previous menu.
❓ HELP ❓ – Streams the help into the chat window.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
ML ✅ - Mouselook is enabled and the user's camera is forced to the first-view.
lock ✅ - prevents the user from unlocking the camera from the avatar, meaning that the user cannot use Alt to focus nor orbit the camera around the avatar. While the camera is locked, the sim forces it to stay in a line of sight from the avatar.
limit ❌ - no camera limit range is active, click for options.
limit ✅ - a camera limit range is active, click for options.
focus ❌ - no focus target active, click for options.
focus ✅ - a focus target is active, click for options.
clear ✅ - all restrictions are cleared and reseted to defaults values.



2.9.1 Limit menu

You can enable a limit restriction to the user to not move the camera outside a range.

Hh limit menu.png


❌ BACK ❌ – Move back to the previous menu.
❓ HELP ❓ – Streams the help into the chat window.
limit ✅ - prevents the user from moving the camera outside the defined range from the avatar, either with the mouse wheel or when focusing with the Alt key.
+1m, +2m, +5m, +10m – increase the camera limit range of the selected value, maximum is 96m.
-1m, -2m, -5m, -10m – decrease the camera limit range of the selected value, minimum is 1m.
default – set the camera limit range to the default value of 3m.



2.9.2 Focus menu

❌ BACK ❌ – Move back to the previous menu.
- Move back to the previous page.
- Move forward to the next page.
❓ HELP ❓ – Streams the help into the chat window.
focus ✅ - If the keyholder is present and inside the defined focus range, the user is forced to turn toward the keyholder and the camera will focus one of the selected target, the height of the camera can be forced with myEyes. If the user sit on an object, or the keyholder is off sim, or if the keyholder is outside the focus range, the focus is replaced by camera limit of 3.0m. Be aware that ML is not allowed, if the user decide to roll into ML position an RLV command will be triggered to force to leave ML. In case ML setting is ✅ the user will be toggled from ML to forced camera and vice versa to keep the feeling of the special experience.
+1m, +2m, +5m, +10m - increase the keyholder detection range within the user is forced to focus toward the keyholder, maximum is 96m.
-1m, -2m, -5m, -10m - decrease the keyholder detection range within the user is forced to focus toward the keyholder, minimum is 1m.
default - set the focus range to the default value of 20m.
myEyes ⇧,⇨,⇩ - Select the height of the user's camera, where the user is looking from (head, half height, feet) when focus is active.
target ⇧,⇨,⇩ - Select the height of the user's camera target, where the user is looking at (head, butt height, feet) when focus is active.
show ✅ - If the parcel allows to rez, this function shows inworld the position of the user's camera and where he is looking at. You can use it to adjust the positions of the position where the user is looking from and the position where the user is forced to look at. Disabled if the keyholder vanish or the user sit on an obkect.



Example of the show feature.

HG focus show.png


In the example here, the user is forced to look at the feet of the keyholder. Name with 🎯 is the looking at and name with 👁 is the looking from.



2.10 Style menu

Texture & color setup is only done over the style menu by both user and keyholder. The Harness Gag can have a leather look or Latexlook. You can color the whole object using a preset or select every part and apply its own material or color.

Hg menu style2.png


❌ BACK ❌ – Move back to the previous menu.
❓ HELP ❓ – Streams the help into the chat window.
⏏ EXIT ⏏ – Close the actual menu and release the menu access to anyone.
option - Adjust the Harness Gag options.
preset - Select a full preset for the entire harness gag.
select - Adjust individuals prims to the wished looking.
resize - Resize individual parts.
logo - Select the logo to show on the tag.
visible - Show/hide the harness gag accessories.



2.10.1 Option menu

Hg menu option3.png


❌ BACK ❌ – Move back to the previous menu.
❓ HELP ❓ – Streams the help into the chat window.
G.strap - Toggle the ball gag & holed gag strap from rubber to fabric and vice versa.
no.Mesh ✅ - Enable the open mouth animation for the SL system head.


2.10.2 Preset menu

❌ BACK ❌ – Move back to the previous menu.
Le.black, Le.grey, Le.beige, Le.white, Le.blue, Le.lblue, Le.pink, Le.red, Le.yellow, La.black, La.red, La.white - Select one of the leather (Le) or Latex (La) preset.


2.10.3 Select menu

If you want to texture or color a part of the harness gag you can do it by selecting the part you want to alter and than select what do you want to change.

❌ BACK ❌ – Move back to the previous menu.
- Move back to the previous page.
- Move forward to the next page.
ball, bit, blinder, lashes, cock, cockBase, ear, fab in, fab out, fab trim, holed, lock, metal, ringCoat, strap, tag - Select the part to alter.

When the part you want to alter is selected another menu will ask you what to do.

Hg menu select2.png


❌ BACK ❌ – Move back to the previous menu.
color - Submenu to change the color.
material - Submenu to change the material.
rgb2PBR ✅ - Convert the linear RGB to sRGB colorspace for PBR faces.
noPBR - Remove the PBR material from the selected part and switch it back to leagacy.



2.10.3.1 Color menu

Select the color you want to apply on the selected part, you can also change the custom A & B color to your liking.

❌ BACK ❌ – Move back to the previous menu.
- Move back to the previous page.
- Move forward to the next page.
❓ HELP ❓ – Streams the help into the chat window.
D.green, F.pink, L.red, L,yellow, P.pink, amethyst, azure, black, blood, blue, copper, custom.A, custom.B, gold, indigo,lime, metal, navy, orange, plum, purple, red, silver, slate, steel, white, yellow – Select the color preset for the mask.
RGB.A, RGB.B – Enter the new value for custom.A or custom.B color. Example <123/123/123>



2.10.3.2 Material menu

❌ BACK ❌ – Move back to the previous menu.
Le.black, Le.grey, Le.beige, Le.white, Le.blue, Le.lblue, Le.pink, Le.red, Le.yellow, La.black, La.red, La.white - Select one of the leather material.



2.10.3 Visible menu

You can select the harness gag accessories to be shown or hiden.

Hh visible menu.png


❌ BACK ❌ – Move back to the previous menu.
tag - Show/hide the tag.
lashes - Show/hide the lashes.
ear - Show/hide the ears.
blind - Show/hide the blinders.



You can select up to 4 accessories to be shown or not.



2.10.4 Resize sub menu

User or keyholder can resize and adjust the harness gag to have a better fitting to the head. To help you, the selected prim will be turned full bright during a time, if you don't see a prim you can switch to the hiden prim mode with ctrl+alt+T. Be aware about the orientaion of the axes (see below)




2.10.4.1 Move menu

You can move the selected prim with the given step.

Hg resize move.png


❌ BACK ❌ – Move back to the previous menu.
- Previous prim.
- Next prim.
Y+ - Move the prim left.
Z- - Move the prim down.
Y- - Move the prim right.
[move] - Toggle to next menu.
step - Change move step.
X+ - Move the prim front.
Z+ - Move the prim up.
X- - Move the prim back.



2.10.4.2 Bigger menu

You can increase the size of the prim with the given step.

Hg resize bigger.png


❌ BACK ❌ – Move back to the previous menu.
- Previous prim.
- Next prim.
Y<< - Pull the prim right.
Z↓↓ - Pull the prim down.
Y>> - Pull the prim left.
bSides ✅ - Stretch both side mode.
[bigger] - Toggle to next menu.
step - Change size step.
X<< - Pull the prim back.
Z↑↑ - Pull the prim up.
X>> - Pull the prim front.



2.10.4.3 Smaller menu

You can decrease the size of the prim with the given step.

Hg resize smaller.png


❌ BACK ❌ – Move back to the previous menu.
- Previous prim.
- Next prim.
Y>> - Shrink the prim from the right side.
Z↑↑ - Shrink the prim from the bottom side.
Y<< - Shrink the prim from the left side.
bSides ✅ - Shrink both side mode.
[smaller] - Toggle to next menu.
step - Change size step.
X>> - Shrink the prim from the back side.
Z↓↓ - Shrink the prim from the top side.
X<< - Shrink the prim from the front side.



2.10.4.4 Rotation menu

You can rotate the prim with the given step.

Hg resize rotation.png


❌ BACK ❌ – Move back to the previous menu.
- Previous prim.
- Next prim.
Y↻ - Rotate the prim around Y+ axe.
Z↺ - Rotate the prim around Z+ axe.
Y↺ - Rotate the prim around Y- axe.
[rotation] - Toggle to next menu.
step - Change rotation step.
X↻ - Rotate the prim around X+ axe.
Z↻ - Rotate the prim around Z- axe.
X↺ - Rotate the prim around X- axe.



2.10.4.5 Scale menu

You can scale up or down the prim with the given factor.

Hg resize scalepng.png


❌ BACK ❌ – Move back to the previous menu.
- Previous prim.
- Next prim.
prim- - Scale down the selected prim with the given scale factor.
all- - Scale down the whole object with the given scale factor.
[scale] - Toggle to next menu.
step - Change scale factor.
prim+ - Scale up the selected prim with the given scale factor.
all+ - Scale up the whole object with the given scale factor.



2.10.4.6 pecial menu

Only the user can restore the size and position to default or to rez.

Hg resize special.png


❌ BACK ❌ – Move back to the previous menu.
- Previous prim.
- Next prim.
default - Restore the size and position of entire object to the default one.
@rez - Restore the size and position of entire objecy to the values at your last rez.
mirror - Apply mirror to the symmetric object of the selected one.
❓ HELP ❓ – Streams the help into the chat window.
[special] - Toggle to next menu.
undo - Undo the last action.



2.10.5 Logo menu

You can select the logo to be shown on the tag if that last one is visible. The list of logos textures is build from the logo notecard and the one that are manually added using the add menu. You can also download the UV file to make your own logo.

❌ BACK ❌ – Move back to the previous menu.
- Move back to the previous page.
- Move forward to the next page.
❓ HELP ❓ – Streams the help into the chat window.
add - Add a custom logo to the list. Format is <UUID of the texture>,<unique name>.
delete - Delete a custom logo from the list if they are.
get UV - Get the UV map to make your own logo.
none - Hide the actual logo.
CMFS, PFS, bee, bunny, cow, k.lock, mare, p.girl, pig, ponizei, puppy, slave, slut - Select the logo to be shown on the tag if visible.



Example of the tag's logos



3. Options

3.1 Access plugins

You can add access script (public or for PFS staff), for this you have to rez the box '[PFS] Harness gag addons v1 (REZ me)' on the floor and unpack it into your inventory. Than rez the Harness gag on the floor too and drag & drop from your inventory into the content tab of the harness gag the access script you want to add. You can add both to have public and PFS access.

HG drag drop addons2.png




3.2 Smart leash holder

You can use any leash holder to leash the harness gag as long the name contains one of the word: holder, handle or leash. You can also use the integrated smart leash holder (you can get it from the leash menu) and have additionnal feature like follow TP and easy force TP from anywhere.

[PFS] smart leash holder


The smart leash holder automatically register and unregister the leash you grab, release or get released by timeout. For more details and options you can touch it to get a menu.

HG leash menu.png


exit – Close the menu.
auto TP [✔] - Auto TP is enable and leash anyone listed above if the distance is greatter than 2 times the leash length.
auto TP [✘] - Auto TP is disabled but you can still force TP using the shortcuts (see get tools).
verbose [✔] - The smart leash holder becomes very chatty, mainyl for debug purpose.
verbose [✘] - The smart leash holder spams you as less than possible.
send TP - Send a force TP to anyone listed above.
get tools - Offers you a set of gestures to have keyboard shortcuts for menu & force TP.

[PFS] smart leash tools


The smart leash holder is the best tool to keep your favorite pet close to you in any conditions!.

HG leash example.png




3.3 Truekey

If you get in big troubles, you have no access plugins, the only way to get free without cheating out is to use a Truekey you previously have setted up before to get locked. Truekey works with a password and it can't be changed or read when the harness gag is locked. The Truekey password is also resetted to a random value at any full reset. You cannot use the Truekey on yourself but you can ask anyone to use it as long the person knows the password!

[PFS] Truekey


Warning64.png

To get the Truekey menu the user have to ckic it longer than 2s! You can also get it by command line /7nitruekey if your username starts with ni.



3.3.1 Setup a new Truekey

The user has to setup the Truekey before to use it, functions available from the harness gag tools menu while unlocked and key back.

HG Truekey setup menu.png


The user can here see the actual Truekey password and change it with set pw. User can also get a new Truekey with Truekay and than can give it away. Keep in mind the Truekey is reseted on transfert and you have to give both the Truekey and password to the person to be able to use it the day you need it. There is no way to get the actual password or change it when the harness gag is locked!



3.3.2 Add password to Truekey

A Truekey can keep in memory more than one password, the limit is the free memory available to store more. The next user of the Truekey have to adds the harness gag users's password to be able to use it.

HG Truekey add menu.png


Click add pw to add a new password to the list. Here in our example the password 564641 has been saved. You can also remove password with remp pw or reset the Truekey to its initial state with reset.



3.3.3 Use a Truekey

To use a Truekey to unlock the harness gag you have first to access the harness gag user's tools menu.

HG Truekey use menu.png


As you can see in the example above here you cannot see the Truekey password but you can use key. Click first use key and than simple touch your Truekkey you are are already wearing and has been already configured (see above if not).

If you success you should get in the chat window [TrueKey] key grabbed and the harness gag user's main menu should pop!



4. Fix your cheeks

With some shapes you may have a collision between the harness gag and your cheeks. Since the harness gag isn't rigged you have to adjust your shape.

HG collision.png


To edit your shape move your mouse over your tag, right click your mouse button.

HG menu appearance.png


Select appearance and click it with the left mouse button.

HG menu edit shape.png


From the tab head you can shift the Upper Cheeks cursor to adjust it under the strap.

HG menu mod and save.png


When you are done don't forget to click save to save it to the actual shape or a new one with new name. During the editing, if you are not happy of the result, you can click Undo Changes and you will get back all your actual shape settings.



5. Update your adjusted one

Auto update with a script would turn the harness gag into a no copy object and we don't want that. To help you to update your actual harness gag that you spent lots of time to adjust I will show you how to keep it as it is and update it.

Rez side by side both harness gags on the floor.