Gibs that change bodtygroup and only work for spesific hitboxes.

Hi, I’m making an NPC for Garrysmod and it’s my first. I’ve already gotten my rigged and animated model out of 3ds max and an currently setting up the QC file.


$cd "C:\Users\Banshee\Documents\3dsMax\export\Flood"
$scale 1.0
$modelname "props\halo\characters\floodcombat_human\floodcombat_human.mdl"
$body "Body" "flood.smd"
$model "floodcombatflood" "flood.SMD"
$cdmaterials "models/characters/floodcombat_human/bitmaps"
$surfaceprop "flesh"

$hboxset "default"
$hbox 1 "Bip01_Head1" -1.250  -6.500  -3.190  8.250  3.500  3.310
$hbox 4 "Bip01_L_UpperArm" 0.000  -2.750  -2.750  12.510  1.750  2.250
$hbox 4 "Bip01_L_Forearm" 0.000  -2.190  -2.380  13.000  1.810  1.620
$hbox 4 "Bip01_L_Hand" 0.060  -2.000  -1.500  4.060  1.000  2.500
$hbox 5 "Bip01_R_UpperArm" 0.000  -3.000  -2.250  12.390  2.000  2.750
$hbox 5 "Bip01_R_Forearm" -0.500  -2.200  -1.550  12.500  1.800  2.450
$hbox 5 "Bip01_R_Hand" 0.060  -2.000  -2.500  4.060  1.000  1.500
$hbox 6 "Bip01_L_Thigh" 0.000  -3.750  -3.250  17.850  3.750  3.250
$hbox 6 "Bip01_L_Calf" 0.000  -3.510  -3.280  15.640  3.490  2.720
$hbox 6 "Bip01_L_Foot" -1.070  -2.000  -2.840  5.040  5.000  2.160
$hbox 6 "Bip01_L_Toe0" -0.500  -3.000  -2.190  2.500  0.000  2.460
$hbox 7 "Bip01_R_Thigh" 0.000  -3.750  -3.250  17.850  3.750  3.250
$hbox 7 "Bip01_R_Calf" 0.000  -3.510  -2.820  15.640  3.490  3.180
$hbox 7 "Bip01_R_Foot" -1.060  -2.010  -2.280  5.050  4.990  2.720
$hbox 7 "Bip01_R_Toe0" -0.500  -3.000  -2.600  2.500  0.000  2.100
$hbox 3 "Bip01_Pelvis" -7.500  -5.500  -6.000  7.500  8.500  5.000
$hbox 2 "Bip01_Spine2" -2.500  -2.500  -7.000  14.500  7.500  7.000

