eggbeast 3673 Posted February 10, 2015 quick question on rotors - other topics never quite answered this main "velka vrtule staticka", solid blades only "velka vrtule blur", proxy model of blurred blades only "velka vrtule" solid blades, rotor head and proxy model of blur tail "mala vrtule staticka", as above for tail "mala vrtule blur", "mala vrtule" In BIS helis they animate the blades so that the solid blades (staticka) are seen at 0 rpm, then they rotate at engine on, and at a certain speed (rpm) they are hidden and the blur proxy is unhidden. In many of our heli conversions, where we rebuilt the model.cfg from sample models and extracts, which are not always 100% guaranteed, and need a lot of trial and error, the solid blades remain after the speed reaches the point where the blur is unhidden. any idea why? selection content in models (e.g. BIS AW159 wildcat): velka vrtule is the main rotor HEAD model (no blades) + the proxy of the mainrotor blur velka vrtule blur is just the proxy of the blurred rotor velka vrtule staticka is just the solid model of the unblurred rotor BLADES (no head) in the main heli model so when rpm gets above a certain speed, the staticka will be hidden and the blur will be unhidden animations must work like this: 1. default hide blur 2. as engine starts, animate velka vrtule (head and invisible blur) AND velka vrtule staticka, unless in some helis the solid blades are also in the velka vrtule selection (Seen in some but not all sample models) 3. at higher speed HIDE velka vrtule staticka and unhide Blur some choppers include the blades in velka vrtule (ah64) and some dont (mi8) but the blur proxy is ALWAYS in velka vrtule looking at our Rangemaster ah1z and lynx they have the solid blade AND the blur visible rotating at high speeds. they show the blur and the blades on top of each other but the BIS ones hide the solid blades e.g. check the ah1, ah64, uh60 are we missing a bone or something lol here are our relevant model.cfg parts ---------- Post added at 09:19 AM ---------- Previous post was at 09:16 AM ---------- class CfgSkeletons { class Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = {}; }; class FRL_LynxSkeleton: Default { skeletonInherit="Default"; skeletonBones[]= { "velka vrtule dive","", "mala vrtule dive","", "velka vrtule","velka vrtule dive", "mala vrtule","mala vrtule dive", "DamageHide","", "kompas","", "kompas01","", "kompasvalec","", "horizont","", "horizont_b","", "horizont01","", "horizont01_b","", "rucicka_01","", "rucicka_01a","", "rucicka_02","", "rucicka_02a","", "rucicka_03","", "rucicka_03a","", "rucicka_04","", "rucicka_04a","", "rucicka_05","", "rucicka_05a","", "rucicka_06","", "rucicka_06a","", "rucicka_07","", "rucicka_07a","", "display_off","", "wheel_front","", "wheel_left","", "wheel_right","", "otocvelitele","", "OtocHlavenVelitele","otocvelitele", "commanderview","OtocHlavenVelitele", "laserstart","OtocHlavenVelitele", "door_LEFT","", "door_RIGHT","", //L7A1 "otocvez","", "otocHlaven","otocvez", "OtocHlaven_Shake","OtocHlaven", "ammo_belt","OtocHlaven_Shake", "magazine","OtocHlaven_Shake", "feedtray_cover","OtocHlaven_Shake", "bolt","OtocHlaven_Shake", "bullet001","bullet002", "bullet002","bullet003", "bullet003","bullet004", "bullet004","bullet005", "bullet005","bullet006", "bullet006","bullet007", "bullet007","bullet008", "bullet008","ammo_belt", //GAU21 / LF M2 "LF_OtocVez","", "LF_OtocHlaven","LF_OtocVez", "LF_feedtray_cover","LF_OtocHlaven", "LF_ammo_belt","LF_OtocHlaven", "LF_shells","LF_ammo_belt", "LF_bullet010","LF_shells", "LF_bullet009","LF_bullet010", "LF_bullet008","LF_bullet009", "LF_bullet007","LF_bullet008", "LF_bullet006","LF_bullet007", "LF_bullet005","LF_bullet006", "LF_bullet004","LF_bullet005", "LF_bullet003","LF_bullet004", "LF_bullet002","LF_bullet003", "LF_bullet001","LF_bullet002", "LF_magazine","LF_OtocHlaven", "LF_bolt","LF_OtocHlaven", "LF_charging_handle","LF_OtocHlaven", "LF_barrel","LF_OtocHlaven", "LF_trigger","LF_OtocHlaven" }; }; }; class Rotation; class CfgModels { class Default { sections[] = {}; sectionsInherit=""; skeletonName = ""; }; class FRL_Lynx: Default { htMin = 60; // Minimum half-cooling time (in seconds) htMax = 1800; // Maximum half-cooling time (in seconds) afMax = 200; // Maximum temperature in case the model is alive (in celsius) mfMax = 100; // Maximum temperature when the model is moving (in celsius) mFact = 0; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)). tBody = 0; // Metabolism temperature of the model (in celsius) skeletonName="FRL_LynxSkeleton"; sectionsInherit = "Default"; sections[]= { "sklo predni p", "sklo predni l", "velka vrtule staticka",//main "velka vrtule blur", "mala vrtule staticka",//tail "mala vrtule blur", "zasleh", "motor", "elektronika", "munice", "zbran", "vez", "trup", "clan", "clan_sign", "glass1", "glass2", "glass3", "glass4", "glass5", "glass6", "glass7", "glass8", "glass9", "glass10", "glass11", "glass12", "glass13", "glass14", "glass15", "glass16", "glass17", "glass18", "glass19", "glass20", "podsvit pristroju", "wheel_front", "wheel_left", "wheel_right", "zbytek", "L svetlo", "P svetlo", //adding "camo", "camo1", "HIDE_seats", "HIDE_stretcher", "gunwings", "gunpodsM621", "gunGAU21", "gunL7A1", "LF_zasleh", "LF_OtocVez", "zasleh_2" }; class Animations { // destruct BASE START // rotor static dive // rotordive // rotorShaft // velka vrtule // mala vrtule class Rotor_destructX { type="rotationX"; source="damage";//damage selection="velka vrtule"; axis="velka osa"; animPeriod=0; minValue=0.99; maxValue=1; angle0=0; angle1="rad -20"; }; class Rotor_destructY:Rotor_destructX { type="rotationY"; angle1="rad +40"; }; class rotordive_destructX:Rotor_destructX { selection="rotordive"; angle1="rad -5"; }; class rotordive_destructY:rotordive_destructX { type="rotationY"; angle1="rad -15"; }; class rotordive_destructZ:rotordive_destructX { type="rotationZ"; angle1="rad -5"; }; class rotor_static_dive_destructX:Rotor_destructX { selection="rotor static dive"; angle1="rad 5"; }; class rotor_static_dive_destructY:rotor_static_dive_destructX { type="rotationY"; angle1="rad -15"; }; class rotor_static_dive_destructZ:rotor_static_dive_destructX { type="rotationZ"; angle1="rad -5"; }; class mala_vrtule_destructY:Rotor_destructX { type="rotationY"; axis="mala osa"; selection="mala vrtule"; angle1="rad 10"; }; class mala_vrtule_destructZ:mala_vrtule_destructY { type="rotationZ"; angle1="rad 25"; }; // destruct BASE END class DamageHide { type="hide"; source="damage"; selection="DamageHide"; }; // Rotors class HRotor: Rotation { source="rotorH"; selection="velka vrtule"; axis="velka osa"; angle1="2 * 3.1415926536"; }; class VRotor: Rotation { source="rotorV"; selection="mala vrtule"; axis="mala osa"; angle1="2 * 3.1415926536"; }; //etc - nothing else relates to HIDING the rotors... ---------- Post added at 09:42 AM ---------- Previous post was at 09:19 AM ---------- demo pic ---------- Post added at 10:30 AM ---------- Previous post was at 09:42 AM ---------- in the very base class of cfgvehicles class helicopter has selectionHRotorStill = "velka vrtule staticka"; selectionHRotorMove = "velka vrtule blur"; selectionVRotorStill = "mala vrtule staticka"; selectionVRotorMove = "mala vrtule blur"; so, for kicks i redefined the model sections like this (As seen in some bis models): velka vrtule is the main rotor HEAD model (no blades) + the proxy of the mainrotor blur velka vrtule blur is just the proxy of the blurred rotor velka vrtule staticka is just the solid model of the unblurred rotor BLADES (no head) in the main heli model and this happened the correct spinning occurred on the blurred rotors and rotor head, BUT the static blades did not turn nor hide... i think we are missing a piece of the jigsaw here... model.cfg class animations class HIDE_rotor_staticka (or w/e it may be called) based on rpm Share this post Link to post Share on other sites
eggbeast 3673 Posted February 10, 2015 vehicle config looks like this #define _ARMA_ class CfgPatches { class FRL_Lynx { units[] ={"FRL_Lynx_CAP","FRL_Lynx_CAS","FRL_Lynx_HCAS","FRL_Lynx_AT","FRL_Lynx_AGM","FRL_Lynx_MR","FRL_Lynx_LRCAS","FRL_Lynx_SEAD","FRL_Lynx_MEV","FRL_Lynx_Transport"}; weapons[] = {}; requiredVersion = 1.04; requiredAddons[] = {"CACharacters","CAWeapons","CA_Anims_Char","CAData","CA_E","CACharacters","CACharacters2","CAWeapons","CAWeapons_E","CAAir","CAAir_e","CAAir2","CAAir_BAF","EB_Air","EB_missilebox","FRL_Missilebox","Extended_EventHandlers","FRL_cmsound"}; }; }; class CfgVehicleClasses { class Air_H { displayName = "Helicopter"; priority = -1; }; class Air_HD { displayName = "Helicopter (desert)"; priority = -1; }; }; class CfgMovesBasic { class DefaultDie; class ManActions { EB_gau_kneel = "EB_gau_kneel"; }; }; class CfgMovesMaleSdr: CfgMovesBasic { class States { class Crew; class EB_gau_kneel: Crew { file = "\FRL_Lynx\data\anims\EB_gau_kneel.rtm"; connectTo[] = {"AH6j_KIA_Cargo_EP1",1}; speed = 1e+010; //or // interpolateTo[] = {}; }; }; }; class DefaultEventhandlers; class CfgVehicles { class All; class AllVehicles; class Air: AllVehicles { class NewTurret; class ViewOptics; class ViewPilot; class HeadLimits; class Sounds; }; class Helicopter: Air { vehicleClass = "Air_H"; class NewTurret;// class Turrets { class MainTurret; }; class HitPoints { class HitGlass1; class HitGlass2; class HitGlass3; class HitGlass4; class HitGlass5; }; class ViewPilot: ViewPilot{}; class AnimationSources; }; class FRL_Lynx_base: Helicopter { //test /* selectionHRotorStill = "velka vrtule staticka"; selectionHRotorMove = "velka vrtule blur"; selectionVRotorStill = "mala vrtule staticka"; selectionVRotorMove = "mala vrtule blur"; mainRotorSpeed = 1.0; // rotor animation parameters backRotorSpeed = 1.5; */ //variable expansion = 2; scope = 0; side = 1; vehicleClass = "Air_HD"; displayname = "AH9 Lynx (armed base)"; model = "\FRL_Lynx\FRL_Lynx.p3d"; faction = "BIS_BAF"; crew = "BAF_Pilot_DDPM"; typicalCargo[] = {"BAF_Pilot_DDPM","BAF_Pilot_DDPM","BAF_Pilot_DDPM","BAF_Soldier_MG_DDPM","BAF_Soldier_AR_DDPM","BAF_Soldier_AAT_DDPM","BAF_Soldier_AAR_DDPM","BAF_soldier_Medic_DDPM","BAF_Soldier_Officer_DDPM"}; transportSoldier = 6; hiddenSelections[] = { "camo","camo1","HIDE_stretcher" // "gunwings" // "gunpodsM621" // "gunGAU21" // "gunL7A1" }; hiddenSelectionsTextures[] = {"FRL_Lynx\Data\lynx_base_co.paa","FRL_Lynx\Data\lynx_interior_co.paa"}; weapons[] = {"EB_TwinM621","CMFlareLauncher","EB_FlareLauncher","SmokeLauncher"}; magazines[] = {"EB_360Rnd_20mm_HEI_M621","120Rnd_CMFlareMagazine","FlareLauncherMag","SmokeLauncherMag","SmokeLauncherMag"}; class Turrets: Turrets { class ObsTurret: MainTurret { weapons[] = {"Laserdesignator_mounted"}; magazines[] = {"Laserbatteries","EB_10Rnd_pylonblank"}; turretInfoType = "RscUnitInfo_AH64D_gunner"; discreteDistance[] = {300,400,500,600,700,800,900,1000,1100,1200,1400,1600,1800,2000}; discreteDistanceInitIndex = 2; enableManualFire = 1; proxyIndex = 1;// primaryGunner = 1; commanding = 0; gunnerName="$STR_GN_UH1Y_CoPilotObs"; // gunnerName = "WSO"; gunnerCompartments = "Compartment1"; gunBeg = "commanderview"; gunEnd = "laserstart"; memoryPointGun = "laserstart"; memoryPointGunnerOptics = "commanderview"; body = "ObsTurret"; gun = "ObsGun"; animationSourceBody = "ObsTurret"; animationSourceGun = "ObsGun"; stabilizedInAxes = 3; soundServo[] = {"\ca\sounds\vehicles\servos\turret-1",0.01,1,30}; inGunnerMayFire = 1; startEngine = 0; gunnerHasFlares = 0; gunnerAction = "AW159_Pilot_BAF"; gunnerGetInAction = "GetInLow"; gunnerGetOutAction = "GetOutLow"; gunnerOpticsModel = "\ca\air_e\gunnerOptics_ah64"; gunnerOpticsEffect[] = {}; minElev = -60; maxElev = 20; initElev = 0; minTurn = -120; maxTurn = 120; initTurn = 0; class OpticsIn { class Wide { opticsDisplayName = "W"; initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.466; minFov = 0.466; maxFov = 0.466; visionMode[] = {"Normal","NVG","Ti"}; thermalMode[] = {0,3,6}; gunnerOpticsModel = "\ca\air_e\gunnerOptics_ah64"; discreteDistance[] = {300,400,500,600,700,800,900,1000,1100,1200,1400,1600,1800,2000}; discreteDistanceInitIndex = 2; }; class Medium: Wide { opticsDisplayName = "M"; initFov = 0.093; minFov = 0.093; maxFov = 0.093; gunnerOpticsModel = "\ca\air_e\gunnerOptics_ah64_2"; }; class Narrow: Wide { opticsDisplayName = "N"; gunnerOpticsModel = "\ca\air_e\gunnerOptics_ah64_3"; initFov = 0.029; minFov = 0.029; maxFov = 0.029; }; }; class OpticsOut { class Monocular { initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 1.1; minFov = 0.133; maxFov = 1.1; visionMode[] = {"Normal","NVG"}; gunnerOpticsModel = ""; gunnerOpticsEffect[] = {}; }; }; }; class LF_Turret: MainTurret { weapons[] = {"EB_GAU21"}; magazines[] = {"EB_600Rnd_127x99_NATO_T","EB_600Rnd_127x99_NATO_APIT","EB_600Rnd_127x99_NATO_SLAPT","EB_600Rnd_127x99_NATO_HEIAP"}; TurretInfoType = "RscWeaponZeroing"; discreteDistance[] = {100,200,300,400,500,600,800,1000,1200,1400,1600}; discreteDistanceInitIndex = 2; gunnerName = "$STR_POSITION_CREWCHIEF"; gunnerCompartments = "Compartment1"; commanding = -1; primaryGunner = 0; proxyIndex = 2; enableManualFire = 0; selectionFireAnim = "LF_zasleh"; gunBeg = "LF_usti hlavne"; gunEnd = "LF_konec hlavne"; animationSourceBody = "LF_Turret"; animationSourceGun = "LF_Gun"; body = "LF_Turret"; gun = "LF_Gun"; memoryPointGunnerOptics = "LF_gunnerview"; stabilizedInAxes = "StabilizedInAxesNone"; soundServo[] = {"",0.01,1}; gunnerGetInAction = "GetInLow"; gunnerGetOutAction = "GetOutLow"; gunnerOpticsModel = "\ca\weapons\optika_empty"; gunnerForceOptics = 0; gunnerOutOpticsShowCursor = 1; gunnerOpticsShowCursor = 1; gunnerAction = "EB_gau_kneel"; gunnerInAction = "EB_gau_kneel"; initElev = -50; minElev = -75; maxElev = 35; initTurn = 45; minTurn = 40; maxTurn = 140; class ViewOptics { initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.7; minFov = 0.25; maxFov = 1.1; gunnerOpticsModel = ""; gunnerOpticsEffect[] = {}; }; }; class RF_Turret: MainTurret { weapons[] = {"EB_UK_L7A2_8mm"}; magazines[] = {"EB_200Rnd_762x51_NATO_T","EB_200Rnd_762x51_NATO_T","EB_200Rnd_762x51_NATO_T","EB_200Rnd_762x51_NATO_T"}; TurretInfoType = "RscWeaponZeroing"; discreteDistance[] = {100,200,300,400,500,600,700,800,900,1000,1100,1200}; discreteDistanceInitIndex = 2; gunnerName = "$STR_POSITION_DOORGUNNER"; // gunnerAction = "LowKORD_Gunner"; // gunnerInAction = "LowKORD_Gunner"; gunnerAction = "NestMG_Gunner"; gunnerInAction = "NestMG_Gunner"; proxyIndex = 3; commanding = -2; primaryGunner = 0; gunnerCompartments = "Compartment1"; gunBeg = "muzzle_2"; gunEnd = "chamber_2"; selectionFireAnim = "zasleh_2"; memoryPointGunnerOptics = "gunnerview"; memoryPointGun = "mainGun"; body = "mainTurret"; gun = "mainGun"; animationSourceBody = "mainTurret"; animationSourceGun = "mainGun"; animationSourceHatch = ""; stabilizedInAxes = "StabilizedInAxesNone"; gunnerOpticsModel = "\ca\weapons\optika_empty"; gunnerForceOptics = 0; initElev = -50; minElev = -75; maxElev = 35; initTurn = -30; minTurn = -135; maxTurn = -15; class ViewOptics { initAngleX = 0; minAngleX = -60; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.7; minFov = 0.25; maxFov = 1.1; gunnerOpticsModel = ""; gunnerOpticsEffect[] = {}; }; }; }; class AnimationSources//: AnimationSources { class Doors { source = "user"; animPeriod = 1; initPhase = 0; }; class ReloadMGAnim { source = "reload"; weapon = "EB_TwinM621"; }; class ReloadAnim { source = "reload"; weapon = "EB_UK_L7A2_8mm"; }; class ReloadMagazine { source = "reloadmagazine"; weapon = "EB_UK_L7A2_8mm"; }; class Revolving { source = "revolving"; weapon = "EB_UK_L7A2_8mm"; }; class LF_recoil_source { source = "reload"; weapon = "EB_GAU21"; animPeriod = 0.01; }; class LF_ReloadAnim { source = "reload"; weapon = "EB_GAU21"; }; class LF_ReloadMagazine { source = "reloadmagazine"; weapon = "EB_GAU21"; }; class LF_Revolving { source = "revolving"; weapon = "EB_GAU21"; }; }; gunBeg[] = {"muzzle_3","muzzle_4"}; gunEnd[] = {"chamber_3","chamber_4"}; selectionFireAnim = "zasleh"; // gunBeg = "muzzle_3"; // gunEnd = "chamber_3"; memoryPointLMissile = "L strela"; memoryPointRMissile = "P strela";//solo pod has two Ps memoryPointGun = "muzzle_3"; // memoryPointGun[] = {"machinegun3","machinegun4"};//? //add to model memoryPointLRocket = "L raketa"; memoryPointRRocket = "P raketa"; //fixed driverCompartments = "Compartment1"; cargoCompartments[] = {"Compartment1"}; picture = "\FRL_Lynx\data\UI\picture_lynx_ca.paa"; icon = "\FRL_Lynx\data\UI\icon_lynx_ca.paa"; mapSize = 20; driverAction = "AW159_Pilot_BAF"; GetInAction = "GetInHigh"; GetOutAction = "GetOutHigh"; memoryPointsGetInGunner[] = {"pos codriver","pos cargo"}; memoryPointsGetInGunnerDir[] = {"pos codriver dir","pos cargo dir"}; memoryPointsGetInCargo[] = {"pos codriver","pos cargo"}; memoryPointsGetInCargoDir[] = {"pos codriver dir","pos cargo dir"}; crewVulnerable = 1; cargoAction[] = {"AW159_Cargo_BAF","AW159_Cargo01_BAF","AW159_Cargo01_BAF","AW159_Cargo01_BAF","AW159_Cargo01_BAF","AW159_Cargo01_BAF","AW159_Cargo01_BAF","AW159_Cargo01_BAF"}; cargoIsCoDriver[] = {1,0}; gunnerUsesPilotView = 0; HeadAimDown = -5.2; accuracy = 1.5; cost = 10000000; threat[] = {1,1,0.5}; driverCanSee = 31; gunnerCanSee = 31; enableManualFire = 1; radarType = 4; laserScanner = 1; LockDetectionSystem = "8 + 4"; IncommingMisslieDetectionSystem = 16; smokeLauncherGrenadeCount = 6; smokeLauncherVelocity = 14; smokeLauncherOnTurret = 0; smokeLauncherAngle = 120; fuelCapacity = 300; maxSpeed = 293; MainRotorSpeed = 0.5; backRotorSpeed = 3; armor = 60; damageResistance = 0.00555; destrType = "DestructWreck"; class Damage { tex[] = {}; mat[] = {"FRL_Lynx\data\Lynx_base.rvmat","FRL_Lynx\data\Lynx_base_damage.rvmat","FRL_Lynx\data\Lynx_base_destruct.rvmat","FRL_Lynx\data\Lynx_glass.rvmat","FRL_Lynx\data\Lynx_glass_damage.rvmat","FRL_Lynx\data\Lynx_glass_damage.rvmat","FRL_Lynx\data\Lynx_interior.rvmat","FRL_Lynx\data\Lynx_interior_damage.rvmat","FRL_Lynx\data\Lynx_interior_destruct.rvmat"}; }; class HitPoints: HitPoints { class HitGlass1: HitGlass1 { armor = 0.5; }; class HitGlass2: HitGlass2 { armor = 0.5; }; class HitGlass3: HitGlass3 { armor = 0.5; }; class HitGlass4: HitGlass4 { armor = 0.5; }; class HitGlass5: HitGlass5 { armor = 0.5; }; class HitEngine { armor = 0.5; material = 51; name = "motor"; visual = "motor"; passThrough = 0.5; }; class HitAvionics { armor = 0.15; material = 51; name = "elektronika"; visual = "elektronika"; passThrough = 0.2; }; class HitVRotor { armor = 0.3; material = 51; name = "mala vrtule"; visual = "mala vrtule staticka"; passThrough = 0.1; }; class HitHRotor { armor = 0.2; material = 51; name = "velka vrtule"; visual = "velka vrtule staticka"; passThrough = 0.1; }; class HitGlass6 { armor = 0.5; material = -1; name = "glass6"; visual = "glass6"; passThrough = 0; }; class HitGlass7 { armor = 0.5; material = -1; name = "glass7"; visual = "glass7"; passThrough = 0; }; class HitGlass8 { armor = 0.5; material = -1; name = "glass8"; visual = "glass8"; passThrough = 0; }; class HitGlass9 { armor = 0.5; material = -1; name = "glass9"; visual = "glass9"; passThrough = 0; }; class HitGlass10 { armor = 0.5; material = -1; name = "glass10"; visual = "glass10"; passThrough = 0; }; class HitGlass11 { armor = 0.5; material = -1; name = "glass11"; visual = "glass11"; passThrough = 0; }; }; class ViewPilot: ViewPilot { initFov = 1; minFov = 0.3; maxFov = 1.2; initAngleX = 0; minAngleX = -65; maxAngleX = 85; initAngleY = 0; minAngleY = -150; maxAngleY = 150; visionMode[] = {"Normal","NVG","Ti"}; thermalMode[] = {2}; }; //the rest is just sounds, useractions, eventhandlers, transportmags etc Share this post Link to post Share on other sites
badluckburt 78 Posted February 10, 2015 I wish I could help you out here but I have no clue. I scrolled through the config anyway and I noticed the main and backRotorspeed are defined twice. I know you commented the first values so they aren't actually loaded ofcourse but when you do use them, do you remove the ones that are a few lines down in the config? The first set are your test values, others are near maxSpeed. mainRotorSpeed = 1.0; // rotor animation parameters backRotorSpeed = 1.5; maxSpeed = 293; MainRotorSpeed = 0.5; backRotorSpeed = 3; Just figured I'd mention it so if it's nothing, just ignore me :D Share this post Link to post Share on other sites
eggbeast 3673 Posted February 10, 2015 yeah i did rem them out when i used the test version. it definitely isn't a config thing. it's likely to be something to do with the model.cfg my current theories: 1. isdiscrete stuff in model.cfg 2. class rotation re-definition in the model.cfg 3. basic inheritances default/vehicle/helicopter missing detail in model.cfg 4. something basic missing in my tools setup like the /bin folder not being in ca folder? and thus affecting inheritance 5. the order of the items in the model? 6. something to do with damagehide? 7. maybe something to do with how you construct the joined selections like mala vrtule from its three parts 8. a problem with the blur proxy 9. hitpoints maybe am wondering if its to do with this - as i have no "dive" selections called this in the lynx model "velka vrtule","velka vrtule dive", "mala vrtule","mala vrtule dive", some of our choppers have rotorbend selections in the model (or czech named equivalent) and others dont. this does not affect whether the choppers roror blades hide or not in experiments here Share this post Link to post Share on other sites
badluckburt 78 Posted February 10, 2015 You may have already read these but maybe the info you need can be found on one of these pages, the last one does appear to have an example for a main rotor: https://community.bistudio.com/wiki/Model_Config#AnimationSources https://community.bistudio.com/wiki/ArmA:_Howto_Model_Config https://community.bistudio.com/wiki/ArmA:_How_to_animate_a_model Share this post Link to post Share on other sites
eggbeast 3673 Posted February 10, 2015 von knudenberg fixed it by deleting all the rotors and starting over lol still no idea what caused the problem, except that maybe i did Share this post Link to post Share on other sites
Locklear 214 Posted February 11, 2015 Let me offer you some clarification and a couple of tips. First of all, I recommend downloading Arma 3 Tools from Steam (you don't need to own Arma 3 for that). We have some sample assets with configs there, so you might want to take peek into model.cfg of a test heli there. To clarify the rotors' selections, there are usually three, as you noticed, named in Czech in older models, and in English in newer ones. In English, there's usually something like main_rotor, main_rotor_static, and main_rotor_blur. Basically, you just need two selections for hiding the solid rotor and unhiding the blurred one, which you seem to understand well. The _static selection serves another purpose. When a helicopter's rotor is not moving, the blades are bent down a bit, while once they rotate and gain some lift, they're straight, or even bent up slightly. We animate this movement, for which two selections are used. To put it shortly, the weight of the vertices of the blades is different, but to make rotor rotation work, the sum of weights of a vertex in main_rotor and main_rotor_static selections has to be 100. However, different weights allow the animation to manifest differently, according to the weight of a particular vertex. So if done right, a basic translation will move the tips of the blades much more than the other end, which will create the desired effect of the blades straightening up. In order to animations work like this with vertices' weights, isDiscrete property has to be set to 1. Share this post Link to post Share on other sites
eggbeast 3673 Posted February 11, 2015 Thanks man, that has helped blow away some of the fog that built up during the 8 hours i thrashed this problem hehe. We've had problems before with bending animations on the AH6, so your explanation helps us understand this more. What i still don't see, is HOW the static part of the rotor is actually animated to hide. Is this locked away in the engine somewhere?or can i find a base class i nthe tools somewhere that has the animation laid out? Share this post Link to post Share on other sites
Locklear 214 Posted February 11, 2015 The skeleton in model.cfg is the key, or the selection dependency, to be precise. Example: "main_rotor_1", "", "main_rotor_1_static","main_rotor_1", "main_rotor_1_blur","main_rotor_1", "main_rotor_1_bend","main_rotor_1" Please note the main_rotor_1 selections is for the middle rotor part only, the blades are not part of this selection. On the contrary, the remaining selections are basically for rotors only. Rotation animation works with main_rotor_1, so everything spins as it should. Bending works with main_rotor_1_bend, utilizing the vertices' weights. Hiding works with main_rotor_1_static; the change between the default and the blurred rotor is handled in config.cpp, no animation needed: selectionHRotorMove = "main_rotor_1_blur"; selectionHRotorStill = "main_rotor_1_static"; Share this post Link to post Share on other sites
eggbeast 3673 Posted February 13, 2015 (edited) hrm now this is FREAKY I made the default AH1Z use my model and the blur works fine on it (right in pic) yet in my version with different config-only inheritances the rotor fails to hide (left in pic) implication: something in the config is causing the problem Stock AH1Z replacement with my model - WORKS FINE (on right in pic) class CfgVehicles { class All; class AllVehicles; class Air: AllVehicles { class NewTurret; class ViewOptics; class ViewPilot; class HeadLimits; class Sounds; }; class Helicopter: Air { vehicleClass = "Air_H"; class NewTurret;// class Turrets { class MainTurret; }; class HitPoints { class HitGlass1; class HitGlass2; class HitGlass3; class HitGlass4; class HitGlass5; class HitGlass6; class HitHRotor; }; class ViewPilot: ViewPilot{}; class AnimationSources; }; class AH1_Base: Helicopter{}; class AH1Z: AH1_Base { vehicleClass = "Air_H"; displayName = "AH-1Z Viper"; model="\FRL_AH1Z\FRL_AH1Z.p3d"; fuelCapacity = 200; visionMode[] = {"Normal","NVG","Ti"}; thermalMode[] = {2}; weapons[] = {"EB_FFAR_Launcher","CMFlareLauncher","EB_FlareLauncher","SmokeLauncher"}; magazines[] = {"EB_38Rnd_FFAR","120Rnd_CMFlare_Chaff_Magazine","FlareLauncherMag","SmokeLauncherMag"}; class Turrets: Turrets { class MainTurret: MainTurret { weapons[] = {"M197","EB_AIM9X_Launcher","EB_AGM114K_Launcher","LaserDesignator_mounted"}; magazines[] = {"EB_700Rnd_M197_HEI", //wingtips 1------------------------2 "EB_AIM9Xx2", // tier 1 ---- 3---5 6---4 "EB_LAU68_70mmx19podx2","EB_AGMrackx4x2", //tier 2 --- 7.9 15.17 18.16 10.8 // 11.13 19.21 20.22 14.12 "EB_8Rnd_pylonblank", "EB_AGM114Kx8", //invisible end items "LaserBatteries" }; TurretInfoType = "RscUnitInfo_AH64D_gunner"; discreteDistance[] = {300,400,500,600,700,800,900,1000,1100,1200,1400,1600,1800,2000}; discreteDistanceInitIndex = 2; minElev = -60; maxElev = 20; initElev = 0; minTurn = -100; maxTurn = 100; initTurn = 0; class ViewOptics { initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.155; minFov = 0.047; maxFov = 0.155; visionMode[] = {"Normal","NVG","Ti"}; thermalMode[] = {0,2}; }; }; }; class EventHandlers: DefaultEventhandlers { fired = "_this call BIS_Effects_EH_Fired; _this execVM ""\EB_Air\scripts\awfx_ah1.sqf"";"; killed = "_this call BIS_Effects_EH_Killed;"; }; radarType = 4; lockDetectionSystem = "8 + 4"; incommingMisslieDetectionSystem = 16; soundLocked[] = {"Ca\sounds_baf\air\int-alarm_loop",0.000316228,2}; soundIncommingMissile[] = {"Ca\sounds_baf\air\int-alarm_loop",0.000316228,4}; }; my config (sorry it's long!) on left in pics class CfgVehicles { class All; class AllVehicles; class Air: AllVehicles { class NewTurret; class ViewOptics; class ViewPilot; class HeadLimits; class Sounds; }; class Helicopter: Air { vehicleClass = "Air_H"; class NewTurret;// class Turrets { class MainTurret; }; class HitPoints { class HitGlass1; class HitGlass2; class HitGlass3; class HitGlass4; class HitGlass5; class HitGlass6; class HitHRotor; }; class ViewPilot: ViewPilot{}; class AnimationSources; }; class AH1_Base: Helicopter{}; class AH1Z: AH1_Base{}; class FRL_AH1Z_base: AH1Z { //type changes displayName = "AH-1Z Viper (Test)"; faction = "USMC"; crew = "USMC_Soldier_Pilot"; typicalCargo[]={"US_Soldier_Pilot_EP1", "US_Soldier_Pilot_EP1"}; hiddenSelections[]={"camo1","camo2"}; hiddenSelectionsTextures[]={"FRL_AH1Z\data\ah1z_body_co.paa","FRL_AH1Z\data\ah1z_engines_co.paa"}; weapons[] = {"EB_FFAR_Launcher","CMFlareLauncher","EB_FlareLauncher","SmokeLauncher"}; magazines[] = {"EB_38Rnd_FFAR","120Rnd_CMFlare_Chaff_Magazine","FlareLauncherMag","SmokeLauncherMag"}; class Turrets: Turrets { class MainTurret: MainTurret { gunnerAction = "AH1Z_Gunner"; gunnerInAction = "AH1Z_Gunner"; gunnerCompartments = "Compartment2"; weapons[] = {"M197","EB_AIM92_Launcher","EB_BGM71_Launcher","EB_AGM114K_Launcher","LaserDesignator_mounted"}; magazines[] = {"EB_700Rnd_M197_HEI", //IDEAL PLACEMENT - systematic approach // tier 1 ---- 3---5 6---4 //wingtips 1------------------------2 //tier 2 --- 7.9 15.17 18.16 10.8 // 11.13 19.21 20.22 14.12 //wingtips 1------------------------2 "EB_stingerpodx2", // tier 1 ---- 3---5 6---4 "EB_TOW_4rackx2","EB_AGMrackx4x1","EB_LAU68_70mmx19podx1", //tier 2 --- 7.9 15.17 18.16 10.8 // 11.13 19.21 20.22 14.12 "EB_8Rnd_pylonblank", "EB_AGM114Kx1","EB_1Rnd_pylonblank", "EB_AGM114Kx1","EB_1Rnd_pylonblank", "EB_AGM114Kx1","EB_1Rnd_pylonblank", "EB_AGM114Kx1","EB_1Rnd_pylonblank", //invisible end items "EB_Stingerx2","EB_TOWx8","LaserBatteries" }; memoryPointsGetInGunner = "pos_gunner"; memoryPointsGetInGunnerDir = "pos_gunner_dir"; gunnerGetInAction = "GetInHigh"; gunnerGetOutAction = "GetOutHigh"; memoryPointGun = "machinegun"; // gunnerOpticsModel = "\ca\air\optika_AH1Z"; gunnerOpticsModel = "\ca\air_e\gunnerOptics_ah64"; gunnerOpticsEffect[] = {"TankCommanderOptics1","BWTV"}; enableManualFire = 1; TurretInfoType = "RscUnitInfo_AH64D_gunner"; discreteDistance[] = {300,400,500,600,700,800,900,1000,1100,1200,1400,1600,1800,2000}; discreteDistanceInitIndex = 2; minElev = -60; maxElev = 20; initElev = 0; minTurn = -100; maxTurn = 100; initTurn = 0; class ViewOptics { initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.155; minFov = 0.047; maxFov = 0.155; visionMode[] = {"Normal","NVG","Ti"}; thermalMode[] = {0,2}; }; class OpticsIn { class Wide { opticsDisplayName = "W"; initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.466; minFov = 0.466; maxFov = 0.466; visionMode[] = {"Normal","NVG","Ti"}; thermalMode[] = {0,2}; gunnerOpticsModel = "\ca\air_e\gunnerOptics_ah64"; }; class Medium: Wide { opticsDisplayName = "M"; initFov = 0.093; minFov = 0.093; maxFov = 0.093; gunnerOpticsModel = "\ca\air_e\gunnerOptics_ah64_2"; }; class Narrow: Wide { opticsDisplayName = "N"; gunnerOpticsModel = "\ca\air_e\gunnerOptics_ah64_3"; initFov = 0.029; minFov = 0.029; maxFov = 0.029; }; }; class OpticsOut { class Monocular { initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 1.1; minFov = 0.133; maxFov = 1.1; visionMode[] = {"Normal","NVG","Ti"}; thermalMode[] = {0,2}; gunnerOpticsModel = ""; gunnerOpticsEffect[] = {}; }; }; }; }; //standard stuff scope = 0; side = 1; vehicleClass = "Air_H"; model="\FRL_AH1Z\FRL_AH1Z.p3d"; picture = "\ca\air\data\ico\ah1z_CA.paa"; mapSize = 15.5; Icon = "\ca\air\data\map_ico\icomap_ah1z_CA.paa"; armor = 60; damageResistance = 0.00593; maxSpeed = 270; fuelCapacity = 200; cost = 10000000; threat[] = {0.3,1,0.8}; accuracy = 1000; visionMode[] = {"Normal","NVG","Ti"}; thermalMode[] = {2}; selectionHRotorStill = "mainRotorStatic"; selectionHRotorMove = "mainRotorBlurred"; selectionVRotorStill = "tailRotorStatic"; selectionVRotorMove = "tailRotorBlurred"; memoryPointLMissile = "Missile_1"; memoryPointRMissile = "Missile_2"; memoryPointLRocket = "Rocket_1"; memoryPointRRocket = "Rocket_2"; selectionFireAnim = "muzzleflash"; memoryPointCM[] = {"flare_launcher1", "flare_launcher2"}; memoryPointCMDir[] = {"flare_launcher1_dir", "flare_launcher2_dir"}; smokeLauncherGrenadeCount = 6; smokeLauncherVelocity = 14; smokeLauncherOnTurret = 0; smokeLauncherAngle = 120; driverAction = "AH1Z_Pilot"; memoryPointsGetInDriver = "pos_driver"; memoryPointsGetInDriverDir = "pos_driver_dir"; getInAction = "GetInHigh"; getOutAction = "GetOutHigh"; driverCompartments = "Compartment1"; laserScanner = 1; radarType = 4; lockDetectionSystem = "8 + 4"; incommingMisslieDetectionSystem = 16; soundLocked[] = {"Ca\sounds_baf\air\int-alarm_loop",0.000316228,2}; soundIncommingMissile[] = {"Ca\sounds_baf\air\int-alarm_loop",0.000316228,4}; soundGetIn[] = {"ca\sounds\air\noises\heli_door_01",0.316228,1}; soundGetOut[] = {"ca\sounds\air\noises\heli_door_01",0.316228,1,50}; soundEngineOnInt[] = {"FRL_cmsound\ah64\engine_start_in",0.446684,1}; soundEngineOnExt[] = {"FRL_cmsound\ah64\engine_start_out",5.446684,1,400}; soundEngineOffInt[] = {"FRL_cmsound\ah64\engine_stop_in",0.446684,1}; soundEngineOffExt[] = {"FRL_cmsound\ah64\engine_stop_out",0.446684,1,400}; soundDammage[] = {"FRL_cmsound\ah64\Alarm",1,1,1}; class RotorHighOut; class Rotorwash: RotorHighOut { class RotorLowOut; class Rotorwash2: RotorLowOut { class EngineIn; class EngineWhine: EngineIn { soundEngineOnInt[] = {"FRL_cmsound\ah64\engine_start_in",0.446684,1}; soundEngineOnExt[] = {"FRL_cmsound\ah64\engine_start_out",5.446684,1,400}; soundEngineOffInt[] = {"FRL_cmsound\ah64\engine_stop_in",0.446684,1}; soundEngineOffExt[] = {"FRL_cmsound\ah64\engine_stop_out",0.446684,1,400}; soundDammage[] = {"FRL_cmsound\ah64\Alarm",1,1,1}; class Sounds { class Engine { sound[] = {"FRL_cmsound\ah1z\engine",1.51189,1,1700}; frequency = "rotorSpeed"; volume = "camPos*((rotorSpeed-0.72)*4)"; }; class RotorLowOut { sound[] = {"FRL_cmsound\ah1z\rotor_low_out",1.51189,1,1700}; frequency = "rotorSpeed"; volume = "camPos*(0 max (rotorSpeed-0.1))"; cone[] = {1.6,3.14,2,0.5}; }; class RotorHighOut { sound[] = {"FRL_cmsound\ah1z\rotor_high_out",1.51189,1,1700}; frequency = "rotorSpeed"; volume = "camPos*10*(0 max (rotorThrust-0.9))"; cone[] = {1.6,3.14,2,0.5}; }; class Rotorwash { sound[] = {"FRL_cmsound\ah1z\Rotorwash",1,1,75}; frequency = "rotorSpeed"; volume = "camPos*(0 max (rotorSpeed-0.1)*6)"; }; class Rotorwash2 { sound[] = {"FRL_cmsound\ah1z\Rotorwash2",1,1,125}; frequency = 1; volume = "camPos*(0 max (rotorSpeed-0.1)*4)"; }; class WindNoiseOut { sound[] = {"FRL_cmsound\ah1z\Dist",1,1,4000}; frequency = "rotorSpeed"; volume = "camPos*(0 max (rotorSpeed-0.1))"; cone[] = {3.2,3.14,2,1}; }; class WindNoiseIn { sound[] = {"FRL_cmsound\airchatter\AirChatter2",1,1,4}; frequency = 1; volume = 5; cone[] = {5,5,5,5}; }; class EngineIn { sound[] = {"FRL_cmsound\ah1z\engine_in",5,1}; frequency = "rotorSpeed"; volume = "(1-camPos)*((rotorSpeed-0.75)*4)"; }; class EngineWhine { sound[] = {"FRL_cmsound\ah1z\engine_whine_ah6",1,1}; frequency = "rotorSpeed"; volume = "(1-camPos)*((rotorSpeed-0.75)*4)"; }; class RotorLowIn { sound[] = {"FRL_cmsound\ah1z\rotor_low_in",10,1}; frequency = "rotorSpeed"; volume = "2*(1-camPos)*((rotorSpeed factor[0.3,1.1]) min (rotorSpeed factor[1.1,0.3]))"; }; class RotorHighIn { sound[] = {"FRL_cmsound\ah1z\rotor_high_in",1,1}; frequency = "rotorSpeed"; volume = "(1-camPos)*3*(rotorThrust-0.9)"; }; }; }; }; }; class Sounds { class Engine { sound[] = {"FRL_cmsound\ah1z\engine",1.51189,1,1700}; frequency = "rotorSpeed"; volume = "camPos*((rotorSpeed-0.72)*4)"; }; class RotorLowOut { sound[] = {"FRL_cmsound\ah1z\rotor_low_out",1.51189,1,1700}; frequency = "rotorSpeed"; volume = "camPos*(0 max (rotorSpeed-0.1))"; cone[] = {1.6,3.14,2,0.5}; }; class RotorHighOut { sound[] = {"FRL_cmsound\ah1z\rotor_high_out",1.51189,1,1700}; frequency = "rotorSpeed"; volume = "camPos*10*(0 max (rotorThrust-0.9))"; cone[] = {1.6,3.14,2,0.5}; }; class EngineIn { sound[] = {"FRL_cmsound\ah1z\engine_in",5,1}; frequency = "rotorSpeed"; volume = "(1-camPos)*((rotorSpeed-0.75)*4)"; }; class RotorLowIn { sound[] = {"FRL_cmsound\ah1z\rotor_low_in",10,1}; frequency = "rotorSpeed"; volume = "2*(1-camPos)*((rotorSpeed factor[0.3,1.1]) min (rotorSpeed factor[1.1,0.3]))"; }; class RotorHighIn { sound[] = {"FRL_cmsound\ah1z\rotor_high_in",1,1}; frequency = "rotorSpeed"; volume = "(1-camPos)*3*(rotorThrust-0.9)"; }; class Rotorwash { sound[] = {"FRL_cmsound\ah1z\Rotorwash",1,1,75}; frequency = 1; volume = "camPos*(0 max (rotorSpeed-0.1)*6)"; }; class Rotorwash2 { sound[] = {"FRL_cmsound\ah1z\Rotorwash2",1,1,125}; frequency = 1; volume = "camPos*(0 max (rotorSpeed-0.1)*4)"; }; class WindNoiseOut { sound[] = {"FRL_cmsound\ah1z\Dist",1,1,4000}; frequency = "rotorSpeed"; volume = "camPos*(0 max (rotorSpeed-0.1))"; cone[] = {3.2,3.14,2,1}; }; class WindNoiseIn { sound[] = {"FRL_cmsound\airchatter\AirChatter2",1,1,4}; frequency = 1; volume = 5; cone[] = {5,5,5,5}; }; class EngineWhine { sound[] = {"FRL_cmsound\ah1z\engine_whine_ah6",1,1}; frequency = "rotorSpeed"; volume = "(1-camPos)*((rotorSpeed-0.75)*4)"; }; }; //adding searchlights class Reflectors { class Left { color[] = {0.8, 0.8, 1.0, 1.0}; ambient[] = {0.07, 0.07, 0.07, 1.0}; position = "L svetlo"; direction = "konec L svetla"; hitpoint = "L svetlo"; selection = "L svetlo"; size = 1; brightness = 1.0; }; class Right { color[] = {0.8, 0.8, 1.0, 1.0}; ambient[] = {0.07, 0.07, 0.07, 1.0}; position = "P svetlo"; direction = "machinegun";//"konec P svetla"; hitpoint = "P svetlo"; selection = "P svetlo"; size = 1; brightness = 1.0; }; }; class AnimationSources: AnimationSources { class 20mmBarrels { source = "revolving"; weapon = "M197"; }; //mykes added turret stuff /* class MainTurret { source="user"; animPeriod=2; initPhase = 0; }; class MainGun { source="user"; animPeriod=2; initPhase = 0; }; class SensorTurret: MainTurret {}; class Sensors: MainGun {}; //stock - can we get these to work with a useraction? */ class mainRotor_folded { source = "user"; animPeriod = 0.001; //0.5; //0.001; initPhase = 1; }; class mainRotor_unfolded: mainRotor_folded { source = "user"; initPhase = 0; }; class rotorShaft_unfolded: mainRotor_unfolded{}; }; class UserActions { class Fold_rotors { displayName = "<t color='#199bf0'>~ Stow rotors</t>"; position = "gunnercontrol"; radius = 7; onlyForplayer = 0; priority = 4; showWindow = "false"; condition = "this animationPhase ""mainRotor_folded"" <= 0.5 AND Alive(this) AND !(engineon this) AND (speed this <2) AND (speed this > -2)"; statement = "[this] execVM ""FRL_AH1Z\data\scripts\rotorop.sqf"""; }; class Unfold_rotors: Fold_rotors { displayName = "<t color='#199bf0'>~ Deploy rotors</t>"; condition = "this animationPhase ""mainRotor_folded"" > 0.5 AND Alive(this) AND !(engineon this) AND (speed this <2) AND (speed this > -2)"; statement = "[this] execVM ""FRL_AH1Z\data\scripts\rotorcl.sqf"""; }; }; class EventHandlers: DefaultEventhandlers { Init = "_this execVM ""\FRL_AH1Z\data\scripts\init.sqf"";"; fired = "_this call BIS_Effects_EH_Fired; _this execVM ""\EB_Air\scripts\awfx_ah1.sqf"";"; killed = "_this call BIS_Effects_EH_Killed;"; engine = "_this execVM '\FRL_AH1Z\data\scripts\wingcheck.sqf';"; }; class Library { libTextDesc = "$STR_LIB_AH1Z"; }; dammageHalf[] = {"\Ca\air\data\ah1z_monitor_glass_ca.paa","\Ca\air\data\ah1z_monitor_glass_destr_co.paa"}; dammageFull[] = {"\Ca\air\data\ah1z_monitor_glass_ca.paa","\Ca\air\data\ah1z_monitor_glass_destr_co.paa"}; class Damage { tex[] = {}; mat[] = {"ca\air\data\ah1z_body.rvmat","ca\air\data\ah1z_body_damage.rvmat","ca\air\data\ah1z_body_destruct.rvmat","ca\air\data\ah1z_glass.rvmat","ca\air\data\ah1z_glass_damage.rvmat","ca\air\data\ah1z_glass_damage.rvmat","ca\air\data\ah1z_glass_in.rvmat","ca\air\data\ah1z_glass_in_damage.rvmat","ca\air\data\ah1z_glass_in_damage.rvmat","ca\air\data\ah1z_cockpit.rvmat","ca\air\data\ah1z_cockpit.rvmat","ca\air\data\ah1z_cockpit_destruct.rvmat","ca\air\data\ah1z_engines.rvmat","ca\air\data\ah1z_engines_damage.rvmat","ca\air\data\ah1z_engines_destruct.rvmat","Ca\air\data\ah1z_monitors.rvmat","Ca\air\data\ah1z_monitors.rvmat","Ca\air\data\ah1z_monitors_destruct.rvmat"}; }; destrType = "DestructWreck"; class HitPoints: Hitpoints { class HitGlass2: HitGlass2 { armor = 0.5; }; class HitGlass3: HitGlass3 { armor = 0.5; }; class HitGlass4: HitGlass4 { armor = 0.5; }; class HitGlass5: HitGlass5 { armor = 0.5; }; }; //adding MFD class MFD { class AirplaneHUD { class Pos10Vector { type = "vector"; pos0[] = {0.5,"0.27+0.23"}; pos10[] = {0.85,0.85}; }; topLeft = "HUD LH"; topRight = "HUD PH"; bottomLeft = "HUD LD"; borderLeft = 0; borderRight = 0; borderTop = 0; borderBottom = 0; color[] = {0,1,0,0.1}; class Bones { class PlaneW { type = "fixed"; pos[] = {0.5,"0.34+0.23"}; }; class WeaponAim: Pos10Vector { source = "weapon"; }; class GunnerAim: Pos10Vector { source = "weapon"; pos0[] = {0,-0.0025}; pos10[] = {0.01,0.0025}; }; class Target: Pos10Vector { source = "target"; }; class Velocity: Pos10Vector { type = "vector"; source = "velocity"; pos0[] = {0.5,"0.27+0.23"}; pos10[] = {0.85,0.85}; }; class ILS_H { type = "ils"; pos0[] = {0.5,"0.27+0.23"}; pos3[] = {0.605,"0.27+0.23"}; }; class ILS_W: ILS_H { pos3[] = {0.5,0.605}; }; class Level0: Pos10Vector { pos0[] = {0.5,"0.34+0.23"}; pos10[] = {0.85,0.92}; type = "horizon"; angle = 0; }; class LevelP10: Level0 { angle = 10; }; class LevelM10: Level0 { angle = -10; }; class LevelP20: Level0 { angle = 20; }; class LevelM20: Level0 { angle = -20; }; class LevelP30: Level0 { angle = 30; }; class LevelM30: Level0 { angle = -30; }; class LevelP40: Level0 { angle = 40; }; class LevelM40: Level0 { angle = -40; }; class LevelP50: Level0 { angle = 50; }; class LevelM50: Level0 { angle = -50; }; class TargetDistanceMissile { type = "rotational"; source = "targetDist"; center[] = {0,0}; min = 100; max = 3000; minAngle = -120; maxAngle = 120; }; }; class Draw { alpha = 0.6; color[] = {0,0.5,0.05}; condition = "on"; class PlaneW { clipTL[] = {0,1}; clipBR[] = {1,0}; type = "line"; width = 4; points[] = { { "PlaneW", { 0,-0.02 },1 }, { "PlaneW", { 0.014,-0.014 },1 }, { "PlaneW", { 0.02,0 },1 }, { "PlaneW", { 0.014,0.014 },1 }, { "PlaneW", { 0,0.02 },1 }, { "PlaneW", { -0.014,0.014 },1 }, { "PlaneW", { -0.02,0 },1 }, { "PlaneW", { -0.014,-0.014 },1 }, { "PlaneW", { 0,-0.02 },1 }, { }}; }; class PlaneHeading { clipTL[] = {0,1}; clipBR[] = {1,0}; type = "line"; width = 4; points[] = { { "Velocity", { 0,-0.02 },1 }, { "Velocity", { 0.014,-0.014 },1 }, { "Velocity", { 0.02,0 },1 }, { "Velocity", { 0.014,0.014 },1 }, { "Velocity", { 0,0.02 },1 }, { "Velocity", { -0.014,0.014 },1 }, { "Velocity", { -0.02,0 },1 }, { "Velocity", { -0.014,-0.014 },1 }, { "Velocity", { 0,-0.02 },1 }, { }, { "Velocity", { 0.04,0 },1 }, { "Velocity", { 0.02,0 },1 }, { }, { "Velocity", { -0.04,0 },1 }, { "Velocity", { -0.02,0 },1 }, { }, { "Velocity", { 0,-0.04 },1 }, { "Velocity", { 0,-0.02 },1 }, { }}; }; class Static { clipTL[] = {0,0.1}; clipBR[] = {1,0}; type = "line"; width = 4; points[] = { { { 0.79,0.52 },1 }, { { 0.81,0.5 },1 }, { { 0.79,0.48 },1 }, { }, { { 0.52,"0.08+0.06" },1 }, { { 0.5,"0.06+0.06" },1 }, { { 0.48,"0.08+0.06" },1 }, { }, { { "0.5-0.1","0.9-0.04" },1 }, { { "0.5-0.1","0.9+0.04" },1 }, { { "0.5+0.1","0.9+0.04" },1 }, { { "0.5+0.1","0.9-0.04" },1 }, { { "0.5-0.1","0.9-0.04" },1 }, { }, { { "0.5-0.1",0.9 },1 }, { { "0.5-0.092",0.9 },1 }, { }, { { "0.5+0.1",0.9 },1 }, { { "0.5+0.092",0.9 },1 }, { }, { { 0.5,"0.9-0.04" },1 }, { { 0.5,"0.9-0.032" },1 }, { }, { { 0.5,"0.9+0.04" },1 }, { { 0.5,"0.9+0.032" },1 }, { }}; }; class Gunner { type = "line"; width = 4; points[] = { { "GunnerAim", { "0.5-0.015","0.9-0.008" },1 }, { "GunnerAim", { "0.5-0.015","0.9+0.008" },1 }, { "GunnerAim", { "0.5+0.015","0.9+0.008" },1 }, { "GunnerAim", { "0.5+0.015","0.9-0.008" },1 }, { "GunnerAim", { "0.5-0.015","0.9-0.008" },1 }}; }; class Target { type = "line"; points[] = { { "Target", { -0.05,-0.05 },1 }, { "Target", { 0.05,-0.05 },1 }, { "Target", { 0.05,0.05 },1 }, { "Target", { -0.05,0.05 },1 }, { "Target", { -0.05,-0.05 },1 }}; }; class MGun { condition = "mgun"; class Circle { type = "line"; width = 4; points[] = { { "WeaponAim", { 0.05,0 },1 }, { "WeaponAim", { 0.015,0 },1 }, { }, { "WeaponAim", { 0,0.05 },1 }, { "WeaponAim", { 0,0.015 },1 }, { }, { "WeaponAim", { -0.05,0 },1 }, { "WeaponAim", { -0.015,0 },1 }, { }, { "WeaponAim", { 0,-0.05 },1 }, { "WeaponAim", { 0,-0.015 },1 }, { }}; }; }; class Bomb { condition = "bomb"; class Circle { type = "line"; width = 4; points[] = { { "WeaponAim", { 0,-0.1 },1 }, { "WeaponAim", { 0.05,-0.087 },1 }, { "WeaponAim", { 0.087,-0.05 },1 }, { "WeaponAim", { 0.1,0 },1 }, { "WeaponAim", { 0.087,0.05 },1 }, { "WeaponAim", { 0.05,0.087 },1 }, { "WeaponAim", { 0,0.1 },1 }, { "WeaponAim", { -0.05,0.087 },1 }, { "WeaponAim", { -0.087,0.05 },1 }, { "WeaponAim", { -0.1,0 },1 }, { "WeaponAim", { -0.087,-0.05 },1 }, { "WeaponAim", { -0.05,-0.087 },1 }, { "WeaponAim", { 0,-0.1 },1 }, { }, { "Velocity",0.001,"WeaponAim", { 0,0 },1 }, { "Velocity", { 0,0 },1 }, { }, { "Target", { 0,-0.07 },1 }, { "Target", { 0.07,0 },1 }, { "Target", { 0,0.07 },1 }, { "Target", { -0.07,0 },1 }, { "Target", { 0,-0.07 },1 }}; }; }; class AAMissile { condition = "AAmissile"; class Circle { type = "line"; width = 4; points[] = { { "WeaponAim", { 0,-0.25 },1 }, { "WeaponAim", { 0.125,-0.2175 },1 }, { "WeaponAim", { 0.2175,-0.125 },1 }, { "WeaponAim", { 0.25,0 },1 }, { "WeaponAim", { 0.2175,0.125 },1 }, { "WeaponAim", { 0.125,0.2175 },1 }, { "WeaponAim", { 0,0.25 },1 }, { "WeaponAim", { -0.125,0.2175 },1 }, { "WeaponAim", { -0.2175,0.125 },1 }, { "WeaponAim", { -0.25,0 },1 }, { "WeaponAim", { -0.2175,-0.125 },1 }, { "WeaponAim", { -0.125,-0.2175 },1 }, { "WeaponAim", { 0,-0.25 },1 }, { }, { "Target", { 0,-0.07 },1 }, { "Target", { 0.07,0 },1 }, { "Target", { 0,0.07 },1 }, { "Target", { -0.07,0 },1 }, { "Target", { 0,-0.07 },1 }}; }; }; class ATMissile { condition = "ATmissile"; class Circle { type = "line"; width = 4; points[] = { { "WeaponAim", { -0.15,-0.15 },1 }, { "WeaponAim", { -0.15,"-0.15+0.02" },1 }, { }, { "WeaponAim", { -0.15,0.15 },1 }, { "WeaponAim", { -0.15,"+0.15-0.02" },1 }, { }, { "WeaponAim", { 0.15,-0.15 },1 }, { "WeaponAim", { 0.15,"-0.15+0.02" },1 }, { }, { "WeaponAim", { 0.15,0.15 },1 }, { "WeaponAim", { 0.15,"+0.15-0.02" },1 }, { }, { "WeaponAim", { -0.15,-0.15 },1 }, { "WeaponAim", { "-0.15+0.02",-0.15 },1 }, { }, { "WeaponAim", { -0.15,0.15 },1 }, { "WeaponAim", { "-0.15+0.02",0.15 },1 }, { }, { "WeaponAim", { 0.15,-0.15 },1 }, { "WeaponAim", { "0.15-0.02",-0.15 },1 }, { }, { "WeaponAim", { 0.15,0.15 },1 }, { "WeaponAim", { "0.15-0.02",0.15 },1 }, { }}; }; }; class Rockets { condition = "Rocket"; class Circle { type = "line"; width = 4; points[] = { { "WeaponAim", { -0.25,-0.25 },1 }, { "WeaponAim", { -0.25,"-0.25+0.05" },1 }, { }, { "WeaponAim", { -0.25,0.25 },1 }, { "WeaponAim", { -0.25,"+0.25-0.05" },1 }, { }, { "WeaponAim", { 0.25,-0.25 },1 }, { "WeaponAim", { 0.25,"-0.25+0.05" },1 }, { }, { "WeaponAim", { 0.25,0.25 },1 }, { "WeaponAim", { 0.25,"+0.25-0.05" },1 }, { }, { "WeaponAim", { -0.25,-0.25 },1 }, { "WeaponAim", { "-0.25+0.05",-0.25 },1 }, { }, { "WeaponAim", { -0.25,0.25 },1 }, { "WeaponAim", { "-0.25+0.05",0.25 },1 }, { }, { "WeaponAim", { 0.25,-0.25 },1 }, { "WeaponAim", { "0.25-0.05",-0.25 },1 }, { }, { "WeaponAim", { 0.25,0.25 },1 }, { "WeaponAim", { "0.25-0.05",0.25 },1 }, { }}; }; }; class SpeedNumber { type = "text"; align = "right"; scale = 1; source = "speed"; sourceScale = 3.6; pos[] = { { 0.06,0.47 },1}; right[] = { { "0.14-0.02",0.47 },1}; down[] = { { 0.06,0.52 },1}; }; class AltNumber: SpeedNumber { source = "altitudeAGL"; sourceScale = 1; pos[] = { { "0.86-0.15",0.47 },1}; right[] = { { "0.94-0.15-0.02",0.47 },1}; down[] = { { "0.86-0.15",0.52 },1}; }; class AltScale { type = "scale"; scale = 1; source = "altitudeAGL"; sourceScale = 1; align = "right"; width = 4; pos[] = {0.86,0.82}; right[] = {"0.94-0.02",0.82}; down[] = {0.86,0.87}; lineXleft = 0.825; lineYright = 0.835; lineXleftMajor = 0.825; lineYrightMajor = 0.845; bottom = 0.2; top = 0.85; center = 0.5; step = 20; StepSize = "(0.85- 0.2)/20"; horizontal = 0; min = "none"; max = "none"; numberEach = 5; majorLineEach = 5; }; class weapons { type = "text"; source = "weapon"; align = "right"; scale = 0.5; sourceScale = 1; pos[] = { { 0.1,0.88 },1}; right[] = { { "0.16-0.02",0.88 },1}; down[] = { { 0.1,0.92 },1}; }; class ammo { type = "text"; source = "ammo"; align = "right"; scale = 0.5; sourceScale = 1; pos[] = { { 0.1,0.93 },1}; right[] = { { "0.16-0.02",0.93 },1}; down[] = { { 0.1,0.97 },1}; }; class weaponDistNumber { type = "text"; scale = 1; source = "weaponDist"; align = "center"; sourceScale = 1; pos[] = { { 0.51,0.1 },1}; right[] = { { 0.59,0.1 },1}; down[] = { { 0.51,0.15 },1}; }; class HeadingScale { type = "scale"; scale = 1; source = "Heading"; sourceScale = 1; align = "center"; width = 4; pos[] = {"0.32-0.01","0.0+0.05"}; right[] = {"0.38-0.01","0.0+0.05"}; down[] = {"0.32-0.01","0.04+0.05"}; lineXleft = "0.06+0.05"; lineYright = "0.05+0.05"; lineXleftMajor = "0.07+0.05"; lineYrightMajor = "0.04+0.05"; bottom = 0.7; center = 0.5; top = 0.3; step = 10; StepSize = "(0.70- 0.3)/15"; horizontal = 1; min = "none"; max = "none"; numberEach = 3; majorLineEach = 3; }; class HorizontalLine { clipTL[] = {0.2,0.12}; clipBR[] = {0.8,0.96}; class HorizontalLineDraw { type = "line"; source = "Level0"; points[] = { { "Level0", { "-6*0.075/2",0.02 },1 }, { "Level0", { "-5*0.075/2",0.02 },1 }, { }, { "Level0", { "-4*0.075/2",0.02 },1 }, { "Level0", { "-3*0.075/2",0.02 },1 }, { }, { "Level0", { "-2*0.075/2",0.02 },1 }, { "Level0", { "-1*0.075/2",0.02 },1 }, { }, { "Level0", { "1*0.075/2",0.02 },1 }, { "Level0", { "2*0.075/2",0.02 },1 }, { }, { "Level0", { "3*0.075/2",0.02 },1 }, { "Level0", { "4*0.075/2",0.02 },1 }, { }, { "Level0", { "5*0.075/2",0.02 },1 }, { "Level0", { "6*0.075/2",0.02 },1 }}; }; }; }; helmetMountedDisplay = 1; helmetPosition[] = {-0.025,0.025,0.1}; helmetRight[] = {0.05,0,0}; helmetDown[] = {0,-0.05,0}; }; }; }; ---------- Post added at 03:04 PM ---------- Previous post was at 01:50 PM ---------- FIXED! It was because we were adding to the config hiddenselections[] -{"camo1","camo2"}; and in the AW159 and AH1Z, which were not originally intended to be reskinned, the rotors ARE IN THE CAMO1/2 SELECTIONS. so redefining camo1 and camo2 excluding all of the rotor parts fixed the problem... phew. big thanks to Locklear, BadluckBurt, Von Knudenberg and wld427 for mucking in to help! thanks guys... Edited February 13, 2015 by eggbeast Share this post Link to post Share on other sites
badluckburt 78 Posted February 13, 2015 Damn, talk about a hard nut to crack. That's probably etched into your brain for eternity. Glad you got it fixed :) Share this post Link to post Share on other sites
Locklear 214 Posted February 16, 2015 Glad to help. :) Share this post Link to post Share on other sites