//The Class "CfgSkeletons" defines all moving objects. class CfgSkeletons { class Head { isDiscrete = 0; skeletonInherit = ""; skeletonBones[] = { "neck","", "neck1","neck", "head","neck1", "lBrow","head", "mBrow","head", "rBrow","head", "lMouth","head", "mMouth","head", "rMouth","head", "eyelids","head", "LLip","head" }; }; class OFP2_ManSkeleton { isDiscrete = 0; skeletonInherit = "Head"; skeletonBones[] = { "weapon","", "launcher","", "Camera","", "Spine","", "Spine1","", "Spine2","", "Spine3","", "Pelvis","", //Left upper side "LeftShoulder","", "LeftArm","", "LeftArmRoll","", "LeftForeArm","", "LeftForeArmRoll","", "LeftHand","", "LeftHandRing","", "LeftHandRing1","", "LeftHandRing2","", "LeftHandRing3","", "LeftHandPinky1","", "LeftHandPinky2","", "LeftHandPinky3","", "LeftHandMiddle1","", "LeftHandMiddle2","", "LeftHandMiddle3","", "LeftHandIndex1","", "LeftHandIndex2","", "LeftHandIndex3","", "LeftHandThumb1","", "LeftHandThumb2","", "LeftHandThumb3","", //Right upper side "RightShoulder","", "RightArm","", "RightArmRoll","", "RightForeArm","", "RightForeArmRoll","", "RightHand","", "RightHandRing","", "RightHandRing1","", "RightHandRing2","", "RightHandRing3","", "RightHandPinky1","", "RightHandPinky2","", "RightHandPinky3","", "RightHandMiddle1","", "RightHandMiddle2","", "RightHandMiddle3","", "RightHandIndex1","", "RightHandIndex2","", "RightHandIndex3","", "RightHandThumb1","", "RightHandThumb2","", "RightHandThumb3","", //Left lower side "LeftUpLeg","", "LeftUpLegRoll","", "LeftLeg","", "LeftLegRoll","", "LeftFoot","", "LeftToeBase","", //Right lower side "RightUpLeg","", "RightUpLegRoll","", "RightLeg","", "RightLegRoll","", "RightFoot","", "RightToeBase","" }; }; //Always create class "default" first. //Your actual config-entry should be a derivate of this. class Default; class Default_Mod : Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = {}; }; class Chain_Saw: Default { skeletonInherit = "Default"; skeletonBones[] = { "stozar","", "vlajka","" }; }; //the derivate of your skeleton from claa "Default". class wood_door_skeleton : Default_Mod { isDiscrete=1; skeletonInherit=""; // The moving objects are here defined // If two selections are linked together // they can be written next to each seperated by only a comma // if they are not linked, they need to be // seperated by ,"", skeletonBones[]= { "door","" }; // The last entry gets no comma }; class locked_wood_door_skeleton : Default_Mod { isDiscrete=1; skeletonInherit=""; // The moving objects are here defined // If two selections are linked together // they can be written next to each seperated by only a comma // if they are not linked, they need to be // seperated by ,"", skeletonBones[]= { "door","","hinge","" }; // The last entry gets no comma }; //the derivate of your skeleton from claa "Default". class garage_door_skeleton : Default_Mod { isDiscrete=1; skeletonInherit=""; // The moving objects are here defined // If two selections are linked together // they can be written next to each seperated by only a comma // if they are not linked, they need to be // seperated by ,"", skeletonBones[]= { "garage","" }; // The last entry gets no comma }; // locked garage door class locked_garage_door_skeleton : Default_Mod { isDiscrete=1; skeletonInherit=""; // The moving objects are here defined // If two selections are linked together // they can be written next to each seperated by only a comma // if they are not linked, they need to be // seperated by ,"", skeletonBones[]= { "garage","","hinge","" }; // The last entry gets no comma }; class locked_steel_garage_skeleton : Default_Mod { isDiscrete=1; skeletonInherit=""; // The moving objects are here defined // If two selections are linked together // they can be written next to each seperated by only a comma // if they are not linked, they need to be // seperated by ,"", skeletonBones[]= { "garage","","latch","" }; // The last entry gets no comma }; class steel_garage_skeleton : Default_Mod { isDiscrete=1; skeletonInherit=""; // The moving objects are here defined // If two selections are linked together // they can be written next to each seperated by only a comma // if they are not linked, they need to be // seperated by ,"", skeletonBones[]= { "garage","", }; // The last entry gets no comma }; class steel_door_skeleton : Default_Mod { isDiscrete=1; skeletonInherit=""; // The moving objects are here defined // If two selections are linked together // they can be written next to each seperated by only a comma // if they are not linked, they need to be // seperated by ,"", skeletonBones[]= { "door","","" }; // The last entry gets no comma }; class locked_steel_door_skeleton : Default_Mod { isDiscrete=1; skeletonInherit=""; // The moving objects are here defined // If two selections are linked together // they can be written next to each seperated by only a comma // if they are not linked, they need to be // seperated by ,"", skeletonBones[]= { "door","","latch","" }; // The last entry gets no comma }; }; // This class defines the actual moves class CfgModels { //load some bases from which you can derivate class rotation; class translation; class Default; class chainsaw : Default { sections[] = {"latka"}; }; class Head: Default { sections[] = { "osobnost", "brejle" }; skeletonName = "Head"; }; class ArmaMan : Default { sections[] = { "osobnost","Head_Injury","Body_Injury","l_leg_inju ry","l_arm_injury","r_arm_injury","r_leg_injury" , "clan" }; skeletonName = "OFP2_ManSkeleton"; }; // Your own "class default" class wood_door { sectionsInherit=""; sections[]= {}; skeletonName="wood_door_skeleton"; // same as in cfgskeletons }; class locked_wood_door { sectionsInherit=""; sections[]= {}; skeletonName="locked_wood_door_skeleton"; // same as in cfgskeletons }; // The name behind the class // dhas to be the exact name of your .p3d // without .p3d class large_wall_door_anim : wood_door { sectionsInherit="wood_door"; sections[]={}; // the rotation animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="door"; // the thing that moves axis="door_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=2.7; // final position after playing the animation }; }; }; class large_wall_door_locked_anim : locked_wood_door { sectionsInherit="locked_wood_door"; sections[]={}; // the rotation animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="door"; // the thing that moves axis="door_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=2.7; // final position after playing the animation }; class Open_hinge : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="hinge"; // the thing that moves axis="hinge_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=-2.3; // final position after playing the animation }; }; }; class small_wall_door_anim : wood_door { sectionsInherit="wood_door"; sections[]={}; // the rotation animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="door"; // the thing that moves axis="door_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=2.7; // final position after playing the animation }; }; }; class small_wall_door_locked_anim : locked_wood_door { sectionsInherit="locked_wood_door"; sections[]={}; // the rotation animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="door"; // the thing that moves axis="door_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=2.7; // final position after playing the animation }; class Open_hinge : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="hinge"; // the thing that moves axis="hinge_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=-2.3; // final position after playing the animation }; }; }; class garage_door { sectionsInherit=""; sections[]= {}; skeletonName="garage_door_skeleton"; // same as in cfgskeletons }; class locked_garage_door { sectionsInherit=""; sections[]= {}; skeletonName="locked_garage_door_skeleton"; // same as in cfgskeletons }; class garage_door_anim : garage_door { sectionsInherit="garage_door"; sections[]={}; // the rotation animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="garage"; // the thing that moves axis="garage_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=1.7; // final position after playing the animation }; }; }; class Garage_door_locked_anim : locked_garage_door { sectionsInherit="locked_garage_door"; sections[]={}; // the rotation animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="garage"; // the thing that moves axis="garage_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=1.7; // final position after playing the animation }; class Open_hinge : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="hinge"; // the thing that moves axis="hinge_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=-2.3; // final position after playing the animation }; }; }; class unlocked_steel_garage_door { sectionsInherit=""; sections[]= {}; skeletonName="steel_garage_skeleton"; // same as in cfgskeletons }; //New Anim for steel_garage_door.p3d class steel_garage_door : unlocked_steel_garage_door { sectionsInherit="unlocked_steel_garage_door"; sections[]={}; // the translation(slide) animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="garage"; // the thing that moves axis="garage_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=1.7; // final position after playing the animation }; }; }; class locked_steel_garage_door { sectionsInherit=""; sections[]= {}; skeletonName="locked_steel_garage_skeleton"; // same as in cfgskeletons }; //New Anim for steel_garage_locked.p3d class steel_garage_locked : locked_steel_garage_door { sectionsInherit="locked_steel_garage_door"; sections[]={}; // the translation(slide) animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="garage"; // the thing that moves axis="garage_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=1.7; // final position after playing the animation }; class Open_latch : Translation { // name of the animation type="translation"; // Type of movement source="user"; // Trigger of the animation selection="latch"; // the thing that moves axis="latch_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no offset0=0; // initial angle of the door in radians offset1=0.5; // final position after playing the animation }; }; }; class unlocked_steel_door { sectionsInherit=""; sections[]= {}; skeletonName="steel_door_skeleton"; // same as in cfgskeletons }; //New Anim for steel_door.p3d class steel_door : unlocked_steel_door { sectionsInherit="unlocked_steel_door"; sections[]={}; // the translation(slide) animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="door"; // the thing that moves axis="door_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=-2.4; // final position after playing the animation }; }; }; class locked_steel_door { sectionsInherit=""; sections[]= {}; skeletonName="locked_steel_door_skeleton"; // same as in cfgskeletons }; //New Anim for steel_door_locked.p3d class steel_door_locked : locked_steel_door { sectionsInherit="locked_steel_door"; sections[]={}; // the translation(slide) animation class Animations { class Open_door : Rotation { // name of the animation type="rotation"; // Type of movement source="user"; // Trigger of the animation selection="door"; // the thing that moves axis="door_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no angle0=0; // initial angle of the door in radians angle1=-2.4; // final position after playing the animation }; class Open_latch : Translation { // name of the animation type="translation"; // Type of movement source="user"; // Trigger of the animation selection="latch"; // the thing that moves axis="latch_axis"; // take a guess what this does... memory = 1; // can the axis be found in memory-lod? 1 = yes, 0 = no offset0=0; // initial angle of the door in radians offset1=-1.42; // final position after playing the animation }; }; }; };