$sequence idle "idle" ACT_IDLE 1 loop fps 30.00
$keyvalues { "prop_data" { "base" "Wooden.Medium" "health" "10"} }
//Health is the damage required to break the item, 0 will make it invincible.
$collisiontext
{
break
    {
        "model" "halo/characters/floodcombat_human/flood_bit_h-head/flood_bit_h-head.mdl" "fadetime" "50"
    }
break
    {
        "model" "halo/characters/floodcombat_human/flood_bit_innards/flood_bit_innards.mdl" "fadetime" "50"
    }
break
    {
        "model" "halo/characters/floodcombat_human/flood_bit_limbs/flood_bit_limbs.mdl" "fadetime" "50"
    }
break
    {
        "model" "halo/characters/floodcombat_human/flood_bit_skin/flood_bit_skin.mdl" "fadetime" "50"
    }
}
$collisionjoints "flood.smd" {

	$mass 90.0
	$inertia 10.00
	$damping 0.01
	$rotdamping 1.50
	$rootbone "bip01_pelvis"
	$jointmerge "Bip01_Pelvis" "Bip01_Spine1"

	$jointconstrain "bip01_r_upperarm" x limit -39.00 39.00 0.00
	$jointconstrain "bip01_r_upperarm" y limit -79.00 95.00 0.00
	$jointconstrain "bip01_r_upperarm" z limit -93.00 23.00 0.00

	$jointconstrain "bip01_l_upperarm" x limit -30.00 30.00 0.00
	$jointconstrain "bip01_l_upperarm" y limit -95.00 84.00 0.00
	$jointconstrain "bip01_l_upperarm" z limit -86.00 26.00 0.00

	$jointconstrain "bip01_l_forearm" x limit 0.00 0.00 0.00
	$jointconstrain "bip01_l_forearm" y limit 0.00 0.00 0.00
	$jointconstrain "bip01_l_forearm" z limit -149.00 4.00 0.00

	$jointconstrain "bip01_l_hand" x limit -37.00 37.00 0.00
	$jointconstrain "bip01_l_hand" y limit 0.00 0.00 0.00
	$jointconstrain "bip01_l_hand" z limit -57.00 59.00 0.00

	$jointconstrain "bip01_r_forearm" x limit 0.00 0.00 0.00
	$jointconstrain "bip01_r_forearm" y limit 0.00 0.00 0.00
	$jointconstrain "bip01_r_forearm" z limit -149.00 4.00 0.00

	$jointconstrain "bip01_r_hand" x limit -60.00 60.00 0.00
	$jointconstrain "bip01_r_hand" y limit 0.00 0.00 0.00
	$jointconstrain "bip01_r_hand" z limit -57.00 70.00 0.00

	$jointconstrain "bip01_r_thigh" x limit -12.00 12.00 0.00
	$jointconstrain "bip01_r_thigh" y limit -8.00 75.00 0.00
	$jointconstrain "bip01_r_thigh" z limit -97.00 32.00 0.00

	$jointconstrain "bip01_r_calf" x limit 0.00 0.00 0.00
	$jointconstrain "bip01_r_calf" y limit 0.00 0.00 0.00
	$jointconstrain "bip01_r_calf" z limit -12.00 126.00 0.00

	$jointconstrain "bip01_head1" x limit -20.00 20.00 0.00
	$jointconstrain "bip01_head1" y limit -25.00 25.00 0.00
	$jointconstrain "bip01_head1" z limit -13.00 30.00 0.00

	$jointconstrain "bip01_l_thigh" x limit -12.00 12.00 0.00
	$jointconstrain "bip01_l_thigh" y limit -73.00 6.00 0.00
	$jointconstrain "bip01_l_thigh" z limit -93.00 30.00 0.00

	$jointconstrain "bip01_l_calf" x limit 0.00 0.00 0.00
	$jointconstrain "bip01_l_calf" y limit 0.00 0.00 0.00
	$jointconstrain "bip01_l_calf" z limit -8.00 126.00 0.00

	$jointconstrain "bip01_l_foot" x limit 0.00 0.00 0.00
	$jointconstrain "bip01_l_foot" y limit -19.00 19.00 0.00
	$jointconstrain "bip01_l_foot" z limit -15.00 35.00 0.00

	$jointconstrain "bip01_r_foot" x limit 0.00 0.00 0.00
	$jointconstrain "bip01_r_foot" y limit -25.00 6.00 0.00
	$jointconstrain "bip01_r_foot" z limit -15.00 35.00 0.00
	$animatedfriction 1.000 400.000 0.500 0.300 0.000
}

I need this set up so that when a certain hit-box is shot “off”, the bodygroup will change and release a head.

for example:

bodygroup is currently normal,
player shoots head
bodygroup changes to nohead
head gib is spawned
player shoots left limb
bodygroup is changed to nohead and noleftlimb
gib for limb is spawned
player shoots right limb
bodygroup changed to no head and no left limb and no right limb
gib is spawned for right limb.
and so on.

currently head, both limbs, and chest should be able to be shot off. with gibs when certain bodygroup is shot.
also if possible, I have a flesh explosion effect that is meant for when something is shot off. Currently no idea how to get the effect into source.

Also, If you see anything with the QC script that is off, please help me fix it. thank you.

You could have different bodygroups for the arms, legs etc.

I saw this in GTA 4 a lot of times, except it was the prop (headwear) instead of a gib.

I already have bodygroups for both arms, head, and chest.

Also I want them to not be able to attack with gun if there right arm is off and not melee if there left arm is off.
They also have to drop there gun if there right arm is shot off. Please, I need to get this in source soon.

I think I’ve figured most of it out, I just need to know how to tie the Bodygroups in with LOD and how to link bodygroup change to Gibs.

automerge…

Well if you figure out how it’s done it’d be nice to know aswell.

That kind of infomation could come in handy one day.

Those weren’t part of the models, they were separate models attached to the peds.