My favorites | Sign in
Project Home Wiki Issues
Search
for
DesignerInstructionsCuffs  
Updated Aug 12, 2010 by athal...@gmail.com

OpenCollar Cuffs 1.335+ - Readme for Designers

This is a help for people who want to use the OpenCollar Cuffs script set to create their own cuffs.

Table of contents


1) Different parts of the cuffs 2) Walkthrough of creating a cuff 3) Naming convention 4) Script sets 5) Delivery box

1) Different parts of the cuffs:


Main cuff (rlac): There are 3 different functional prims needed for the main cuff (as well as for the slaves, but with a different set of scripts in the root prim there): Root prim (should be an invisible prim in the mid of the cuff): The root prim should be invisible in the mid of the cuff. It contains all command scripts (script set 1) as well as the animations, textures and sounds needed. For easier configuration this prim also contains 2 notecards, in which you can set the animations and the chains for the arm and leg modules. The following format is used in the "Arm Cuffs" and "Leg Cuffs" notecards: Label|Animation|point1=point2~point3=point4~etc. Label is the label to show on the menu. Animation is the name of the animation to play, or none for no animation, if only chains are to be shown. And the final part is a tilde separated list of points to connect. They tell the first point to send a lockguard command to the second point telling it to connect to itself. You need to include as well the readme and the license. Note: the "defaultsettings" notecards can contain some default settings for the cuffs. Here you can add as well the setting “hidemode=0” if you don’t want the hide feature of the cuffs enabled for your cuff set.

Open Cuff chain points: The prim need to be named like the chain point (see list above for currently used chain points). Example: llac. The prim contains a scripts for creating the chains and well as a lockguard config card. The config card contains the standard settings for the cuffs and can contain as well additional IDs. Example: ID occuffs.

LockGuard/LockMeister points for devices to attach chains to: OpenCollar cuffs use an invisible prim place over a ring to attach the chains from devices to. This allows the chains from the cuffs to be active, while the sub is on a device. The prim needs to be named like the LockMeister point (Example: lcuff) , the Lock Guard point is set in the config note card: (Example: ID leftwrist). So you need to edit the notecard properly for each cuff.

Graphic: 􀀁

Slave cuffs (llac, ruac, luac, rllc, lllc, rulc, lulc, ocbelt): There are 3 different functional prims needed for the slave cuffs as well as for the belt: Root prim (should be an invisible prim in the mid of the cuff): Needs to contain the scripts set 2. To keep the colors in sync to the main cuff, the descriptions should use identical naming schemes.

Open Cuff chain points and LockGuard/LockMeister points for devices to attach chains to: See Main cuff.

Graphic slave cuff: 􀀂 Graphic slave belt: 􀀃

Collar (occollar): The collar can contain the cuff addon, but this is not essential needed. If you want to add more OC Chain points or LM/LG chain points, you need to add the listeern as well and can add additional prims for chaining like in the main/slave cuffs.

Graphic: 􀀀

2) Walkthrough of creating a cuff


Walkthrough for those wanting to use the OpenCuffs scripts in their own prim designs.

A) - CREATE A ROOT PRIM FOR THE MAIN
- This should be an invisible Sphere in the mid of the cuff and is also required by the coloring and texturing scripts. To make it invisible apply a fully transparent texture, such as the one provided within the OpenCuffs or OpenCollar.

B) - NAME THE ELEMENTS OF THE CUFF

