Zeds skeletons

ka3ant1p

Member
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:

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 o_O, 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...

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....
 
Back
Top