ENTITY* create_bone(ENTITY* ent, STRING* parent, STRING* child)
{
VECTOR parent_pos;
VECTOR child_pos;
ANGLE bone_ang;
ENTITY* temp_bone;

vec_for_bone(parent_pos,ent,parent);
vec_for_bone(child_pos,ent,child);

vec_sub(child_pos,parent_pos);
vec_to_angle(bone_ang,child_pos);

temp_bone = ent_create("crate.mdl",parent_pos,0);
vec_set(temp_bone.pan,bone_ang);
temp_bone.scale_x = 0.1;
temp_bone.scale_y = 0.1;
temp_bone.scale_z = 0.1;
return(temp_bone);
}

use it like this

create_bone(doll,"ValveBiped.Bip01~17","ValveBiped.Bip01~18");
you = create_bone(doll,"ValveBiped.Bip01~30","ValveBiped.Bip01~31");
create_bone(doll,"ValveBiped.Bip01~11","ValveBiped.Bip01~12");
wait(-7);
ent_remove(you);//remove 2nd bone in 7 seconds for testing