How can I create a qc for my ragdoll?

I can only find how to create a qc for props. Anyway I have this Dasiy smd, she’s rigged and has bones. Now considering model decompile is a pain in the ass to work with already, I recently learned I must manually create the qc. Any help?

When you decompile a model it should actually give you a relatively useable QC. From there on you should be able to learn a bit about the structure.

I’ve use this QC for make my ragdoll



$modelname "gonzalolog/ezio.mdl"
$scale 1.00
$cdmaterials "models/gonzalolog/ezio"

$body "Body" "ezio.SMD"

$surfaceprop "flesh"


$keyvalues
{
"prop_data"
{
"base" "flesh.small"
}
}

$collisionmodel "ezio.SMD" {
	$concave
	$mass 80.000
}


$include "C:/Program Files (x86)/Steam/SteamApps/gonzalologorg/sourcesdk_content/hl2/modelsrc/player/ragdoll.qci"

$include "body_poses_lean.qci"
$include "male_shared_XSI_sdk.qci"
$include "WeaponAnims_Shared_sdk.qci"


Delete the include if you don’t wanna make it like a playermodel

when making a ragdoll you should not use collisionmodel but collisionjoints. Since a collisionmodel is not ragdolled. On top of that you’re using $body as opposed to $model -again something that plays a role for props not ragdolls.

EDIT

I am actually unsure what you’re trying to do. You have a collision model but are also including a collisionjoints from the ragdoll QCI

Here, have a commented QC




//where is the file source dir
$cd "H:\My scribbles\!3d_projects\harlequins\male"

//where tocompile to
$modelname "Harlequins\male.mdl"

//reference smd
$model "male01" "resizedbones" {
}

//path to textuers
$cdmaterials "models\harlequins\male1"


//attachments - not important if you have no faceposing or are using valve animations - can be ignored 
$attachment "eyes" "ValveBiped.Bip01_Head1" 3.67 -4.32 0.00 rotate 0.00 -80.10 -90.00
$attachment "mouth" "ValveBiped.Bip01_Head1" 1.00 -6.50 -0.00 rotate 0.00 -80.00 -90.00
$attachment "chest" "ValveBiped.Bip01_Spine2" 5.00 4.00 -0.00 rotate -0.00 90.00 90.00
$attachment "forward" "ValveBiped.forward" 0.00 0.00 0.00 rotate 0.00 0.00 -0.00
$attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" -0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
$attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" -0.00 -0.00 0.00 rotate -90.00 -90.00 0.00
$attachment "anim_attachment_head" "ValveBiped.Bip01_Head1" -0.00 0.00 0.00 rotate -90.00 -90.00 0.00

//a sequence - has to be at least one
$sequence ragdoll "resizedbones" ACT_DIERAGDOLL 1 fps 30.00

//included animations - only usefull if you are using an existing skeleton
$includemodel "humans/male_shared.mdl"
$includemodel "humans/male_ss.mdl"
$includemodel "humans/male_gestures.mdl"
$includemodel "humans/male_postures.mdl"

//what materials is the models made off
$surfaceprop "flesh"
$eyeposition 0.000 0.000 70.000

//the center of illumination
$illumposition 0.654 0.000 36.127

//ikchains - important for some animations
$ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
$ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
$ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
$ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000

