how can you fix "cannot find bone" in studiomdl

me again, i know right? >.>
I’ll make this quick. how do you fix the “cannot find bone” issue?
to let you know, all bones are properly labeled in their smd files, i just need to know how to fix that problem.

let me know if i have to show the model’s qc file.

there must be a bone in the qc that isn’t in the .smd or vice versa, take a closer look.

Well, there’re two ways. Easy and hard one.

  1. Just delete all the hitboxes in the qc file. (that’s the easy way), normally upon compiling the hitboxes would be generated based on the bones.
  2. Just open the model in Milkshape 3d (or any other tool that can indicate bones) search for every single bone you have to located in the hitboxes tab. The bone giving errors will be listed as hitbox, but will not be present in the smd. Normally this happens if you make for example head hacks, and the bone structure is different for example.

It also could be that your model consists of animations only, in which case you have to use $definebone.

Yeah, I think you should post the QC file.

i took NappoleonII’s adivce on removing the hboxes, and the qc file works, it does compile, the new issue now is that it doesn’t load up in HLMV, which as i know this time, some are having this issue. i posted the QC file on the thread where i have the project happening but I’ll post it here too:


  $cd "C:\Program Files (x86)\Steam\steamapps\xxnitronxx\garrysmod\garrysmod\addons\otherbrawl_samus source\models\Otherbrawl"
$modelname "Otherbrawl\samus.mdl"
$model "studio" "reference.SMD"
$cdmaterials "models\smashbros\Samlyx\"
$cdmaterials "models\OtherM\Characters\Samus\ZeroSuit\"
$hboxset "default"
// Model uses material "ZeroSuit_Emis.vmt"
// Model uses material "ZeroSuit_Diff.vmt"
// Model uses material "Fit_Nsam_pony.vmt"
// Model uses material "Fit_Nsam_atama.vmt"
// Model uses material "Fit_Nsam_kao.vmt"
// Model uses material "Fit_Nsam_koutoubu.vmt"
// Model uses material "Fit_Nsam_matsuge.vmt"
// Model uses material "Fit_Nsam_maegami.vmt"
// Model uses material "Eyeball_right.vmt"
// Model uses material "Eyeball_left.vmt"
$attachment "eyes" "ValveBiped.Bip01_Head1" 2.72 -3.33 -0.01 rotate 0.00 -80.10 -90.00
$attachment "lefteye" "ValveBiped.Bip01_Head1" 2.72 -3.33 -1.30 rotate 0.00 -80.10 -90.00
$attachment "righteye" "ValveBiped.Bip01_Head1" 2.72 -3.33 1.31 rotate 0.00 -80.10 -90.00
$attachment "nose" "ValveBiped.Bip01_Head1" 1.70 -5.30 -0.00 rotate 0.00 -80.00 -90.00
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.20 -4.90 -0.00 rotate 0.00 -80.00 -90.00
$attachment "forward" "ValveBiped.Bip01_Head1" 0.00 0.00 0.00 rotate 0.00 -0.00 -0.00
$attachment "anim_attachment_head" "ValveBiped.Bip01_Head1" 0.00 0.00 0.00 rotate -90.00 -90.00 0.00
$surfaceprop "flesh"
$illumposition -0.144 0.712 34.730
$sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
$sequence idle "idle" ACT_idle 1 fps 30.00
$collisionjoints "phymodel.smd" {
	$mass 90.0
	$inertia 10.00
	$damping 0.01
	$rotdamping 1.50
	$rootbone "valvebiped.bip01_pelvis"
	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"

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

	$jointconstrain "valvebiped.bip01_r_calf" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" z limit -160.00 15.00 0.00

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

	$jointconstrain "valvebiped.bip01_l_calf" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" z limit -15.00 160.00 0.00

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

	$jointconstrain "valvebiped.bip01_spine2" x limit -48.00 48.00 0.00
	$jointconstrain "valvebiped.bip01_spine2" y limit -25.00 25.00 0.00
	$jointconstrain "valvebiped.bip01_spine2" z limit -25.00 50.00 0.00

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

	$jointconstrain "motzerohair_b01" x limit -180.00 180.00 0.00
	$jointconstrain "motzerohair_b01" y limit -180.00 180.00 0.00
	$jointconstrain "motzerohair_b01" z limit -180.00 180.00 0.00

	$jointconstrain "motzerohair_b02" x limit -180.00 180.00 0.00
	$jointconstrain "motzerohair_b02" y limit -180.00 180.00 0.00
	$jointconstrain "motzerohair_b02" z limit -180.00 180.00 0.00

	$jointconstrain "motzerohair_b03" x limit -180.00 180.00 0.00
	$jointconstrain "motzerohair_b03" y limit -180.00 180.00 0.00
	$jointconstrain "motzerohair_b03" z limit -180.00 180.00 0.00

	$jointconstrain "mot_breast" x limit 0.00 0.00 0.00
	$jointconstrain "mot_breast" y limit 0.00 0.00 0.00
	$jointconstrain "mot_breast" z limit 0.00 0.00 0.00

	$jointconstrain "valvebiped.bip01_l_clavicle" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_clavicle" y limit -15.00 15.00 0.00
	$jointconstrain "valvebiped.bip01_l_clavicle" z limit -30.00 30.00 0.00

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

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

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

	$jointconstrain "valvebiped.bip01_r_clavicle" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_clavicle" y limit -15.00 15.00 0.00
	$jointconstrain "valvebiped.bip01_r_clavicle" z limit -30.00 30.00 0.00

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

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

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

	$jointconstrain "motzerohair_b04" x limit -180.00 180.00 0.00
	$jointconstrain "motzerohair_b04" y limit -180.00 180.00 0.00
	$jointconstrain "motzerohair_b04" z limit -180.00 180.00 0.00

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

It could be that one of your $jointconstrain commands is referencing a non-existent bone.