FANDOM


BreakFree tries to make it as easy as possible for contributors to make new bindings to plug in to the system. New bindings can be made by creating the attachments and placing them in unique folder names under the parent #RLV/BreakFree folder, creating a new GUI dialogue script, and linking to the new script from the "bind" script. Below, we will describe the steps necessary to do this.

1. Configuration Edit

To add a new restraint type, you will need to add a new script to serve as the GUI dialogue for adding and configuring the restraint. You can look to existing gui_part_name scripts for a template. In order for it to be recognized and added to the main GUI menus, you will need to define a few basic aspects of the script.

1.1 GUI Parameters
Parameter Description
name label of the restraint as it will appear in the binding dialogue.
part <arm | leg | gag> type of restraint this is
hasColor does this restraint have customizable color options defined in the script

2: Bind Functions Edit

In your GUI, you will need do send a bindArms, bindLegs, or bindGag message to the system with llMessageLinked. The data for these functions are stored in a JSON object with a specific structure, detailed below:

2.1

bindArms
Parameter Description
animBase name of animation file to use for basic arm pose
animFail name of animation file to use for a failed struggle attempt
animSuccess name of animation file to use for a successful struggle attempt
attachments list of folder names that should be attached
canCut can this restraint be cut?
canEscape can an avi struggle out? Escape may still be possible through other means, and rescues are always allowed
canTether can this restraint be tethered to an avi or leashing post?
difficulty number of successful struggle maneuvers needed to complete a sequence
tensile DC needed to overcome to snap the bindings
tightness number of successful escape sequences needed to escape
type lock, knot, strap, or wrap - each having different escape/rescue rules.

2.2

bindLegs
Parameter Description
attachments list of folder names that should be attached
canCut can this restraint be cut?
canEscape can an avi struggle out? Escape may still be possible through other means, and rescues are always allowed
difficulty number of successful struggle maneuvers needed to complete a sequence
tensile DC needed to overcome to snap the bindings
tightness number of successful escape sequences needed to escape
poses list of poses available to restraint position (stored as JSON objects - see table 2.4)
type lock, knot, strap, or wrap - each having different escape/rescue rules.

2.4

Pose Object
Parameter Description
animBase name of animation file to use for basic leg pose
animFail name of animation file to use for a failed struggle attempt
animJump name of animation file to use while jumping
animSuccess name of animation file to use for a successful struggle attempt
animWalkBack name of animation file to use while walking forward
animWalkFwd name of animation file to use while walking backwards
animWobble name of animation file to use when about to fall
jumpPower amount of vertical lift an avi is able to exert while attempting to jump (only works if there is no associated poseUp)
name name of the pose - used for bind GUI and for identifying pose transitions
poseDown (optional) name of the pose to transition to when an avi tries to crouch
poseFall (optional) name of the pose to transition to when an avi falls down
poseLeft (optional) name of the pose to transition to when an avi tries to walk left
poseRight (optional) name of the pose to transition to when an avi tries to walk right
poseUp (optional) name of the pose to transition to when an avi tries to jump
speedBack speed an avi is able to travel while moving forwards
speedFwd speed an avi is able to travel while moving backwards
stability avi's ability to transition to this pose and to walk/jump without falling down