• The color and texture changing cripts can apply color or texture to a group of prims at once. To enable this feature, give all matching elements in your cuff the same Description. For example, you could put the word "Jewels" in the description of all prims in your cuff which look like jewels. Then their colors could be set all together by the color script. The texture scripts behave similarly. IMPORTANT: The slave cuffs need to use the same naming convention. The color and texture scripts will only look for the Group names in the main cuff (right forearm. All color and texture changes from the script will be send on a per AV personalized chat channel to the slave cuffs, which than change colors. The main difference between the main cuff and the sub cuff is the set of scripts in the root prim. The right forarm cuff is the “brain” of the cuff set. NOTES

  1. The root prim. The coloring and texturing scripts will not set color or texture for the root prim. This is another reason to have the root prim be an invisible ball in the mid of the main cuff and as well the subcuffs.
2. Disabling the texture and color features. If you wish to prevent a group of prims from being colored, or textured, you can add "~nocolor ", or "~notexture" to the description as well. (It is a good idea to look how the single prims of the OpenCuffs are named, in Object Name and Description.) In our "Jewels" example, you would probably want to have the description be "Jewels~notexture", so that the texture script will leave your jewel textures alone, but the color script will still be able to tint the jewel prims. 3. OC Chain prims. The default OpenCuffs have 3 chain points for the internal chain system of the cuffs. Those chain points can be visible parts of the cuff or invisible spheres. Each requires a script and a notecard (script set 4, see below), but to save lag the main listener is in the root prim of the cuffs. The prim needs to be named like the OC Chain point. For the right forearm the cuff point at the back would be called “rlac” (right lower arm cuff), the outer one gets the name “orlac” (outer right lower arm cuff), the inner one “irlac” (inner right lower arm cuff). The cuff for the left upper leg would get OC chain poins as follows: the cuff point at the back would be called “lulc” (left upper leg cuff), the outer one gets the name “olulc” (outer left upper leg cuff), the inner one “ilulc” (inner left upper leg cuff). 4. LockGuard/LockMeister chain prim. Those chain points can be visible parts of the cuff or invisible spheres. Usually every cuff part has only 1 of those, exceptions are the collar and the belt, which can have more. See the LockMeister or LockGuard API descriptions for more info. Each requires a script and a notecard (script set 5, see below), but to save lag the main listener is in the root prim of the cuffs. The prim needs to be named like the LockMeister Chain point. The ID for the LockGuard chain point is set in the notecard, as a prim can have multiple LockGuard ID. For the right forarm cuff the LockMeister ID is “rcuff”, so the prim needs to be named “rcuff”. For LockGuard this cuff usually gets 3 IDs: “ID rightwrist” for the right forarm, “ID wrists” so a device can grab both forearm cuffs with one command, and “ID allfour” so the wrist and ankle cuffs can be grabbed with one command. The ID need to be entered in the notecard as separate lines.

Examples:

  1. Description: spike — this groups these prims together and they can be recolored/textured
2. Description: heart~notexture — lets say you have one or 3 prims that form a heart on your cuffs. Putting this description in each of these prims will group them (if only one it is a one member group but without the description it is not recognized as "element" of your color in the scripts) So now the heart color can be changed but the texture cannot!! 3. Description: padlock~nocolor~ here all padlock prims get grouped and they can later be changed by the cuffs user only at their texture.
The "~" symbols a new tag for this prim, remember ALL prims that belong to one kind of element of your cuffs need this. Most likely I can imagine to use for things like spikes a description as: spike~notexture —- so they can be colored but the texture you chose within reason cannot be changed

C) - COPY THE CONTENTS

Main cuff: Copy the scripts, anims, notecards, objects, and textures (script set 1, see below) included in the contents of the basic right forearm OpenCuff -- from here on known as the OpenCuff main cuff guts -- into the root prim of your right forearm cuff (ie, the invisible ball in the middle). Copy the script set 4 to all OC chain point sub prims and the script set 5 to all LM/LG chain point sub prims.

Slave cuffs and belt: Copy the scripts (script set 2, see below) included in the contents of the basic left forearm OpenCuff -- from here on known as the OpenCuff slave cuff guts -- into the root prim of your slave cuff (ie, the invisible ball in the middle of thje left forarm cuff or of the belt). Copy the script set 4 to all OC chain point sub prims and the script set 5 to all LM/LG chain point sub prims.

Collar: If you want to fdeliver a collar with your cuff set, please make sure it is buld liked described here: http://code.google.com/p/opencollar/wiki/DesignerInstructions. Add the cuffs addon from script set 3 and if you want to use additonla OpenCuff and/or LM/LG chain points as well the slave script from script set 3. Copy the script set 4 to all OC chain point sub prims and the script set 5 to all LM/LG chain point sub prims you added to the collar. Attention: The collar itself already supports the LockMeister chain point “collar” itself, so please do NOT add a chain point for this ID.

D) - RECORD THE SCRIPT VERSION AND DATABASE PREFIX

