====== ArmA 2 To ArmA 3 Port Vehicles - General ====== [[https://www.pmctactical.org/forum/viewforum.php?f=68|ArmA 3 Forum]], [[:arma3|ArmA 3]], [[arma3:config|ArmA 3 Config]], [[arma3:missions|ArmA 3 Missions]], [[arma3:modeling|ArmA 3 3D Modeling]], [[arma3:scripting|ArmA 3 Scripting]], [[arma3:terrain|ArmA 3 Terrain]], [[arma3:texturing|ArmA 3 Texturing]], [[arma3:tools|ArmA 3 Tools]] Model changes you most likely have to do are proxys. Many proxy:\ca\... paths in your models whether these are driver/cargo/pilot/gunner or weapon proxies. It is the same easy search for "ca\" strings in P3D model paths. Its somewhat difficult to give a guide which arma2 proxy to replace with what ArmA 3 proxy, but here is quick glance of what I did with [[https://www.vtemod.com|Vietnam: The Experience (VTE)]]. Proxy replacements: ^ ArmA 2 Original ^ VTE / ArmA 3 Replacement ^ | \ca\a10\agm65.p3d | \pmc\vte_ordnance\VTE_mk82.p3d | | \ca\air\agm114hellfire.p3d | \pmc\vte_ordnance\VTE_mk82.p3d | | \ca\air\aim9xsidewinder.p3d | \pmc\vte_ordnance\VTE_AIM9_mesh.p3d | | \ca\air\gbu12.p3d | \pmc\vte_ordnance\VTE_mk82.p3d | | \ca\air\mk82_rack.p3d | \pmc\vte_ordnance\VTE_mk82.p3d | | \ca\air_e\aim9xsidewinder.p3d | \pmc\vte_ordnance\VTE_AIM9_mesh.p3d | | \ca\temp\proxies\a10\pilot.001 | \a3\data_f\proxies\pilot_plane_fighter_03\pilot.001 | | \ca\weapons\zasleh_pistol_proxy.001 | \pmc\vte_weapons\zasleh_pistol_proxy.001 | | \ca\weapons\zasleh1_pilot_proxy.p3d | \pmc\vte_weapons\zasleh1_pilot_proxy.p3d | | \ca\weapons\zasleh1_proxy.001 | \pmc\vte_weapons\zasleh1_proxy.001 | | \ca\weapons\zasleh2_pilot_proxy.001 | \pmc\vte_weapons\zasleh2_pilot_proxy.001 | | \ca\weapons\zasleh2_proxy.001 | \pmc\vte_weapons\zasleh2_proxy.001 | | \ca\weapons\zasleh2_proxy.p3d | \pmc\vte_weapons\zasleh2_proxy.p3d | | \ca\wheeled\flag_alone.p3d | \A3\data_f\proxies\Flags\flag_alone.p3d | Like I said, its difficult to give detailed guide which proxies replace what because there is so many different addons and variations of proxies used, hopefully the above gives some idea though. You can find all ArmA 3 proxies from a3\data_f\proxies\ directory. ====== Config ====== Lot of ca\ path changes need to be made as it was common that ArmA 2 addons referenced sounds from ca\ files. Tank Sound Replacements: soundServo[] = {"A3\Sounds_F\vehicles\armor\noises\servo_armor_comm", 1, 1, 30}; soundGetIn[] = {"A3\Sounds_F_EPB\Tracked\noises\get_in_out", 0.56234133, 1}; soundGetOut[] = {"A3\Sounds_F_EPB\Tracked\noises\get_in_out", 0.56234133, 1, 20}; Tank Optics Replacements: gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F"; or commander with \A3\weapons_f\reticle\Optics_Commander_02_F gunnerOutOpticsModel = ""; Artillery Optics Replacements: gunnerOpticsModel = "\A3\Weapons_F\acc\reticle_Mortar_01_F.p3d"; General path changes: *.?pp,*.rvmat,*.bisurf,*.p3d search for ca\ Model in this example is the Arma 3 Samples\Addons\Test_Heli_01\Test_Heli_01.p3d\\ proxy: \a3\Data_f\proxies\Heli_Light_02\Pilot \a3\Data_f\proxies\Heli_Light_02\gunner \a3\Data_f\proxies\Heli_Light_02\Cargo You need to comment out or replace these from arma2: driverAction = "AH1Z_Pilot"; driverInAction = "AH1Z_Pilot"; They do not work, you cannot get in to your vehicle if you have incorrect driverAction etc configs.\\ Tank actions: driverAction = "driver_apctracked3_out"; driverInAction = "driver_apctracked3_in"; gunnerAction = "commander_mbt3_out"; gunnerAction = "gunner_mbt3_out"; gunnerInAction = "commander_mbt3_in"; gunnerInAction = "gunner_mbt3_in"; Truck actions: driverAction = "driver_Truck_02"; getInAction = "GetInMRAP_01"; getOutAction = "GetOutLow"; Static actions: gunnerAction = "gunner_static_low01"; gunnerAction = "gunner_standup01"; gunnerAction = "Disabled"; gunnerAction = "gunner_staticlauncher"; gunnerAction = "Mortar_Gunner"; It is very important to get your base inheritance class correct if you have many vehicles which inherits. Don't try to fix one vehicle at the time, TEST with one vehicle but fix your BASE inheritance class first. Aircraft or helicopter gunner proxy needs to be how the chracter is positioned, then you need config.cpp properties for the turret which this gunner mans: gunnerAction = "pilot_Heli_Transport_01"; gunnerInAction = "pilot_Heli_Transport_01"; If you leave out the config so its wrong (for example from arma2) then gunner will take basic standing pose / animation. Also if the gunner proxy is wrong, the gunner of course takes the pose / animation which looks off to such gunner.