I were trying to make playermodel with flexible trenchcoat. But when I compile it I got an error

Marking bone cape 16 as a jiggle bone

ERROR: $jigglebone: invalid syntax ‘$jigglebone’

I were trying to make playermodel with flexible trenchcoat. But when I compile it I got an error

Marking bone cape 16 as a jiggle bone

ERROR: $jigglebone: invalid syntax ‘$jigglebone’

A quick google brought up this.

http://www.polycount.com/forum/showpost.php?p=1234564&postcount=2381

And on your thing.

Should be like

(Just guessing same with your next one)

it needs the double curly brackets like Neddy showed above. try copy pasting this in place.

```
$jigglebone "cape 16"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 17"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 18"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 04"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 05"{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 06"{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 29"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 30"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 31"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 35"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 36"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 37"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 22"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 23"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 24"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 10"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 11"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
$jigglebone "cape 12"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
```

Well thats all fine that you guys noticed here, thanks. But I also noticed one my friend about this and he send me other params where was “yaw_constraint -10 10” instead of lines I tried to past to my QC. No idea does it important or not.

You should really know what your jigglebone values do before assigning them.

Here’s what you have now:

```
$jigglebone "cape 30"
{
is_flexible
{
length 5
tip_mass 1000
pitch_stiffness 100
pitch_damping 5
yaw_stiffness 100
yaw_damping 5
allow_length_flex
along_stiffness 100
along_damping 0
pitch_constraint 0 79.999998
pitch_friction 0
pitch_bounce 0
}
}
```

First of all, you can remove all of the along settings. These mean the jigglebone can manipulate a third axis, functioning like a spring and expanding. You don’t want this and it’s disabled by default (and in your current QC) so you can just remove the values to clean them up. You can also change 79.999999 to 80 so it’s easy on the eyes (this is a decompile issue).

You can remove the friction and bounce lines as well since those are also disabled by default anyway.

Moving on, if those are custom values then you should consider messing with the values and adding yaw_constraint, pitch_constraint, and you absolutely want angle_constraint.

Jigglebones rotate. angle_constrant tells each jigglebone how far it can move before hitting a barrier. pitch_constraint and yaw_constraint can then control this on each axis if need be. This isn’t always necessary, but a cape may move very far backward, very minimal forward (to avoid clipping with the player wearing it) and only a little to each side since it’s probably a thick cloth material.

Example usage:

angle_constraint 90 (your jigglebones can move up to 90 degrees in the enabled directions on all axes unless overwritten)

yaw_constraint 0 90 (overrides the yaw axis - your jigglebone can’t move backward, but can move forward up to 90 degrees

yaw_constraint -90 0 (same thing – moves backward 90 degrees but can’t move forward

pitch_constraint -15 30 (same as the above as well, on the pitch axis – bones can move -15 degrees backward and 30 degrees forward).

Use whatever values you find fitting, but jigglebones generally reset if they’re too close to flipping all the way around.

Also keep in mind that if you rigged this model yourself, jigglebones have odd orientations and thus your bones generally need to be rotated 90 degrees to move in the appropriate directions. Other than that, just mess with the values and see what you get.