class CfgSkeletons { class Default { isDiscrete=1; skeletonInherit=""; skeletonBones[]={}; }; class m964_keleton: Default { skeletonBones[]= { "magazine", "", "mag_release", "", "grenademagazine", "", "bullet007", "", "bullet008", "", "charging_handle", "", "seletor", "", "Sling", "", "alsa", "", "gatilho", "", "zeroing", "", "zarelho", "", "zarelho_2", "", "granada", "", "Alca_mira", "", "Treme_mira", "Alca_mira", "trilho_frontal", "", "muzzleFlash", "", "optic_rail", "", "zasleh", "", "bolt", "charging_handle" }; }; }; class CfgModels { class Default { sectionsInherit=""; sections[]={}; skeletonName=""; }; class m964: Default { sections[]= { "zasleh","muzzleFlash","magazine","selector","bolt","optic_rail","mira","zeroing","alsa","zarelho","trilho_frontal","granada","Sling","camo","camo1","camo2","camo3","camo4","camo5" }; skeletonName="m964_keleton"; sectionsInherit=""; class Animations { class trigger /// not in this model, but good to use { type = "rotation"; source = "reload"; sourceAddress = "clamp"; selection = "gatilho"; axis = "trigger_axis"; minValue = 0; maxValue = "1"; angle0 = "0"; angle1 = "rad -30"; }; class mag_release /// not in this model, but good to use { type = "rotation"; source = "reloadMagazine"; sourceAddress = "clamp"; selection = "mag_release"; axis = "mag_release_axis"; minValue = 0; maxValue = "0.5"; angle0 = "0"; angle1 = "rad 10"; }; class bullet007_revolving_hide { type="hide"; source="revolving"; selection="bullet007"; sourceAddress="clamp"; minPhase=0; maxPhase=1; minValue=0; maxValue=1; memory=0; hideValue=0; unHideValue=0.035; }; class bullet008_revolving_hide { type="hide"; source="revolving"; selection="bullet008"; sourceAddress="clamp"; minPhase=0; maxPhase=1; minValue=0; maxValue=1; memory=0; hideValue=0; unHideValue=0.035; }; class optic_rail { type="hide"; source="hasOptics"; selection="optic_rail"; minValue=0; maxValue=1; hideValue=-1.0; unhideValue = 0.5; }; class acessory_rail { type="hide"; source="hasAccessory"; selection="trilho_frontal"; minValue=0; maxValue=1; hideValue=-1.0; unhideValue = 0.5; }; //class Sling_hide //{ // type="hide"; // source="isSelected"; //bipod // selection="Sling"; // minValue=0; // maxValue=1; // hideValue = 1.0; // unhideValue =-0.5; //}; class magazine_gl_reload_hide { type="hide"; source="reloadMagazine"; selection="granada"; sourceAddress="clamp"; minPhase=0; maxPhase=1; minValue=0; maxValue=1; memory=0; hideValue=0.22695; unHideValue=0.496454; }; class grenade_fired { type="hide"; source="revolving"; selection="granada"; sourceAddress="clamp"; minPhase=0; maxPhase=1; minValue=0; maxValue=1; memory=0; hideValue=-1; unHideValue=0.5; }; class reload_magazine_hide { type="hide"; source="reloadMagazine"; selection="magazine"; minValue=0; maxValue=1; hideValue=0.1503759; unhideValue=0.7293233082; }; class unloaded_magazine_hide { type = "hide"; source = "hasMagazine"; selection = "magazine"; hideValue = 0.1; }; class reload_magazine_hinge { type="rotation"; source="reloadMagazine"; selection="magazine"; minValue=0.1503759; maxValue=0.1879699; axis="magazine_axis"; angle0="rad 0"; angle1="rad 30"; }; class reload_magazine_hinge2 { type="rotation"; source="reloadMagazine"; selection="magazine"; minValue=0.7518; maxValue=0.7744360; axis="magazine_axis"; angle0="rad 0"; angle1="rad -30"; }; class backsight_rotate { type="translation"; source="zeroing"; selection="treme_mira"; axis="vibra_axis"; minValue=0; maxValue=1; //hideValue=1; offset0=0; offset1="-0.8"; }; //class charge1 //{ //type="translation"; //source="reloadMagazine"; //selection= "charging_handle"; //axis="bolt_axis"; //begin = "bolt_axis_end"; //end = "bolt_axis_begin"; //memory = 1; //minValue=0.76875; //maxValue=0.79375; //offset0="0"; //offset1="1"; //}; //class charge2 //{ //type="translation"; //source="reloadMagazine"; //selection= "charging_handle"; //axis="bolt_axis"; //begin = "bolt_axis_end"; //end = "bolt_axis_begin"; //memory = 1; //minValue=0.80625; //maxValue=0.825; //offset0="0"; //offset1="-1"; //}; class bolt { type="translation"; source="reload"; selection="bolt"; axis="bolt_axis"; begin = "bolt_axis_end"; end = "bolt_axis_begin"; memory = 1; minValue=0; maxValue="0.5"; offset0="0"; offset1="1"; }; class bolt_2: bolt { minValue = 0; maxValue = 0.5; offset0 = 0; offset1 = 0.14; }; class bolt_empty: bolt{ source = "isEmptyNoReload"; minValue = 0; maxValue = 1; offset0 = 0; offset1 = 1; }; class bolt_reload_move_1: bolt_empty { source="reloadMagazine"; // z: should work like that only if weapon is empty minValue=0; maxValue=0.00001; }; class bolt_reload_move_2: bolt_reload_move_1 { source="reloadMagazine"; // z: should work like that only if weapon is empty minValue=0.78; maxValue=0.80; offset1 = -1; }; class alsa_shake { type="rotationX"; source="reload"; selection="alsa"; sourceAddress="mirror"; axis="alsa_axis"; minPhase=0; maxPhase=0.5; minValue=0; maxValue=0.5; memory=0; angle0=-0.008726646; angle1=0.2; }; class mira_shake { type="rotationz"; source="reload"; selection="Treme_mira"; sourceAddress="mirror"; axis="vibra_axis"; minPhase=0; maxPhase=0.5; minValue=0; maxValue=0.5; memory=0; angle0=-0.05; angle1=0.05; }; class mira_shake2 { type="rotationX"; source="reload"; selection="alca_mira"; sourceAddress="mirror"; axis="vibra_axis"; minPhase=0; maxPhase=0.5; minValue=0; maxValue=0.5; memory=0; angle0=0.00; angle1=-0.05; }; //class mira_shake03 //{ // type="rotationy"; // source="reload"; // selection="alca_mira"; // sourceAddress="mirror"; // axis="vibra_axis"; // minPhase=0; // maxPhase=0.5; // minValue=0; // maxValue=0.5; // memory=0; // angle0=0.005759587; // angle1=-0.005759587; //}; class zarelho { type="rotation"; source="reload"; selection="zarelho"; axis="zarelho_axis"; minValue=-1; maxValue="1"; angle0="rad -50"; angle1="rad 50"; }; class zarelho_2 { type="rotation"; source="reload"; selection="zarelho_2"; axis="zarelho_2_axis"; minValue=-1; maxValue="1"; angle0="rad -50"; angle1="rad 50"; }; class muzzleFlashROT { type="rotationX"; source="ammoRandom"; //use ammo count as phase for animation sourceAddress="loop"; //loop when phase out of bounds selection="zasleh"; //selection we want to rotate axis=""; //no own axis - center of rotation is computed from selection centerFirstVertex=true; //use first vertex of selection as center of rotation minValue=0; maxValue=4; //rotation angle will be 360/4 = 90 degrees angle0="rad 0"; angle1="rad 360"; }; class FireModeSwitch { type = "rotation"; source="weaponMode"; memory=clamp; selection="seletor"; animPeriod=0; axis="Selector_axis"; minValue=0; maxValue=1; angle0= "rad -10"; angle1="rad 840"; }; class grenade_shot { type="hide"; source="isemptynoreload.1"; selection="grenademagazine"; sourceAddress="clamp"; minPhase=0; maxPhase=1; minValue=0; maxValue=1; memory=0; hideValue=0.01; unHideValue=-1; }; class grenade_hide { type="hide"; source="weaponmuzzle"; selection="grenademagazine"; sourceAddress="clamp"; minPhase=0; maxPhase=1; minValue=0; maxValue=1; memory=0; hideValue=0; unHideValue=0.01; }; class grenade_magazine_hide { type="hide"; source="reloadmagazine.1"; selection="grenademagazine"; sourceAddress="clamp"; minPhase=0; maxPhase=1; minValue=0; maxValue=1; memory=0; hideValue=0.0001; unHideValue=0.99; }; }; }; };