Several OpenCollar/OpenCuff features depend on the object's Description being properly formatted. It should look something like this: SteelCuffs~1.335~stc As you can see, the description is divided into 3 parts, separated by a tilde ("~") character. The first part (SteelCuffs, in this example) is the product's name. It can be anything you want. The second part ("1.335") is the version of the scripts that you are using. You should use the same number as the cuff version that you took the scripts from. If you got your scripts from OpenCuffs 1.400, then you should put 1.400 in this part of the description. This is important; the updater script relies on it. One of OpenCuffs' greatest strengths is the automated update system that allows users to get all the latest features and fixes ypu implement to your cuffs.For the cuffs it wil currently only replace the ful set, you you might want to use your own distribution system or ask at the temple for help getting an official OpenCollar distributor. The third part ("stc ") is the database prefix. OpenCuffs use a web database to save the settings. This is useful because your settings move with you when you switch between OpenCuff designs, but it also means that we need a way for appearance-related settings from one design to be distinguised from those of another (eg, you don't want your color settings from the SteelCuffs to be set on your LaceCuffs, do you?) In the Description field of the root prim, change "stc" to something that is likely to be unique. A good rule is to use your initials, plus the product initials. So if Cleo Collins made "Super Fancy Cuffs", she might put "ccfc" as the prefix.

E) - RESET THE SCRIPTS

Select your collar object using the Edit tools and click "Tools->Reset Scripts in Selection" in the SL menu.

F) - CHECK PERMISSIONS

Make sure you have left all of the OpenCollar guts full perms. You can apply whatever permissions you want to the prims containing the OpenCollar system, but the scripts, notecards, textures, animations, etc, must always remain full perms.

G) - DELIVERING TO CUSTOMERS If your cuff set does not have a own collar version, you should delviver the pluging to your customers as well, as it syncronizes the cuffs and the collar. The plugin has a version check build in so it complaisn if - the version o the collar is too old - there is more than one plugin, because the user had already a cuff plugin in the collar To make sure these check do not get performed when rezzing the distributor box, when the script is in your delivery box, please start the desctription of you box with "Delivery Box".

3) Naming convention:


The different objects of the cuffs follow this naming conventions

Right lower arm (this is the "master" cuff, which controls the animation, the locking etc): Command Token: rlac (right lower arm cuff) OpenCuffs chain points: rlac, orlac(outer right lower arm cuff), irlac (inner right lower arm cuff) LockMeister point: rcuff LockGuard points: [rightwrist, wrists, allfour]

OpenCollar (needs a plugin to controll the cuffs as well as a listener scripts for the additional LockGuard/LockMeister Points): Command Token: occ (opencollar command) OpenCuffs chain points: foccollar (front), loccollar (left side), roccollar (right side), boccollar (back side) LockMeister point: lcollar, rcollar, bcollar. None for the front, as the OpenCollar itself supports that already. LockGuard points: collarfrontloop, collarleftloop, collarrightloop, collarbackloop

Left lower arm: Command Token: llac (left lower arm cuff) OpenCuffs chain points: llac, ollac (outer left lower arm cuff), illac LockMeister point: lcuff LockGuard points: [leftwrist, wrists, allfour]

Right upper arm: Command Token: ruac (right upper arm cuff) OpenCuffs chain points: ruac, oruac (outer right upper arm cuff), iruac LockMeister point: rbiceps LockGuard points: [rightupperarm, arms]

Left upper arm: Command Token: luac (left upper arm cuff) OpenCuffs chain points: luac, oluac (outer right upper arm cuff), iluac LockMeister point: lbiceps LockGuard points: [leftupperarm, arms]

Right lower leg: Command Token: rllc (right lower leg cuff) OpenCuffs chain points: rllc, orllc (outer right lower leg cuff), irllc LockMeister point: rlcuff LockGuard points: [rightankle, ankles, allfour]

Left lower leg: Command Token: lllc (left lower leg cuff) OpenCuffs chain points: lllc, olllc (outer left lower leg cuff), illlc LockMeister point: llcuff LockGuard points: [leftankle, ankles, allfour]

Right upper leg: Command Token: rulc (right upper leg cuff) OpenCuffs chain points: rulc, orulc (outer right upper leg cuff), irulc LockMeister point: rthigh LockGuard points: [leftupperthigh, thighs]

Left upper leg: Command Token: lulc (left upper leg cuff) OpenCuffs chain points: lulc, olulc (outer right upper leg cuff), ilulc LockMeister point: lthigh LockGuard points: [leftupperthigh, thighs]

