Hi all,
While working on reworking zeds have seen sometimes RPT log errors like zombies has no such bones as shoulder. At first i thought they have different skeletons with bots, but then I decided to check it...
So here is what I've discovered for my self:
1)Both bots and zeds and even survivals use the same skeleton:
Then went to class OFP2_ManSkeleton:
After seeing this, thought that zeds models just can use not all of them but only a part, but i found out that zeds use the same models
, the only thing they differ with bots, they use another faces and apply some textures to their models, but models are the same, so should have the same skeleton...
So both z_policeman and RU_policeman use the same model: model = "\ca\characters2\civil\Policeman\Policeman"
Have same wounds, skeleton....
So i don't really understand why there some times errors like no such bones appear, for example when trying to give a backpack to zombie....
While working on reworking zeds have seen sometimes RPT log errors like zombies has no such bones as shoulder. At first i thought they have different skeletons with bots, but then I decided to check it...
So here is what I've discovered for my self:
1)Both bots and zeds and even survivals use the same skeleton:
Code:
class CfgMovesMaleSdr : CfgMovesBasic {
skeletonName = "OFP2_ManSkeleton";
gestures = "CfgGesturesMale";
class CfgMovesZombie : CfgMovesBasic {
skeletonName = "OFP2_ManSkeleton";
gestures = "CfgGesturesMale";
Then went to class OFP2_ManSkeleton:
Code:
class OFP2_ManSkeleton
{
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] = {"Pelvis","","Spine","Pelvis","Spine1","Spine","Spine2","Spine1","Spine3","Spine2","Camera","Pelvis","weapon","Spine1","launcher","Spine1","neck","Spine3","neck1","neck","head","neck1","HeadCutScene","head","jaw","head","chin","head","jaw_rf","head","jaw_rm","head","jaw_rs","head","jaw_lf","head","jaw_lm","head","jaw_ls","head","ear_r","head","ear_l","head","lip_lc","head","lip_lwlb","head","lip_lwlf","head","lip_lwm","head","lip_lwrf","head","lip_lwrb","head","lip_rc","head","lip_uprb","head","lip_uprf","head","lip_upm","head","lip_uplf","head","lip_uplb","head","nose_tip","head","nose_r","head","nose_l","head","zig_lt","head","zig_lm","head","zig_lb","head","zig_rt","head","zig_rm","head","zig_rb","head","cheek_r","head","cheek_l","head","eyebrow_lb","head","eyebrow_lm","head","eyebrow_lf","head","corr","head","eyebrow_rf","head","eyebrow_rm","head","eyebrow_rb","head","eye_upr","head","eye_lwr","head","eye_upl","head","eye_lwl","head","cheek_rf","head","cheek_rm","head","cheek_rb","head","cheek_lf","head","cheek_lm","head","cheek_lb","head","forehead_l","head","forehead_m","head","forehead_r","head","l_eye","head","r_eye","head","l_pupila","head","r_pupila","head","neck_t","head","neck_b","head","neck_r","head","neck_l","head","tongue_b","head","tongue_m","head","tongue_f","head","LeftShoulder","Spine3","LeftArm","LeftShoulder","LeftArmRoll","LeftArm","LeftForeArm","LeftArmRoll","LeftForeArmRoll","LeftForeArm","LeftHand","LeftForeArmRoll","LeftHandRing","LeftHand","LeftHandRing1","LeftHandRing","LeftHandRing2","LeftHandRing1","LeftHandRing3","LeftHandRing2","LeftHandPinky1","LeftHandRing","LeftHandPinky2","LeftHandPinky1","LeftHandPinky3","LeftHandPinky2","LeftHandMiddle1","LeftHand","LeftHandMiddle2","LeftHandMiddle1","LeftHandMiddle3","LeftHandMiddle2","LeftHandIndex1","LeftHand","LeftHandIndex2","LeftHandIndex1","LeftHandIndex3","LeftHandIndex2","LeftHandThumb1","LeftHand","LeftHandThumb2","LeftHandThumb1","LeftHandThumb3","LeftHandThumb2","RightShoulder","Spine3","RightArm","RightShoulder","RightArmRoll","RightArm","RightForeArm","RightArmRoll","RightForeArmRoll","RightForeArm","RightHand","RightForeArmRoll","RightHandRing","RightHand","RightHandRing1","RightHandRing","RightHandRing2","RightHandRing1","RightHandRing3","RightHandRing2","RightHandPinky1","RightHandRing","RightHandPinky2","RightHandPinky1","RightHandPinky3","RightHandPinky2","RightHandMiddle1","RightHand","RightHandMiddle2","RightHandMiddle1","RightHandMiddle3","RightHandMiddle2","RightHandIndex1","RightHand","RightHandIndex2","RightHandIndex1","RightHandIndex3","RightHandIndex2","RightHandThumb1","RightHand","RightHandThumb2","RightHandThumb1","RightHandThumb3","RightHandThumb2","LeftUpLeg","Pelvis","LeftUpLegRoll","LeftUpLeg","LeftLeg","LeftUpLegRoll","LeftLegRoll","LeftLeg","LeftFoot","LeftLegRoll","LeftToeBase","LeftFoot","RightUpLeg","Pelvis","RightUpLegRoll","RightUpLeg","RightLeg","RightUpLegRoll","RightLegRoll","RightLeg","RightFoot","RightLegRoll","RightToeBase","RightFoot"};
pivotsModel = "";
};
After seeing this, thought that zeds models just can use not all of them but only a part, but i found out that zeds use the same models
Code:
class Policeman: Civilian
{
scope = 2;
identityTypes[] = {"Head_CIV","pilot_sunglasses","Language_CZ"};
accuracy = 3.9;
vehicleClass = "Men";
displayName = "$STR_DN_CIV_POLICEMAN";
model = "\ca\characters2\civil\Policeman\Policeman";
class Wounds
{
tex[] = {};
mat[] = {"ca\characters2\civil\policeman\data\policeman.rvmat","ca\characters2\civil\policeman\data\w1_policeman.rvmat","ca\characters2\civil\policeman\data\w2_policeman.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_wounds.rvmat"};
};
};
class RU_Policeman: Policeman
{
faction = "CIV_RU";
languages[] = {"RU"};
genericNames = "RussianMen";
identityTypes[] = {"Head_CIV","pilot_sunglasses","Language_RU"};
};
class RU_Policeman;
class RU_Policeman_DZ: RU_Policeman
{
displayName = "Policeman";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
magazines[] = {};
respawnWeapons[] = {"Throw","Put"};
respawnMagazines[] = {};
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
canHideBodies = 1;
canCarryBackPack = 1;
};
Code:
class z_policeman: zZombie_Base
{
model = "\ca\characters2\civil\Policeman\Policeman";
zombieLoot = "policeman";
class Wounds
{
tex[] = {};
mat[] = {"ca\characters2\civil\policeman\data\policeman.rvmat","ca\characters2\civil\policeman\data\w1_policeman.rvmat","ca\characters2\civil\policeman\data\w2_policeman.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_wounds.rvmat"};
};
};
So both z_policeman and RU_policeman use the same model: model = "\ca\characters2\civil\Policeman\Policeman"
Have same wounds, skeleton....
So i don't really understand why there some times errors like no such bones appear, for example when trying to give a backpack to zombie....