konyo 14 Posted March 30, 2012 ArmA 2 is flagging up an error with my latest model saying 'optikia_heli_tl.paa'? Cannot Load Texture ca\air\data\optikia_heli_tl.paa. Ive searched forum & google and cant find an answer to it, just threads saying the error has been spotted etc. Ive looked in my models rvmats for its path & looked though the whole model for its texture, but couldnt find it atall? Please help me :) Regards, konyo Share this post Link to post Share on other sites
Synide 0 Posted March 31, 2012 That's ArmA stuff mate... not ArmA2/OA.... 'ca\air\data\optika_heli_tl.paa' is from air.pbo for A1. Somewhere in your A2 stuff your pointing back at one of the optika_<blah>.p3d's from A1's air.pbo which in turn is pointing at this .paa. Then when you're in-game in A2/OA it doesn't have access to the old A1 air.pbo so can't find this .paa. Share this post Link to post Share on other sites
.kju 3245 Posted March 31, 2012 AFAIK this happens if your chopper/plane inherits directly from air and doesnt define an optics texture (like = ""): class CfgVehicles { class Air; class Helicopter: Air { class Turrets { class MainTurret: NewTurret { // gunnerOpticsModel = "\ca\air\optika_heli_gunner";//if this is used, you see the error }; }; }; Share this post Link to post Share on other sites
konyo 14 Posted March 31, 2012 AFAIK this happens if your chopper/plane inherits directly from air and doesnt define an optics texture (like = ""): class CfgVehicles { class Air; class Helicopter: Air { class Turrets { class MainTurret: NewTurret { // gunnerOpticsModel = "\ca\air\optika_heli_gunner";//if this is used, you see the error }; }; }; Ok thanks, I'm a tad confused. So if I write that into my config it will stop the error? Or something else? Because in that coding it says gunner optics? I'm not using a gunner in my model? Share this post Link to post Share on other sites
.kju 3245 Posted March 31, 2012 post your config here Share this post Link to post Share on other sites
konyo 14 Posted March 31, 2012 Sure, here you go :) class CfgPatches { class kyo_Bravo_November { units[] = {"kyo_Bravo_November"}; weapons[] = {}; requiredVersion = 1.02; requiredAddons[] = {"CAAir", "CA_Anims_Char", "CAData", "CACharacters"}; }; }; class CfgVehicles { class Helicopter ; // External class reference class kyo_Bravo_November: Helicopter { displayName = "Bravo November"; side = 1; scope = 2; faction ="USMC"; crew = "USMC_Soldier_Pilot"; picture = "\kyo_Bravo_November\Ch47\Textura\ch47_ico_ca.paa"; Icon = "\kyo_Bravo_November\Ch47\Textura\icomap_ch47.paa"; vehicleClass = "Air"; simulation = "helicopter"; model = "\kyo_Bravo_November\Bravo_November.p3d"; maxSpeed = 200; accuracy = 9.000000; armor = 40; rotorBig = "vrtule_uh_v"; rotorBigBlend = "vrtule_uh_v_bl"; rotorSmall = "vrtule_uh_m"; rotorSmallBlend = "vrtule_uh_m_bl"; transportSoldier = 26; hasGunner = 0; driverAction = "UH60_Pilot"; soundEngine[] = {"\kyo_Bravo_November\Ch47\Sound\ch47engine", 50, 1.000000}; cargoAction[] = {"UH60_Cargo02", "UH60_Cargo02"}; typicalCargo[] = {"SoldierGPilot", "SoldierGPilot", "SoldierGPilot", "SoldierGPilot"}; nameSound = "chopper"; mainRotorSpeed = 1.000000; backRotorSpeed = 1.000000; minMainRotorDive = -9; maxMainRotorDive = 15; neutralMainRotorDive = -5; minBackRotorDive = -15; maxBackRotorDive = 9; neutralBackRotorDive = -5; selectionHRotorStill = "velka vrtule staticka"; selectionHRotorMove = "velka vrtule blur"; selectionVRotorStill = "mala vrtule staticka"; selectionVRotorMove = "mala vrtule blur"; gearRetracting = 0; transportVehiclesMass = 5000; weapons[] = {"CMFlareLauncher"}; magazines[] = {"120Rnd_CMFlareMagazine"}; class Library { libTextDesc = "Bravo November - The only Chinook to make it off the Atlantic Conveyor before an Exocet missile sunk the Cargo Ship along with its Cargo which was 3 Chinooks. It was was bound for the Falkland Islands in 1982. Since 1982 it has served in the Falkland Islands, Lebanon, Germany, Northern Ireland, Kurdistan, Iraq and Afghanistan. The aircraft has seen four of its pilots awarded the Distinguished Flying Cross for actions whilst in command of Bravo November."; }; class HitLGlass { armor = 1.700000; material = -1; name = "sklo predni L"; visual = "sklo predni L"; passThrough = 0; }; class HitRGlass { armor = 1.700000; material = 1; name = "sklo predni P"; visual = "sklo predni P"; passThrough = 0; }; dammageHalf[] = {"\kyo_Bravo_November\Ch47\textura\Transp.paa", "\kyo_Bravo_November\Ch47\textura\Transp_roto1.paa"}; dammageFull[] = {"\kyo_Bravo_November\Ch47\textura\Transp.paa", "\kyo_Bravo_November\Ch47\textura\Transp_roto2.paa"}; class Damage { tex[]={}; mat[]={ "kyo_Bravo_November\Ch47\textura\ch47_body.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat", "kyo_Bravo_November\Ch47\textura\panelinte.rvmat", "kyo_Bravo_November\Ch47\textura\panelinte.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat", "kyo_Bravo_November\Ch47\textura\cargo.rvmat", "kyo_Bravo_November\Ch47\textura\cargo.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat", "kyo_Bravo_November\Ch47\textura\asientos.rvmat", "kyo_Bravo_November\Ch47\textura\asientos.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat", "kyo_Bravo_November\Ch47\textura\asientos.rvmat", "kyo_Bravo_November\Ch47\textura\asientos.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat"}; }; class AnimationSources { class Ani_Ramp { source = "user"; animPeriod = 2; initPhase = 0; }; }; class UserActions { class LAOpenRear { displayName = "Lower Ramp"; position = "pos pilot"; radius = 10; condition = "(this animationPhase ""Ani_Ramp"" < 0.5)&& (alive this)"; statement = "this animate[""Ani_Ramp"",1]"; onlyforplayer = 1; priority = 4.700000; showWindow = 1; }; class CloseRear { displayName = "Raise Ramp"; position = "pos pilot"; radius = 10; condition = "(this animationPhase ""Ani_Ramp"" > 0.5)&& (alive this)"; statement = "this animate[""Ani_Ramp"",0]"; onlyforplayer = 1; priority = 4.700000; showWindow = 1; }; }; // ACE specific values ACE_SYS_EJECT_EJECT = 0; ACE_SYS_EJECT_JUMP = 1; }; class Civilian; class ht_rope: Civilian { //Used model: "\ca\buildings\misc\DD_pletivo_sl.p3d"; model = "\kyo_Bravo_November\rope\bone.p3d"; armor = 999999; }; class ht_rope_inv: ht_rope { //Invisible bone for vertical attach model = "\kyo_Bravo_November\Animals\mosquito.p3d"; }; }; Share this post Link to post Share on other sites
.kju 3245 Posted March 31, 2012 Add inside your chopper class: class Turrets {}; Share this post Link to post Share on other sites
konyo 14 Posted March 31, 2012 (edited) Add inside your chopper class: Comes up with the following now : 'No Entry /bin\config.bin/Turrets.scope?' EDIT: Solved that above i put in wrong text form before, thanks for the help for that, much appreciated! :) Also why do some textures disappear when looking through glass? For example in Oxygen2 i can look at the glass from the outside and the pedals in the cockpit are white, zoom in through the glass into the cockpit and the textures are visable? Edited March 31, 2012 by konyo Solved problem, thanks PvPscene! Share this post Link to post Share on other sites
PuFu 4600 Posted March 31, 2012 check if the textures are there for all your LODs.... Share this post Link to post Share on other sites
konyo 14 Posted March 31, 2012 check if the textures are there for all your LODs.... Yeah checked that they were all there, decided to do a search on google with loads of different key words, did eventually find one after about half hour with my answer. I had to select the glass faces and go to Faces > Move to Top & it worked :D Share this post Link to post Share on other sites
konyo 14 Posted March 31, 2012 Add inside your chopper class: Sorry for double post, but ive just realised adding 'class Turrets {};' into the config makes me loose my co-pilot? Share this post Link to post Share on other sites
.kju 3245 Posted April 1, 2012 Try this: class CfgPatches { class kyo_Bravo_November { units[] = {"kyo_Bravo_November"}; weapons[] = {}; requiredVersion = 1.02; requiredAddons[] = {"CAAir","CA_Anims_Char","CAData","CACharacters"}; }; }; class Turrets;//new class MainTurret; class CfgVehicles { class Helicopter; class kyo_Bravo_November: Helicopter { displayName = "Bravo November"; side = 1; scope = 2; faction ="USMC"; crew = "USMC_Soldier_Pilot"; picture = "\kyo_Bravo_November\Ch47\Textura\ch47_ico_ca.paa"; Icon = "\kyo_Bravo_November\Ch47\Textura\icomap_ch47.paa"; vehicleClass = "Air"; simulation = "helicopter"; model = "\kyo_Bravo_November\Bravo_November.p3d"; maxSpeed = 200; accuracy = 9; armor = 40; rotorBig = "vrtule_uh_v"; rotorBigBlend = "vrtule_uh_v_bl"; rotorSmall = "vrtule_uh_m"; rotorSmallBlend = "vrtule_uh_m_bl"; transportSoldier = 26; hasGunner = 0; driverAction = "UH60_Pilot"; soundEngine[] = {"\kyo_Bravo_November\Ch47\Sound\ch47engine",50,1}; cargoAction[] = {"UH60_Cargo02","UH60_Cargo02"}; typicalCargo[] = {"SoldierGPilot","SoldierGPilot","SoldierGPilot","SoldierGPilot"}; nameSound = "chopper"; mainRotorSpeed = 1; backRotorSpeed = 1; minMainRotorDive = -9; maxMainRotorDive = 15; neutralMainRotorDive = -5; minBackRotorDive = -15; maxBackRotorDive = 9; neutralBackRotorDive = -5; selectionHRotorStill = "velka vrtule staticka"; selectionHRotorMove = "velka vrtule blur"; selectionVRotorStill = "mala vrtule staticka"; selectionVRotorMove = "mala vrtule blur"; gearRetracting = 0; transportVehiclesMass = 5000; weapons[] = {"CMFlareLauncher"}; magazines[] = {"120Rnd_CMFlareMagazine"}; class Turrets: Turrets//new { class MainTurret: MainTurret { gunnerOpticsModel = "\ca\weapons\optika_empty"; }; }; class Library { libTextDesc = "Bravo November - The only Chinook to make it off the Atlantic Conveyor before an Exocet missile sunk the Cargo Ship along with its Cargo which was 3 Chinooks. It was was bound for the Falkland Islands in 1982. Since 1982 it has served in the Falkland Islands,Lebanon,Germany,Northern Ireland,Kurdistan,Iraq and Afghanistan. The aircraft has seen four of its pilots awarded the Distinguished Flying Cross for actions whilst in command of Bravo November."; }; class HitLGlass { armor = 1.7; material = -1; name = "sklo predni L"; visual = "sklo predni L"; passThrough = 0; }; class HitRGlass { armor = 1.7; material = 1; name = "sklo predni P"; visual = "sklo predni P"; passThrough = 0; }; dammageHalf[] = {"\kyo_Bravo_November\Ch47\textura\Transp.paa","\kyo_Bravo_November\Ch47\textura\Transp_roto1.paa"}; dammageFull[] = {"\kyo_Bravo_November\Ch47\textura\Transp.paa","\kyo_Bravo_November\Ch47\textura\Transp_roto2.paa"}; class Damage { tex[]={}; mat[]= { "kyo_Bravo_November\Ch47\textura\ch47_body.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat", "kyo_Bravo_November\Ch47\textura\panelinte.rvmat", "kyo_Bravo_November\Ch47\textura\panelinte.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat", "kyo_Bravo_November\Ch47\textura\cargo.rvmat", "kyo_Bravo_November\Ch47\textura\cargo.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat", "kyo_Bravo_November\Ch47\textura\asientos.rvmat", "kyo_Bravo_November\Ch47\textura\asientos.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat", "kyo_Bravo_November\Ch47\textura\asientos.rvmat", "kyo_Bravo_November\Ch47\textura\asientos.rvmat", "kyo_Bravo_November\Ch47\textura\ch47_body_destru1_rv.rvmat" }; }; class AnimationSources { class Ani_Ramp { source = "user"; animPeriod = 2; initPhase = 0; }; }; class UserActions { class LAOpenRear { displayName = "Lower Ramp"; position = "pos pilot"; radius = 10; condition = "(this animationPhase ""Ani_Ramp"" < 0.5)&& (alive this)"; statement = "this animate[""Ani_Ramp"",1]"; onlyforplayer = 1; priority = 4.7; showWindow = 1; }; class CloseRear { displayName = "Raise Ramp"; position = "pos pilot"; radius = 10; condition = "(this animationPhase ""Ani_Ramp"" > 0.5)&& (alive this)"; statement = "this animate[""Ani_Ramp"",0]"; onlyforplayer = 1; priority = 4.7; showWindow = 1; }; }; // ACE specific values ACE_SYS_EJECT_EJECT = 0; ACE_SYS_EJECT_JUMP = 1; }; class Civilian; class ht_rope: Civilian { //Used model: "\ca\buildings\misc\DD_pletivo_sl.p3d"; model = "\kyo_Bravo_November\rope\bone.p3d"; armor = 999999; }; class ht_rope_inv: ht_rope { //Invisible bone for vertical attach model = "\kyo_Bravo_November\Animals\mosquito.p3d"; }; }; Share this post Link to post Share on other sites
Synide 0 Posted April 1, 2012 Isn't the following the BIS prescribed method of sub-class inheritance? class CfgVehicles { class Helicopter { class Turrets { class MainTurret; }; }; class kyo_Bravo_November : Helicopter { ... ... ... class Turrets : Turrets { class MainTurret : MainTurret { gunnerOpticsModel = "\ca\weapons\optika_empty"; }; }; ... ... ... }; }; Share this post Link to post Share on other sites
.kju 3245 Posted April 1, 2012 (edited) BI way is not necessary - its actually only get past an obsolete compiler check Sy. The definition has no effect anyway. a) Either the structure is already present and you only duplicate it b) You define a different one that causes a warning and has no effect c) The structure is not present - either your config is wrong or faulty loading order (requiredAddons) Also this is wrong: class Helicopter { It would had to be class Air;class Helicopter: Air { Edited April 1, 2012 by .kju [PvPscene] Share this post Link to post Share on other sites
Synide 0 Posted April 1, 2012 Yeah, true my bad... with just the 'class Helicopter {' I'd end up updating the base class in my post wouldn't I... think I'll have to start sending my .cpp's to Germany for a bit of 'slap & tickle'. Share this post Link to post Share on other sites