eggbeast 3673 Posted January 15, 2017 ok so I am trying to fix a non-showing muzzle flash on a sub-class of APC. the base vehicle is BI's BTR40 from arma 2. i have a working PK MG in the parent class, and one child down (the m18 recoilless rifle version with PK in copilot seat) however the other children have a glitch - they do not show the muzzle-flash proxy in editor. they work in buldozer, but in editor they only light up the surroundings, the proxy model does not show you can see from below that i am inheriting the PKM turret directly and so do not repeat those parts. In child1 the m18 version, the pkm_zasleh (muzzleflash) appears correctly in all other children, inheriting the EXACT SAME content, they do not show up. Does this mean that the model of the pkm_zasleh proxy in the m40, sp99 and mortar vehicles is somehow borked? or have i missed something ? cheers for any help here are the inheritances skeleton class uns_BTR_turret_PKM: uns_BTR_turret { isDiscrete = 1; skeletonInherit = "uns_BTR_turret"; skeletonBones[]= { "PKM_OtocVez","", "PKM_OtocHlaven","PKM_OtocVez", "PKM_ammobelt","PKM_OtocHlaven", "PKM_shells","PKM_ammobelt", "PKM_bullet06","PKM_shells", "PKM_bullet05","PKM_bullet06", "PKM_bullet04","PKM_bullet05", "PKM_bullet03","PKM_bullet04", "PKM_bullet02","PKM_bullet03", "PKM_bullet01","PKM_bullet02", "PKM_magazine","PKM_OtocHlaven", "PKM_charging_handle","PKM_OtocHlaven", "PKM_topcover","PKM_OtocHlaven", "PKM_trigger","PKM_OtocHlaven", "PKM_zasleh","PKM_OtocHlaven" }; }; class uns_BTR_PKSkeleton: uns_BTR_turret_PKM //pk on only turret { skeletonInherit="uns_BTR_turret_PKM"; skeletonBones[]= { // PKM "PKM_handle_L","PKM_OtocHlaven", "PKM_handle_R","PKM_OtocHlaven" }; }; class uns_BTR_M18Skeleton: uns_BTR_turret_PKM //m18 RR on rear, pk on codriver { skeletonInherit="uns_BTR_turret_PKM"; skeletonBones[]= { // M18 anims // "feedtray_cover","OtocHlaven" }; }; class uns_BTR_M40Skeleton: uns_BTR_turret_PKM //m40 RR on rear, pk on codriver { skeletonInherit="uns_BTR_turret_PKM"; skeletonBones[]= { // M40 anims "MainTurret","", "dial1","MainTurret", "dial2","MainTurret", "MainGun","MainTurret", "magazine","MainGun", "breech","MainGun", "breechblock","breech", "breechhandle","MainGun", "damageGun","MainGun" }; }; class uns_BTR_SPG9Skeleton: uns_BTR_turret_PKM //spg9 RR on rear, pk on codriver { skeletonInherit="uns_BTR_turret_PKM"; skeletonBones[]= { // RR anims "OtocVez","", "OtocHlaven","OtocVez", "ammo_hide","OtocHlaven", "breach","OtocHlaven", "handle","OtocHlaven" }; }; class uns_BTR_MortarSkeleton: uns_BTR_turret_PKM //mortar on rear, pk on codriver { skeletonInherit="uns_BTR_turret_PKM"; skeletonBones[]= { "computer", "OtocHlaven" }; }; model cfg class uns_BTR_PK: uns_BTR { skeletonName="uns_BTR_PKSkeleton"; sectionsInherit="uns_BTR"; sections[]= { "PKM_zasleh" }; class Animations: Animations { // PKM Gun Animations class pk_MuzzleFlashROT { type="rotationZ"; source="muzzle_rot_pk"; selection="PKM_zasleh"; axis="PKM_barrel_axis"; sourceAddress="loop"; centerFirstVertex=true; minValue=0; maxValue=4; angle0="rad 0"; angle1="rad 360"; }; class PKM_Turret { source="PKM_Turret"; selection="PKM_OtocVez"; axis="PKM_OsaVeze"; type="rotationY"; animPeriod=0; minValue="rad -360"; maxValue="rad +360"; angle0="rad -360"; angle1="rad +360"; }; class PKM_Gun: PKM_Turret { type="rotationX"; source="PKM_Gun"; selection="PKM_OtocHlaven"; axis="PKM_OsaHlavne"; }; class PKM_magazine_hide { type="hide"; source="PKM_reloadMagazine"; selection="PKM_magazine"; minValue=0; maxValue=0.1; hideValue=1; }; class PKM_trigger { type = "rotationX"; source = "PKM_reloadAnim"; selection = "PKM_trigger"; axis = "PKM_trigger_axis"; minValue = 0; maxValue = 1; angle0 = "rad 0"; angle1 = "rad 10"; }; class PKM_barrelrecoil_BEGIN { Type = "translation"; Source = "PKM_recoil_source"; Selection = "PKM_barrel"; axis="PKM_barrel_axis"; MinValue = 0.50; MaxValue = 0.80; MinPhase = 0.50; MaxPhase = 0.80; SourceAddress = "clamp"; Offset0 = 0; Offset1 = 0.2; }; class PKM_barrelrecoil_END: PKM_barrelrecoil_BEGIN { MinValue = 0.85; MaxValue = 1; MinPhase = 0.85; MaxPhase = 1; Offset1 = -0.2; }; class PKM_feedtray_cover_up { type="rotation"; source="PKM_reloadMagazine"; selection="PKM_topcover"; axis="PKM_topcover_axis"; minValue=0; maxValue=0.1; angle0="0"; angle1="rad -90"; }; class PKM_feedtray_cover_down: PKM_feedtray_cover_up { minValue=0.9; maxValue=1; angle0="0"; angle1="rad 90"; }; class PKM_ammo_belt_rotation { type="rotationZ"; source="PKM_ReloadAnim"; selection="PKM_ammobelt"; axis="PKM_ammobelt_axis"; memory=1; sourceAddress="loop"; minValue=0.000000; maxValue=1.000000; angle0=-0.087266; angle1=0.174533; }; class PKM_ammobelt_reload { type="hide"; source="PKM_reloadMagazine"; selection="PKM_ammobelt"; minValue=0; maxValue=1; hideValue=0.1; }; class PKM_Charging_handle_reload_begin { type="translation"; source="PKM_reloadMagazine"; memory = 1; animPeriod = 0; selection="PKM_charging_handle"; axis="PKM_charging_handle_axis"; minValue = 0.0; maxValue = 0.02; minPhase = 0.0; maxPhase = 0.02; offset0 = 0.0; offset1 = 0.5; }; class PKM_Charging_handle_reload_end: PKM_Charging_handle_reload_begin { minValue = 0.05; maxValue = 0.07; minPhase = 0.05; maxPhase = 0.07; offset1 = -0.5; }; class PKM_Bullet01 { type="hide"; source="PKM_revolving"; selection="PKM_bullet01"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; hideValue = 0.94501; }; class PKM_Bullet02: PKM_Bullet01 { selection="PKM_bullet02"; hideValue = 0.95501; }; class PKM_Bullet03: PKM_Bullet01 { selection="PKM_bullet03"; hideValue = 0.96501; }; class PKM_Bullet04: PKM_Bullet01 { selection="PKM_Bullet04"; hideValue = 0.97501; }; class PKM_Bullet05: PKM_Bullet01 { selection="PKM_Bullet05"; hideValue = 0.98005004; }; class PKM_Bullet06: PKM_Bullet01 { selection="PKM_Bullet06"; hideValue = 0.99001003; }; }; }; class uns_BTR_M18: uns_BTR_PK { skeletonName="uns_BTR_M18Skeleton"; sectionsInherit="uns_BTR_PK"; sections[]= { "G svetlo" //gunner light }; class Animations: Animations { // M18 RR Gun anims class MainTurret { type="rotationY"; source="mainTurret"; selection="OtocVez"; axis="OsaVeze"; animPeriod=0; minValue="rad -360"; maxValue="rad +360"; angle0="rad -360"; angle1="rad +360"; }; class MainGun: MainTurret { type="rotationX"; source="mainGun"; selection="OtocHlaven"; axis="OsaHlavne"; }; }; }; class uns_BTR_M40: uns_BTR_M18 { skeletonName="uns_BTR_M40Skeleton"; sectionsInherit="uns_BTR_M18"; sections[]= {}; class Animations: Animations { // M40 RR Gun anims class MainTurret { type="rotationY"; source="mainTurret"; selection="MainTurret"; axis="MainTurret_axis"; memory=1; minValue="rad -360"; maxValue="rad +360"; angle0="rad -360"; angle1="rad +360"; }; class dial1: MainTurret { selection = "dial1"; angle0 = "rad 3600"; angle1 = "rad -3600"; }; class MainGun: MainTurret { type="rotationX"; source="mainGun"; selection="MainGun"; axis="MainGun_axis"; }; class dial2: MainGun { selection = "dial2"; angle0 = "rad 3600"; angle1 = "rad -3600"; }; //reload anims class magazine_hide { type="hide"; source="ReloadMagazine"; selection="magazine"; minValue=0; maxValue=1; minphase = 0.3; maxphase = 0.6; hideValue=0.6; }; class breech_open { type="rotation"; source="ReloadMagazine"; selection="breech"; axis="breech_axis"; minValue=0.25; maxValue=0.4; angle0="0"; angle1="rad -120"; }; class breech_close: breech_open { minValue=0.6; maxValue=0.75; angle1="rad 120"; }; class breechblock_open { type="rotation"; source="ReloadMagazine"; selection="breechblock"; axis="breechblock_axis"; minValue=0; maxValue=0.25; angle0="0"; angle1="rad -45"; }; class breechblock_close: breechblock_open { minValue=0.75; maxValue=1; angle1="rad 45"; }; class breech_handle_open { type="rotation"; source="ReloadMagazine"; memory = 1; selection="breechhandle"; axis="breechhandle_axis"; minValue = 0; maxValue = 0.25; angle0="0"; angle1="rad -170"; }; class breech_handle_close: breech_handle_open { minValue = 0.75; maxValue = 1; angle1="rad 170"; }; // RR damage class damageGun { type="hide"; source="damage"; selection="damageGun"; minValue = 0.0; maxValue = 1.0; minPhase = 0.0; maxPhase = 1.0; hideValue = 1.0; }; }; }; class uns_BTR_SPG9: uns_BTR_M18 { skeletonName="uns_BTR_SPG9Skeleton"; sectionsInherit="uns_BTR_M18"; sections[]= {}; class Animations: Animations { // RR Gun anims class ammo_hide { type="hide"; source="ReloadMagazine"; selection="ammo_hide"; minValue=0; maxValue=1; hidevalue = 0.1; }; class breech_open { type="rotation"; source="ReloadMagazine"; selection="breach"; axis="breach_axis"; minValue=0.25; maxValue=0.4; angle0="0"; angle1="rad 140"; }; class breech_close: breech_open { minValue=0.6; maxValue=0.75; angle1="rad -140"; }; class breech_handle_open { type="rotation"; source="ReloadMagazine"; memory = 1; selection="handle"; axis="handle_axis"; minValue = 0; maxValue = 0.25; angle0="0"; angle1="rad -90"; }; class breech_handle_close: breech_handle_open { minValue = 0.75; maxValue = 1; angle1="rad 90"; }; }; }; class uns_BTR_MORTAR: uns_BTR_M18 { skeletonName="uns_BTR_MortarSkeleton"; sectionsInherit="uns_BTR_M18"; sections[]= {}; class Animations: Animations { // Mortar anims class camElev { type="rotationX"; source="camElev"; selection="computer"; axis="computer_axis"; animPeriod=0; minValue="rad -360"; maxValue="rad +360"; angle0="rad -360"; angle1="rad +360"; }; class camElev2: camElev { source="mainGun"; angle0="rad +360"; angle1="rad -360"; }; }; }; config.cpp for cfg vehicles class uns_Type55_LMG: uns_Type55_MG_base { scope = 2; displayName = "Type 55 APC (PK)"; model = "\uns_btr\uns_BTR_PK.p3d"; //etc class Turrets: Turrets { class MainTurret: MainTurret { primaryGunner = 0; primaryObserver = 0; proxyType = "CPGunner"; gunnerName = "Gunner"; proxyIndex = 2; commanding = -1; weapons[] = {"uns_pkt2"}; magazines[] = {"uns_250Rnd_762x54_PKT","uns_250Rnd_762x54_PKT","uns_250Rnd_762x54_PKT","uns_250Rnd_762x54_PKT","uns_250Rnd_762x54_PKT"}; selectionFireAnim = "PKM_zasleh"; gunBeg = "PKM_usti_hlavne"; gunEnd = "PKM_konec_hlavne"; body = "PKM_Turret"; gun = "PKM_Gun"; memoryPointGunnerOptics = "PKM_gunnerview"; animationSourceBody = "PKM_Turret"; animationSourceGun = "PKM_Gun"; gunnerLeftHandAnimName = "PKM_handle_L"; gunnerRightHandAnimName = "PKM_handle_R"; turretInfoType = "RscWeaponZeroing"; discreteDistance[] = {100,200,300,400,500,600,700,800,900,1000,1100,1200}; discreteDistanceInitIndex = 2; stabilizedInAxes = "StabilizedInAxesNone"; gunnerAction = "gunner_standup01"; gunnerInAction = "gunner_standup01"; gunnerOpticsModel = "uns_compat\ca\weapons\optika_empty"; initElev = 0; minElev = -18; maxElev = 55; minTurn = -55; maxTurn = 55; initTurn = 0; class ViewOptics { initAngleX = 0; minAngleX = -25; maxAngleX = 80; initAngleY = 0; minAngleY = -75; maxAngleY = 75; initFov = 0.4; minFov = 0.4; maxFov = 0.4; turretInfoType = "RscWeaponZeroing"; discreteDistance[] = {100,200,300,400,500,600,700,800,900,1000,1100,1200}; discreteDistanceInitIndex = 2; }; class ViewGunner { initAngleX = 0; minAngleX = -25; maxAngleX = 80; initAngleY = 0; minAngleY = -65; maxAngleY = 65; initFov = 0.7; minFov = 0.7; maxFov = 0.7; }; }; }; class AnimationSources: AnimationSources { class PKM_ReloadAnim { source = "reload"; weapon = "uns_pkt2"; }; class PKM_ReloadMagazine: PKM_ReloadAnim { source = "reloadmagazine"; }; class PKM_Revolving: PKM_ReloadAnim { source = "revolving"; }; class muzzle_rot_pk: PKM_ReloadAnim { source = "ammorandom"; }; }; }; /////////////////////////////////// m18 - pk works fine class uns_Type55_RR57: uns_Type55_LMG { displayName = "Type 55 APC (57mm Type36)"; model = "\uns_btr\uns_BTR_M18.p3d"; class Turrets: Turrets { class MainTurret: MainTurret { gunnerName = "Front Gunner"; primaryGunner = 0; proxyType = "CPGunner"; proxyIndex = 1; commanding = 1; gunnerAction = "driver_mid01"; gunnerInAction = "driver_mid01"; //inherits pkm from above gunnerLeftHandAnimName = ""; gunnerRightHandAnimName = ""; }; class RR_turret: MainTurret { gunnerName = "Rear Gunner"; primaryGunner = 1; proxyType = "CPGunner"; proxyIndex = 2; commanding = 2; gunnerForceOptics = 0; gunnerOutOpticsShowCursor = 0; stabilizedInAxes = 0; soundServo[] = {"\uns_compat\ca\sounds\vehicles\servos\turret-1",0.0316228,1,15}; // soundServo[] = {"A3\Sounds_F\vehicles\armor\noises\servo_armor_comm",0.017783,1.0,15}; weapons[] = {"uns_Type36"}; magazines[] = {"uns_Type36_HEATmag","uns_Type36_HEATmag","uns_Type36_HEATmag","uns_Type36_HEATmag","uns_Type36_HEATmag","uns_Type36_HEATmag", "uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_HEmag","uns_Type36_WPmag","uns_Type36_WPmag","uns_Type36_WPmag","uns_Type36_WPmag","uns_Type36_WPmag","uns_Type36_WPmag"}; gunBeg = "usti hlavne"; gunEnd = "konec hlavne"; body = "MainTurret"; gun = "MainGun"; animationSourceBody = "MainTurret"; animationSourceGun = "MainGun"; selectionFireAnim = "zasleh"; memoryPointGunnerOptics = "gunnerview"; gunnerLeftHandAnimName = ""; gunnerRightHandAnimName = ""; gunnerAction = "uns_btr_m18_gunner_2";//"BTR40_Gunner_EP1"; gunnerInAction = "uns_btr_m18_gunner_2"; ejectDeadGunner = 1; gunnerOpticsModel = "uns_compat\ca\weapons\2Dscope_SPG_4"; minTurn = -360; maxTurn = 360; maxElev = 40; class ViewOptics: ViewOptics { initFov = 0.111; minFov = 0.111; maxFov = 0.111; }; }; }; class AnimationSources: AnimationSources { class reloadMagazine { source = "reloadmagazine"; weapon = "uns_Type36"; }; //inherits pkm anims from above }; }; /////////////////////////////////// spg9 - pk muz flash fails to show up class uns_Type55_RR73: uns_Type55_RR57 { displayName = "Type 55 APC (73mm SPG9)"; model = "\uns_btr\uns_BTR_SPG9.p3d"; class Turrets: Turrets { class MainTurret: MainTurret {}; class RR_turret: MainTurret { gunnerName = "Rear Gunner"; primaryGunner = 1; proxyType = "CPGunner"; proxyIndex = 2; commanding = 2; gunnerForceOptics = 0; gunnerOutOpticsShowCursor = 0; weapons[] = {"uns_SPG9"}; magazines[] = { "uns_OG9_HEmag","uns_OG9_HEmag","uns_OG9_HEmag","uns_OG9_HEmag", "uns_OG9_HEmag","uns_OG9_HEmag","uns_OG9_HEmag","uns_OG9_HEmag", "uns_OG9_HEmag","uns_OG9_HEmag","uns_PG9_ATmag","uns_PG9_ATmag", "uns_PG9_ATmag","uns_PG9_ATmag","uns_PG9_ATmag","uns_PG9_ATmag", "uns_PG9_ATmag","uns_PG9_ATmag","uns_PG9_ATmag","uns_PG9_ATmag" }; gunBeg = "RR_gunBeg"; gunEnd = "RR_gunEnd"; body = "MainTurret"; gun = "MainGun"; memoryPointGunnerOptics = "gunnerview"; animationSourceBody = "MainTurret"; animationSourceGun = "MainGun"; stabilizedInAxes = 0; soundServo[] = {"A3\Sounds_F\vehicles\armor\noises\servo_armor_comm", 0.017783, 1.000000, 15}; gunnerAction = "uns_btr_m18_gunner"; gunnerInAction = "uns_btr_m18_gunner"; ejectDeadGunner = 1; gunnerOpticsModel = "uns_compat\ca\weapons\2Dscope_SPG_4"; minTurn = -360; maxTurn = 360; initTurn = 0; minElev = -20; maxElev = 70; initElev = 0; class ViewGunner { initAngleX = 5; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.700000; minFov = 0.250000; maxFov = 1.100000; }; class ViewOptics { initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.111000; minFov = 0.111000; maxFov = 0.111000; }; }; }; class AnimationSources: AnimationSources { class ReloadMagazine { source = "reload"; weapon = "uns_SPG9"; animPeriod = 5; }; }; }; /////////////////////////////////// m40 - pk muz flash fails to show up class uns_Type55_M40: uns_Type55_RR57 { displayName = "Type 55 APC (M40)"; model = "\uns_btr\uns_BTR_M40.p3d"; class Turrets: Turrets { class MainTurret: MainTurret {}; class RR_turret: MainTurret { gunnerName = "Rear Gunner"; primaryGunner = 1; proxyType = "CPGunner"; proxyIndex = 2; commanding = 2; gunnerForceOptics = 0; gunnerOutOpticsShowCursor = 0; weapons[] = {"uns_M40RR"}; magazines[] = { "uns_M40_HEATmag","uns_M40_HEATmag","uns_M40_HEATmag","uns_M40_HEATmag", "uns_M40_HEmag","uns_M40_HEmag","uns_M40_HEmag","uns_M40_HEmag", "uns_M40_APERSmag","uns_M40_APERSmag","uns_M40_APERSmag","uns_M40_APERSmag", "uns_M40_WPmag","uns_M40_WPmag" }; gunBeg = "usti hlavne"; gunEnd = "konec hlavne"; body = "MainTurret"; gun = "MainGun"; memoryPointGunnerOptics = "gunnerview"; animationSourceBody = "MainTurret"; animationSourceGun = "MainGun"; stabilizedInAxes = 0; soundServo[] = {"A3\Sounds_F\vehicles\armor\noises\servo_armor_comm", 0.017783, 1.000000, 15}; gunnerAction = "uns_btr_m18_gunner_2"; gunnerInAction = "uns_btr_m18_gunner_2"; ejectDeadGunner = 1; gunnerOpticsModel = "uns_compat\ca\weapons\2Dscope_SPG_4"; minTurn = -360; maxTurn = 360; initTurn = 0; minElev = -20; maxElev = 70; initElev = 0; class ViewGunner { initAngleX = 5; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.700000; minFov = 0.250000; maxFov = 1.100000; }; class ViewOptics { initAngleX = 0; minAngleX = -30; maxAngleX = 30; initAngleY = 0; minAngleY = -100; maxAngleY = 100; initFov = 0.111000; minFov = 0.111000; maxFov = 0.111000; }; }; }; class AnimationSources: AnimationSources { class ReloadMagazine { source = "ReloadMagazine"; weapon = "uns_M40RR"; animPeriod = 5; }; }; }; /////////////////////////////////// mortar - pk muz flash fails to show up class uns_Type55_mortar: uns_Type55_LMG { displayName = "Type 55 APC (82mm Mortar)"; model = "\uns_btr\uns_BTR_mortar.p3d"; class Turrets: Turrets { class MainTurret: MainTurret { gunnerName = "Front Gunner"; primaryGunner = 0; proxyType = "CPGunner"; proxyIndex = 1; commanding = 1; gunnerAction = "driver_mid01"; gunnerInAction = "driver_mid01"; gunnerLeftHandAnimName = ""; gunnerRightHandAnimName = ""; }; class Mortar_turret: MainTurret { gunnerName = "Rear Gunner"; primaryGunner = 1; proxyType = "CPGunner"; proxyIndex = 2; commanding = 2; //weapons weapons[] = {"uns_M1941_82mm_Mortar"}; magazines[] = { "uns_8Rnd_82mmHE_M1941","uns_8Rnd_82mmHE_M1941","uns_8Rnd_82mmHE_M1941", "uns_8Rnd_82mmWP_M1941", "uns_8Rnd_82mmSMOKE_M1941", "uns_8Rnd_82mmILLUM_M1941"}; gunBeg = "usti hlavne"; gunEnd = "konec hlavne"; animationSourceBody = "MainTurret"; animationSourceGun = "MainGun"; body = "MainTurret"; gun = "MainGun"; gunnerLeftHandAnimName = ""; gunnerRightHandAnimName = ""; //crew gunnerAction = "Mortar_01_F_Turret"; gunnerInAction = "Mortar_01_F_Turret"; ejectDeadGunner = 1; //handling stabilizedInAxes = 0; soundServo[] = {"A3\Sounds_F\vehicles\armor\noises\servo_armor_comm",0.0316228,1,15}; //optics animationSourceCamElev = "camElev"; turretInfoType = "RscWeaponRangeArtillery"; elevationMode = 3; memoryPointGunnerOptics = "computer"; memoryPointGunnerOutOptics = "gunnerview"; discreteDistanceCameraPoint[] = {"eye"}; cameraDir = "look"; initCamElev = 0; minCamElev = -35; maxCamElev = 35; gunnerForceOptics = 1; gunnerOpticsModel = "uns_compat\ca\weapons\2Dscope_SPG_4"; gunnerOutOpticsShowCursor = 0; minTurn = -360; maxTurn = 360; maxElev = 40; class ViewOptics: ViewOptics { initFov = 0.111; minFov = 0.111; maxFov = 0.111; turretInfoType = "RscWeaponRangeArtillery"; }; }; }; class AnimationSources: AnimationSources {}; }; Share this post Link to post Share on other sites
x3kj 1247 Posted January 15, 2017 in your cfgweapons make sure you do not use shotFromTurret=true; https://community.bistudio.com/wiki/CfgWeapons_Config_Reference#shotFromTurret.3Dfalse Not sure what other purpose that parameter has, but it disables the hardcoded flash functionality... if thats not the case then i dont really know... looks ok so far. If you have trouble with the hardcoded muzzle anim system you could always create custom animation classes that use the reload sources from the guns to drive a proxy hide animations. Share this post Link to post Share on other sites
eggbeast 3673 Posted January 15, 2017 thanks man the weapon used is the same in all of the mainturret turrets in each vehicle - uns_pkt. this weapon works fine in the pk version uns_btr_lmg and the m18 recoilless version with pk in codriver (mainturret) - uns_btr_rr57 the three non working versions are clones of the uns_btr_m18 but with different weapons in their secondary turret (e.g. spg9, m40, mortar) afaik shotfromturret is used to manage cannon and mg's operating in the SAME turret (e.g. bmp3). in this case, the M18 / M40 etc are in a second /child turret. you can see that my pk turrets all inherit from a working mainturret with uns_pkt weapon equipped. the pk flash shows up correctly in buldozer for each vehicle the flash shows up correctly in game for the parent classes uns_btr_lmg and uns_btr_rr57 config and model.cfg inheritances are generic for the pk throughout these vehicles, except for the uns_btr_lmg which has handle anims added. my only remaining theories are: 1. the pk muzzle flash proxy in the non-working vehicles is somehow corrupted (i wil ltry completely replacing it in one non-working model) 2. the non-working models have additional selections parenting or overlapping pkm_zasleh (e.g. damagegun or damagehide etc) which break the hide anim (cutting the pkm_zasleh to an edit lod, they have exact same selections attached to the proxy that the working models have so this is unlikely) anything else i can try? Share this post Link to post Share on other sites
eggbeast 3673 Posted January 15, 2017 hmmm i am now wondering if incorrectly applied autocenter properties on the vehicle is making the muzzle flash appear under the ground, hence seeing some light fx on the broken versions... testing - nope that wasn't it. ok i have now deleted the muzzle flashes from the 3 bad vehicles, and replaced with the working one from the m18. still does not work vids: this shows the BTR_m18 with working pk muzzle flash then the non-working BTR_m40 with non-working pk muzzle flash (note the light fx shows just not the actual model of the flash) then the non-working BTR_mortar with non-working pk muzzle flash this shows the BTR_m18 with working pk muzzle flash in buldozer this shows the BTR_mortar with apparently working pk muzzle flash in buldozer - but it fails in-game Share this post Link to post Share on other sites
eggbeast 3673 Posted January 15, 2017 PKM_zasleh is part of PKM_otochlaven PKM_otocvez zbytek in each model i am so effin stumped why they don't work. Share this post Link to post Share on other sites
UK_Apollo 476 Posted January 15, 2017 Two suggestions: 1) Check your inheritance is as you want it uns_Type55_RR73 \ RR_turret is inheriting selectionFireAnim = "PKM_zasleh" from MainTurret whereas uns_Type55_RR57 \ RR_turret is using selectionFireAnim = "zasleh" So should it be? class uns_Type55_RR73 : uns_Type55_RR57 { class Turrets : Turrets { class MainTurret : MainTurret {}; class RR_turret : RR_turret {...}; }; }; 2. Try explicitly defining selectionFireAnim = "zasleh"; in each turret, as there are some odd inheritance issues in some classes. For reference, this is your inheritance of the selectionFireAnim's class uns_Type55_LMG : uns_Type55_MG_base { class Turrets : Turrets { class MainTurret : MainTurret { selectionFireAnim = "PKM_zasleh"; }; }; }; // working class uns_Type55_RR57 : uns_Type55_LMG { class Turrets : Turrets { class MainTurret : MainTurret {} class RR_turret : MainTurret { selectionFireAnim = "zasleh"; }; }; }; // broken class uns_Type55_RR73 : uns_Type55_RR57 { class Turrets : Turrets { class MainTurret : MainTurret {}; class RR_turret : MainTurret {}; }; }; Share this post Link to post Share on other sites
eggbeast 3673 Posted January 15, 2017 thanks for replying - i appreciate any help here - been on it all day! just to clarify class uns_Type55_LMG : uns_Type55_MG_base { class Turrets : Turrets { class MainTurret : MainTurret { selectionFireAnim = "PKM_zasleh"; //this is the pkm turret, correct flash selection }; }; }; // working class uns_Type55_RR57 : uns_Type55_LMG { class Turrets : Turrets { class MainTurret : MainTurret {} //this is the pkm turret, assume correct flash selection inherited class RR_turret : MainTurret { selectionFireAnim = "zasleh"; //this is the recoilless rifle turret,no flash selection required }; }; }; // broken class uns_Type55_RR73 : uns_Type55_RR57 { class Turrets : Turrets { class MainTurret : MainTurret {}; //this is the pkm turret, assume correct flash selection inherited class RR_turret : MainTurret {}; //this is the recoilless rifle turret, no flash selection required - but it is not defined, SO MAYBE THIS IS CAUSING THE ISSUE! will check }; }; Share this post Link to post Share on other sites
eggbeast 3673 Posted January 15, 2017 yep that was it! thanks Apollo - i owe you a crate mate. i was so busy looking upstream at the inheritances i forgot that if a DOWNSTREAM weapon inherits the same flash from your turret it will bugger it up. awesome - thank you so much! Share this post Link to post Share on other sites
UK_Apollo 476 Posted January 16, 2017 You're very welcome, glad to hear that it's solved. :-) Share this post Link to post Share on other sites