//colisionjoints - how much each ragdoll part stretches
$collisionjoints "phymodel.smd" {

	$mass 90.0
	$inertia 10.00
	$damping 0.01
	$rotdamping 1.50
//the first bone in the model
	$rootbone "valvebiped.bip01_pelvis"
	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"

//the actual ragdoll rotation constraints. You will make those in HLMV
	$jointconstrain "valvebiped.bip01_spine2" x limit -70.00 70.00 0.00
	$jointconstrain "valvebiped.bip01_spine2" y limit -25.00 25.00 0.00
	$jointconstrain "valvebiped.bip01_spine2" z limit -65.00 95.00 0.00

	$jointconstrain "valvebiped.bip01_l_upperarm" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_l_upperarm" y limit -115.00 150.00 0.00
	$jointconstrain "valvebiped.bip01_l_upperarm" z limit -135.00 135.00 0.00

	$jointconstrain "valvebiped.bip01_l_forearm" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_l_forearm" y limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_l_forearm" z limit -140.00 30.00 0.00

	$jointconstrain "valvebiped.bip01_r_upperarm" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_r_upperarm" y limit -150.00 115.00 0.00
	$jointconstrain "valvebiped.bip01_r_upperarm" z limit -135.00 135.00 0.00

	$jointconstrain "valvebiped.bip01_r_forearm" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" y limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" z limit -140.00 30.00 0.00

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

	$jointconstrain "valvebiped.bip01_l_hand" x limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_l_hand" y limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_l_hand" z limit -70.00 70.00 0.00

	$jointconstrain "valvebiped.bip01_r_thigh" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_r_thigh" y limit -90.00 55.00 0.00
	$jointconstrain "valvebiped.bip01_r_thigh" z limit -110.00 125.00 0.00

	$jointconstrain "valvebiped.bip01_r_calf" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" y limit -12.00 12.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" z limit -12.00 145.00 0.00

	$jointconstrain "valvebiped.bip01_head1" x limit -70.00 70.00 0.00
	$jointconstrain "valvebiped.bip01_head1" y limit -25.00 25.00 0.00
	$jointconstrain "valvebiped.bip01_head1" z limit -65.00 40.00 0.00

	$jointconstrain "valvebiped.bip01_l_thigh" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_l_thigh" y limit -55.00 90.00 0.00
	$jointconstrain "valvebiped.bip01_l_thigh" z limit -110.00 120.00 0.00
	
	$jointconstrain "valvebiped.bip01_l_calf" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" y limit -12.00 12.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" z limit -12.00 145.00 0.00

	$jointconstrain "valvebiped.bip01_l_foot" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_l_foot" y limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_l_foot" z limit -55.00 35.00 0.00

	$jointconstrain "valvebiped.bip01_r_foot" x limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_r_foot" y limit -40.00 40.00 0.00
	$jointconstrain "valvebiped.bip01_r_foot" z limit -55.00 35.00 0.00
	
	$jointconstrain "valvebiped.bip01_l_toe0" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_toe0" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_toe0" z limit -46.00 46.00 0.00
	
	$jointconstrain "valvebiped.bip01_r_toe0" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_toe0" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_toe0" z limit -46.00 46.00 0.00
	$animatedfriction 1.000 400.000 0.500 0.300 0.000
}


Thats a perfect template <3

but anyway here is one of my qc’s



$modelname "cra0kalo\models\arab_male01.mdl"
//$model "Arab_01" "arab_male1.smd" {
$model "Arab_01" "arab_male_ref.smd" {
     $include "standardflex_3ds.qci"
	 
	// eyeball righteye "cra0:Head" -1.46 -2.71 72.31 "P3DA_LRM_Lat_Base" 1.00 4 "pupil_r" 0.63
	//eyeball lefteye "cra0:Head" 1.46 -2.71 72.31 "P3DA_LRM_Lat_Base" 1.00 -4 "pupil_l" 0.63
	mouth 0 "mouth" "cra0:tongue" 0 1 0     // mouth illumination
	 }
$cdmaterials "models\cra0kalo\arabic"
$hboxset "default"
$surfaceprop "flesh"
$sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
$sequence demo "demo" fps 30.00
$sequence demo2 "demo2" fps 30.00
//$ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
//$ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
//$ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
//$ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000
$attachment "eyes" "cra0:Head" 0.00 5.40 5.00 rotate -90 -90 0
$attachment "righteye" "cra0:Head" -1.51 5.46 4.42 rotate -90 -90 0
$attachment "lefteye" "cra0:Head" 1.51 5.46 4.42 rotate -90 -90 0