Table of Contents

Chat Conditioner

Supported TouchBound functions

Supported locks

Touch functions

Configuration

By clicking the configuration button, you will be presented with 3 options:

LOAD: Used to load a new configuration notecard. This is done by supplying a notecard UUID, which you can get by right-clicking the notecard in your inventory and choosing “copy asset UUID”.

GET SAMPLE: If you do not have the sample configuration card, this will allow you to receive a copy of it.

CLEAR: This will clear the loaded configuration.

If someone else than the wearer loads a configuration card, the wearer will be locked out of using the buttons until someone uses the “CLEAR” option.

The chat conditioner will show a red symbol on the configuration button when this happens.

Presets

The Chat Conditioner can hold a total of 4 presets, each with their own button icon.

In practice however, there are only 3 buttons, the 4th preset is engaged when NONE of the buttons are pressed down.

Buttons can only be accessed when the chat conditioner core is unlocked.

Capabilities

Note: The triggers are picked up from avatars and objects in local chat, excluding the wearer and any object owned by the wearer.

The configuration file

Note: The configuration file may take a while to be parsed by the chat conditioner. You can speed it up by removing most of the comments and empty lines once you designed a configuration that you like.

When you wish to load a specific configuration in the chat restrictor, you do so by providing it with the UUID of the notecard. **The notecard does NOT have to be in the Chat Conditioner's inventory.

The UUID of a notecard will change everytime it is saved.

Sample

//////////////////////////////////////////////
// KDC Chat Restrictor configuration file   //
// Copyright 2016 KDC: Kyrah Design Concept //
//////////////////////////////////////////////

//>All lines starting with "//" are comments and ignored.
//>All wordlists are separated by commas and in lowercase.
//>LSL notecard lines can't be read past 256 characters, use multiple entries if you run out of space.

//Word blacklist: If enabled, those words cannot be used by the user.
BLACKLIST_ADD=shit,fuck,bitch

//Word whitelist: If enabled, only those words can be pronounced by the user.
WHITELIST_ADD=yes,no,please,thank,you

//Word forcelist: If enabled, at least one of those words MUST be used in each chat line.
FORCELIST_ADD=sir,madam
FORCELIST_ADD=miss,mister

//Word substitution: If enabled, any word found in the SOURCE list will be replaced by the matching word in the REPLACE list.
SOURCE_ADD=mew,reasonable
REPLACE_ADD=woof,ludicruous

//Renamer: Which name will be used by the chat restrictor
//Will use the wearer's username if left blank.
//You can set it to anything you want, but remember that scripts
//Cannot use special characters for names.
//You can also use the following special codes (without quotes):
//"DISPLAYNAME" : Will use the wearer's display name instead of their username.
//"BLANK"       : Will not use a name at all.
NAME=

//Syllable counter: You can limit allowed words based on how many syllables are in them.
//Note that the syllable counter is designed for the english language and is not 100% accurate.
SYLLABLES=5

//Uppercase allowance: Because it isn't possible to reliably detect when someone is using a name instead of a word, this option determinates how many words are allowed to bypass all filters if they start with an uppercase letter when WHITELIST is active.
ALLOWUPPERCASE=5

//Maximum word count: if MUTEWORD is enabled, this will limit the number of words the wearer can use in a single chat line.
MAXWORDCOUNT=10

//Radio frequency: If RADIOONFAIL is enabled, a radio message will be sent on this frequency.
//valid frequencies go from 88.1 to 108.1
RADIO=98.7

//The following key words can be useds for each preset:
//BLACKLIST: Enables the word blacklist.
//WHITELIST: Enables the word whitelist.
//FORCELIST: Enables the forced word list.
//RENAME: Will use the renamer.
//SYLLABLE: Will enable syllable limits.
//MUTE: The wearer will only be able to say "...", no chat at all.
//MUTEEMOTE: The wearer cannot emote.
//CUTEMOTE: The wearer emotes will be limited.
//ALLOWNAME: The wearer's name will not be filtered out.
//-------------output formatting options---------------
//MUTESYLL: Will mute the entire sentence if one word is over the syllable limit, otherwise, only the offending word will be muted.
//MUTEONFAIL: Will mute the entire sentence if the blacklist/whitelist is triggered, otherwise, only the offending word will be muted.
//RADIOONFAIL: If the blacklist/whitelist/wordlimit/syllable limit is triggered, can be used to trigger an OpenRC device (The KDC shock collar for instance).
//LOWERCASE: Will lowercase the final text output.
//WHISPER: This will force the wearer to whisper.
//WORDLIMIT: Will limit the number of words per chat line.
//MICROSCRIPT: This will reformat the wearer's text to use microscript (warning, this is almost unreadable).
//SUBSTITUTION: This will automatically substitute words in the substitution list by the matching replacement word.

//Each buttons and the default (no buttons engaged) can be configured to enable 0 or more of the filters.
//In this example configuration, the default setting has no restrictions, and the buttons are progressively more restrictive.
DEFAULT_OPTIONS=
BUTTON1_OPTIONS=FORCENAME,BLACKLIST,CUTEMOTE
BUTTON2_OPTIONS=FORCENAME,WHITELIST,FORCELIST,MUTEEMOTE,WHISPER
BUTTON3_OPTIONS=MUTE,MUTEEMOTE

//textures can either be UUIDS or in the object's inventory and are the button labels.
//Entering no value here will default to "blank.button"
//The available defaults are: button-blank button-bad button-bubbledots button-chat button-cog button-cross button-exclaim button-forbidden button-lips button-maid button-options button-power button-question button-radio button-umbrella button-circle button-circle-hollow button-square button-square-hollow button-triangle button-triangle-hollow
BUTTON1_TEXTURE=button-exclaim
BUTTON2_TEXTURE=button-swear
BUTTON3_TEXTURE=button-bubbledots

//All the filters are executed in a specific order:
//MUTEEMOTE,CUTEMOTE,MUTE,(ALLOWNAME),(ALLOWUPPERCASE),FORCELIST,SUBSTITUTION,WHITELIST,BLACKLIST,SYLLABLE,WORDLIMIT,MUTEWORD,MICROSCRIPT,RADIOONFAIL

//Presets can be automatically changed using trigger messages said in local chat even when locked.
//triggers can contain spaces but have to be in lowercase. Multiple triggers can be defined by separating them with commas.
DEFAULT_TRIGGER=reset,default
PRESET1_TRIGGER=load preset 1,set 1,engage
PRESET2_TRIGGER=
PRESET3_TRIGGER=

Default button icons