Belt (can be attached to stomach or pelvis, uses the same tokens for both points) Command Token: ocbelt (OpenCollar Cuff Belt) OpenCuffs chain points: focbelt, bocbelt, rocbelt, locbelt (front, back, right and left points) LockMeister point: fbelt, bbelt, rfbelt, rbbelt, lfbelt, lbbelt LockGuard points: frontbeltloop, backbeltloop, rightbeltloop, leftbeltloop

You can add more chain points if you want to the cuffs, following the given systematic and using the scripts as described under 2.

4) Script sets


Version has recently increased to 1.3 to follow the naming convention of the cuffs. Additionally the following conventions apply: Scripts beginning with OpenCollar are reused from the collar. The Collar script version is shown directly behind the name without a - in it. The number behind the - is the Opencuff Version of that script. If the Collar script has been modded a “cuffs” will be added to the script name. Examples: OpenCollar - auth 3.333 - 1.335 => Unmodified Auth script Version 3.333 from the collar, In the Cuffs as version 1.335 OpenCollar - appearance cuffs 3.333 - 1.335 => Modified appearance script Version 3.333 from the collar, in the Cuffs as version 1.335 Scripts beginning with OpenCuffs are specific to the Cuffs. They show the last version they have been modified in.

The following scripts sets are used in the different parts of the collar (version numbers as of 8Cuffs V1.335): Script set 1 (Main cuff, root prim): Notecard: Arm Cuffs Notecard: defaultsettings Notecard: Leg Cuffs Script: OpenCollar - appearance cuffs 3.333 - 1.335 Script: OpenCollar - auth 3.333 - 1.335 Script: OpenCollar - color cuffs 3.333 - 1.335 Script: OpenCollar - dialog 3.336 - 1.335 Script: OpenCollar - dialog debug helper 3.335 - 1.335 (set to not running, just a helper script for debugging and bug searching) Script: OpenCollar - lock cuffs 3.333 - 1.335 Script: OpenCollar - menu cuffs 3.331 - 1.335 Script: OpenCollar - rlvmain 3.333 - 1.335 Script: OpenCollar - settings cuffs 3.333 - 1.335 Script: OpenCollar - texture cuffs 3.333 - 1.335 Script: OpenCollar - update 2.301 - 1.335 Notecard: OpenCollar License Script: OpenCuffs - anim - 1.335 Script: OpenCuffs - func - 1.335 Script: OpenCuffs - listen - 1.335 Script: OpenCuffs - AOSwitch - 1.335 Script: OpenCuffs - armCuff - 1.335 Script: OpenCuffs - arms - 1.335 Script: OpenCuffs - collar command parser - 1.335 Script: OpenCuffs - legs - 1.335 Script: OpenCuffs - LockGuard V2 Listener - 1.335 Notecard: OpenCuffs Guide Additional animations and textures are needed as well

Script set 2 (Slave cuffs, root prim): Script: OpenCuff Slave - Appearance - 1.335 Script: OpenCuff Slave - Locking - 1.335 Script: OpenCuffs - slave - 1.335

Script set 3 (Addons for collar): OpenCollar - cuffs - 3.335 (Menu addon) OpenCuffs - slave - 1.335 (Listener for LM, LG and OpenCuff channels. Only needed if you want to add additional chain points to the collar.)

Script set 4 (OC Chain point): Notecard: LockGuard V2 Config (no need to edit as the name is taken from the sub prim name) Script: OpenCuffs - ChainIt + IntLockGuard V2 LMVersion - 1.003

Script set 5 (LG/LM chain point) Notecard: LockGuard V2 Config (need to be edited so it fits the attachment point of the cuff) Script: OpenCuffs - LockMeister + LockGuard V2 LMVersion - 1.001


Thanks go out to Anne Karas (inital communications and poses system), Pol McLaglen (starting the project and initial cuff design), Jesrad Seraph (additional poses), Winter Seale (some script improvements and bug fixings), Sandra Merilouto (testing) and Garvin Twine (testing and advise). Don’t forget Athaliah Opus and Nandana Singh, who started that OC madness and the mayn scripter involved in the OC project, on which this cuffs scripts are based on. You rock!

Thanks as well for all who contributed and are not mentioned here. We hope, you like the cuffs and find this documentation useful.

The cuffs use the LockMeister protocol by Kyrah Abattoir, which is under GPL3. Find more infos here: http://wiki.secondlife.com/wiki/LSL_Protocol/LockMeister_System. The cuffs use the LockGuard V2 System Protocol by Lillani Lowell.


Sign in to add a comment
Powered by Google Project Hosting