Advertisement
Lurker1011

ZTL11_CfgVehicle

Aug 11th, 2021
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.01 KB | None | 0 0
  1. /* Vehicle classes */
  2. class CfgVehicles {
  3. /* A3 DEFAULT INHERITANCE TREE START */
  4. // Do not modify the inheritance tree, unless you want to alter game's internal configs, or REALLY know what you're doing.
  5. class Car;
  6. class Car_F: Car
  7. {
  8. class Sounds;
  9. class HitPoints
  10. {
  11. class HitBody;
  12. class HitEngine;
  13. class HitFuel;
  14. class HitHull;
  15. class HitLFWheel;
  16. class HitLBWheel;
  17. class HitLMWheel;
  18. class HitLF2Wheel;
  19. class HitRFWheel;
  20. class HitRBWheel;
  21. class HitRMWheel;
  22. class HitRF2Wheel;
  23. };
  24. };
  25. class Wheeled_APC_F: Car_F
  26. {
  27. class ViewPilot;
  28. class ViewOptics;
  29. class ViewCargo;
  30. class Sounds: Sounds
  31. {
  32. class Engine;
  33. class Movement;
  34. };
  35. class NewTurret;
  36. class Turrets
  37. {
  38. class MainTurret: NewTurret
  39. {
  40. class ViewOptics;
  41. class ViewGunner;
  42. class Turrets
  43. {
  44. class CommanderOptics;
  45. };
  46. };
  47. };
  48. class AnimationSources;
  49. };
  50.  
  51. /* A3 DEFAULT INHERITANCE TREE END */
  52.  
  53. /* Base class */
  54. // Include as many unique defines and classes common for all your vehicle classes as possible.
  55. class ZTL11_base: Wheeled_APC_F {
  56. // Basic defines: vehicle class in editor, name displayed, knowledge required to recognize this type of target
  57. editorSubcategory="EdSubcat_APCs";
  58. displayName = "ZTL11";
  59. accuracy = 0.3;
  60.  
  61. // Model and look defines: paths to model, squad picture and map icon
  62. model = "\ZTL11\ZTL11";
  63. picture = "\A3\armor_f_gamma\MBT_02\Data\UI\MBT_02_Base_ca.paa";
  64. icon = "\A3\armor_f_gamma\MBT_02\Data\UI\map_MBT_02_ca.paa";
  65.  
  66. #include "sounds.hpp" // not covered by this tutorial
  67. #include "physx.hpp"
  68.  
  69. // AI references
  70. cost = 1500000;
  71. damageResistance = 0.02;
  72. crewVulnerable = false;
  73. transportSoldier=0;
  74. // Damage setup
  75. armor = 500;
  76. armorStructural = 5; // Two hulls of same type should take same amount of damage. Use armorStructural to counter the effect of vehicle size on its armor.
  77.  
  78. // Weak spots parameters
  79. // name: selection in HitPoints LOD - create selections first!
  80. // radius: radius of weak spot spheres generated around vertices in HitPoints LOD, tweak before armor
  81. // armor: multiplier of total vehicle armor required to destroy given component, tweak after radius
  82. // explosionShielding: multiplier of damage caused by explosive rounds, tweak after armor
  83. // minimalHit: minimum hit required to receive damage, tweak after explosionSielding
  84. // passThrough: how much damage is passed to total vehicle damage
  85. // visual: section in Resource LODs and CfgModels section of model.cfg
  86. // material: unneeded, leave at -1
  87.  
  88. // The values are sample. Every vehicle needs to be finetuned separately.
  89. class HitPoints: HitPoints {
  90. class HitHull: HitHull { // Handle internal damage
  91. armor=0.8;
  92. material=-1;
  93. name="telo";
  94. visual="zbytek";
  95. passThrough=1;
  96. minimalHit = 0.14;
  97. explosionShielding = 2.0;
  98. radius = 0.25;
  99. };
  100. class HitEngine: HitEngine {
  101. armor=1;
  102. material=-1;
  103. name="motor";
  104. passThrough=0.8;
  105. minimalHit = 0.24;
  106. explosionShielding = 1;
  107. radius = 0.33;
  108. };
  109. /* class HitLFWheel
  110. {
  111. radius=0.33000001;
  112. visual="koloL1";
  113. armorComponent="koloL1";
  114. armor=-250;
  115. minimalHit=-0.016000001;
  116. explosionShielding=4;
  117. passThrough=0;
  118. };*/
  119. class HitFuel: HitFuel
  120. {
  121. armor=0.5;
  122. material=-1;
  123. armorComponent="hit_fuel";
  124. name="hit_fuel_point";
  125. visual="-";
  126. passThrough=0.30000001;
  127. minimalHit=0.1;
  128. explosionShielding=0.60000002;
  129. radius=0.16;
  130. };
  131.  
  132. };
  133. class Turrets: Turrets {
  134. class MainTurret: MainTurret {
  135. class Turrets: Turrets {
  136. class CommanderOptics: CommanderOptics {
  137. // Animation class
  138. body = "obsTurret";
  139. gun = "obsGun";
  140.  
  141. // Animation source
  142. animationSourceBody = "obsTurret";
  143. animationSourceGun = "obsGun";
  144.  
  145. // Servos
  146. maxHorizontalRotSpeed = 1.8; // 1 = 45°/sec
  147. maxVerticalRotSpeed = 1.8; // 1 = 45°/sec
  148. stabilizedInAxes = 3;
  149. soundServo[]= {"A3\Sounds_F\vehicles\armor\noises\servo_best", db-40, 1.0,50};
  150. minElev=-05;
  151. maxElev=+30;
  152. initElev=0;
  153. minTurn=-360;
  154. maxTurn=+360;
  155. initTurn=0;
  156.  
  157. // Weapon and magazines
  158. memoryPointGun = "usti hlavne2";
  159. gunBeg = "usti hlavne2";
  160. gunEnd = "konec hlavne2";
  161. weapons[] = {Laserdesignator_vehicle, SmokeLauncher}; // you may need different weapon class to provide firing effects emit from proper position.
  162. magazines[] = {Laserbatteries, SmokeLauncherMag};
  163.  
  164.  
  165. // FCS
  166. turretInfoType = "RscWeaponRangeZeroing";
  167. discreteDistance[] = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500};
  168. discreteDistanceInitIndex = 2;
  169.  
  170. // Optics view
  171. memoryPointGunnerOutOptics = "commanderview";
  172. memoryPointGunnerOptics= "commanderview";
  173. gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Commander_02_F";
  174. gunnerOutOpticsModel = ""; // leave "" to disable optics view
  175. gunnerOpticsEffect[] = {}; // post processing effets
  176. gunnerHasFlares = 1; // flare visual effect when looking at light source
  177. gunnerForceOptics = 1;
  178. isPersonTurret=0;
  179. // turretFollowFreeLook=2;
  180.  
  181.  
  182. class ViewOptics: ViewOptics {
  183. initAngleX=0;
  184. minAngleX=-30;
  185. maxAngleX=+30;
  186. initAngleY=0;
  187. minAngleY=-100;
  188. maxAngleY=+100;
  189. // Field of view values: 1 = 120°
  190. initFov=0.155;
  191. minFov=0.034;
  192. maxFov=0.155;
  193. visionMode[] = {"Normal","TI"};
  194. thermalMode[] = {0,1};
  195. };
  196.  
  197. // Gunner operations
  198. gunnerAction = mbt2_slot2b_out;
  199. gunnerInAction = mbt2_slot2b_in;
  200. gunnerGetInAction ="GetInAMV_cargo";
  201. gunnerGetOutAction = "GetOutLow";
  202. startEngine = 0; // Turning this turret should not turn engine on.
  203. viewGunnerInExternal = 1; // Needed to make gunner possible to be killed with penetrating rounds.
  204. outGunnerMayFire = 0; // Turn off to make player able to look around freely outside optics view.
  205. inGunnerMayFire = 1; // Turn off to make player able to look around freely outside optics view.
  206. // isPersonTurret=2;
  207.  
  208. class HitPoints {
  209. class HitTurret {
  210. armor = 0.3;
  211. material = -1;
  212. name = "vezVelitele";
  213. visual="vezVelitele";
  214. passThrough = 0;
  215. minimalHit = 0.03;
  216. explosionShielding = 0.6;
  217. radius = 0.25;
  218. };
  219. /* class HitGun {
  220. armor = 0.3;
  221. material = -1;
  222. name = "zbranVelitele";
  223. visual="zbranVelitele";
  224. passThrough = 0;
  225. minimalHit = 0.03;
  226. explosionShielding = 0.6;
  227. radius = 0.25;
  228. };*/
  229. };
  230. selectionFireAnim = "zasleh3";
  231. };
  232. };
  233.  
  234. // Coaxial gun
  235. memoryPointGun = "usti hlavne3";
  236. selectionFireAnim = "zasleh";
  237.  
  238. // Main gun
  239. gunBeg = "usti hlavne";
  240. gunEnd = "konec hlavne";
  241.  
  242. // Weapons and magazines
  243. weapons[]=
  244. {
  245. "cannon_105mm_LK",
  246. "LMG_coax"
  247. };
  248. magazines[]={
  249. "20Rnd_105mm_APFSDS",
  250. "16Rnd_105mm_HEAT_MP",
  251. "200Rnd_762x51_Belt_Green",
  252. "200Rnd_762x51_Belt_Green",
  253. "200Rnd_762x51_Belt_Green",
  254. "200Rnd_762x51_Belt_Green",
  255. "200Rnd_762x51_Belt_Green"
  256.  
  257. };
  258.  
  259. // Turret servos
  260. minElev=-5;
  261. maxElev=+20;
  262. initElev=10;
  263. soundServo[]= {"A3\Sounds_F\vehicles\armor\noises\servo_best", db-40, 1.0,50};
  264.  
  265. // FCS
  266. turretInfoType = "RscWeaponRangeZeroing";
  267. discreteDistance[] = {
  268. 100,200,300,400,500,600,700,800,
  269. 900,1000,1100,1200,1300,1400,1500,1600,
  270. 1700,1800,1900,2000,2100,2200,2300,2400
  271. };
  272. discreteDistanceInitIndex = 5; // start at 600 meters
  273.  
  274. // Optics view
  275. memoryPointGunnerOptics= "gunnerview";
  276. gunnerOutOpticsModel = "";
  277. gunnerOutOpticsEffect[] = {};
  278. gunnerOpticsEffect[] = {};
  279. gunnerForceOptics = 1;
  280. LODTurnedIn=1;
  281. LODTurnedOut=1;
  282. LODOpticsIn=0;
  283.  
  284. // Field of view values: 1 = 120°
  285. class OpticsIn {
  286. class Wide: ViewOptics {
  287. initAngleX=0;
  288. minAngleX=-30;
  289. maxAngleX=+30;
  290. initAngleY=0;
  291. minAngleY=-100;
  292. maxAngleY=+100;
  293. initFov=0.3;
  294. minFov=0.3;
  295. maxFov=0.3;
  296. visionMode[] = {"Normal","Ti"};
  297. thermalMode[] = {4,5}; //red hot chilli
  298. gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_MTB_02_w_F.p3d";
  299. gunnerOpticsEffect[] = {};
  300. };
  301. class Medium: Wide {
  302. gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_MTB_02_m_F.p3d";
  303. initFov=0.07;
  304. minFov=0.07;
  305. maxFov=0.07;
  306. };
  307. class Narrow: Wide {
  308. gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_MTB_02_n_F.p3d";
  309. initFov=0.028;
  310. minFov=0.028;
  311. maxFov=0.028;
  312. };
  313. };
  314.  
  315. // Gunner operations and animations
  316. gunnerAction = mbt2_slot2a_out;
  317. gunnerInAction = mbt2_slot2a_in;
  318. forceHideGunner = 0;
  319. inGunnerMayFire = 1; // set to 0 to let gunner look around the internal compartment if modeled
  320. viewGunnerInExternal = 1; // Needed to make gunner possible to be killed with penetrating rounds.
  321. gunnerGetInAction="GetInAMV_cargo";
  322. gunnerGetOutAction="GetOutLow";
  323. LODTurnedIn=1;
  324. LODTurnedOut=1;
  325.  
  326. class HitPoints {
  327. class HitTurret {
  328. armor = 0.8;
  329. material = -1;
  330. name = "vez";
  331. visual="vez";
  332. passThrough = 0;
  333. minimalHit = 0.02;
  334. explosionShielding = 0.3;
  335. radius = 0.25;
  336. };
  337. class HitGun {
  338. armor = 0.3;
  339. material = -1;
  340. name = "zbran";
  341. visual="";
  342. passThrough = 0;
  343. minimalHit = 0;
  344. explosionShielding = 1;
  345. radius = 0.25;
  346. };
  347. };
  348. };
  349. };
  350. driverOpticsModel="\A3\weapons_f\reticle\optics_empty";
  351. viewDriverInExternal=1;
  352. LODDriverTurnedOut=0;
  353. LODDriverTurnedIn = -1;
  354. LODDriverOpticsIn=-1;
  355. driverInfoPanelCameraPos="driverview";
  356. memoryPointDriverOptics="driverview";
  357. driverAction="Driver_APC_Wheeled_03_cannon_F_out";
  358. driverInAction="Driver_APC_Wheeled_03_cannon_F_in";
  359. driverLeftHandAnimName="drivewheel";
  360. driverRightHandAnimName="drivewheel";
  361. driverLeftLegAnimName="pedal_brake";
  362. driverRightLegAnimName="pedal_thrust";
  363. driverForceOptics = 1;
  364. forceHideDriver=0;
  365.  
  366.  
  367.  
  368.  
  369.  
  370. class AnimationSources : AnimationSources
  371. {
  372. class muzzle_rot_cannon {source = "ammorandom"; weapon = "cannon_105mm_LK";};
  373. class muzzle_rot_coax {source = "ammorandom"; weapon = "LMG_coax";};
  374. class muzzle_rot_HMG {source = "ammorandom"; weapon = "HMG_QJC88";};
  375. class recoil_source {source = "reload"; weapon = "cannon_105mm_LK";};
  376. };
  377.  
  378. // Damage textures - for sections: zbytek, vez, zbran, vezVelitele, zbranVelitele,
  379. class Damage {
  380. tex[] = {};
  381. mat[] = {
  382. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02.rvmat",
  383. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_damage.rvmat",
  384. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_destruct.rvmat",
  385.  
  386. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body.rvmat",
  387. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body_damage.rvmat",
  388. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body_destruct.rvmat",
  389.  
  390. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks.rvmat",
  391. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks_damage.rvmat",
  392. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks_destruct.rvmat",
  393.  
  394. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret.rvmat",
  395. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret_damage.rvmat",
  396. "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret_destruct.rvmat",
  397.  
  398. "A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher.rvmat",
  399. "A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher_damage.rvmat",
  400. "A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher_destruct.rvmat"
  401. };
  402. };
  403.  
  404. smokeLauncherGrenadeCount = 8; //Number of smoke shells launched at once
  405. smokeLauncherVelocity = 14; //Velocity which smoke shells are launched at
  406. smokeLauncherOnTurret = 1; //0 if smoke launchers are on hull, 1 if on turret
  407. smokeLauncherAngle = 120; //Angle within which smoke grenades are launched (actual spacing may end up smaller so use slighty higher number)
  408.  
  409. class ViewOptics: ViewOptics {
  410. visionMode[] = {"Normal","NVG"};
  411. };
  412.  
  413. class Exhausts {
  414. class Exhaust1 {
  415. position = "exhaust";
  416. direction = "exhaust_dir";
  417. effect = "ExhaustEffectTankBack";
  418. };
  419. };
  420.  
  421. class Reflectors {
  422. class Left {
  423. color[] = {1900, 1300, 950};
  424. ambient[] = {5,5,5};
  425. position = "Light_L";
  426. direction = "Light_L_end";
  427. hitpoint = "Light_L";
  428. selection = "Light_L";
  429. size = 1;
  430. innerAngle = 100;
  431. outerAngle = 179;
  432. coneFadeCoef = 10;
  433. intensity = 1; //17.5
  434. useFlare = 0;
  435. dayLight = 0;
  436. flareSize = 1.0;
  437. class Attenuation {
  438. start = 1.0;
  439. constant = 0;
  440. linear = 0;
  441. quadratic = 0.25;
  442. hardLimitStart = 30;
  443. hardLimitEnd = 60;
  444. };
  445. };
  446. class Right: Left {
  447. position = "Light_R";
  448. direction = "Light_R_end";
  449. hitpoint = "Light_R";
  450. selection = "Light_R";
  451. };
  452. class Right2: Right {
  453. position = "light_R_flare";
  454. useFlare = 1;
  455. };
  456. class Left2: Left {
  457. position = "light_L_flare";
  458. useFlare = 1;
  459. };
  460. };
  461. aggregateReflectors[] = {{"Left","Right","Left2","Right2"}};
  462. };
  463.  
  464. /* Faction variants */
  465. class O_ZTL11_base: ZTL11_base {
  466. // Basic defines:knowledge required to recognize this type of target
  467. accuracy = 0.5;
  468. // Faction defines: side ID, faction class, crew, typical cargo
  469. side = 0;
  470. faction = "BIS_Tutorial";
  471. crew = "O_crew_F";
  472. typicalCargo[] = {"O_crew_F"};
  473. };
  474.  
  475. /* Public class */
  476. class O_ZTL11: O_ZTL11_base {
  477. scope = 2;
  478. scopeCurator = 2; // 2 means available from Zeus, whereas 0 means hidden
  479. // Editor displayname
  480. accuracy = 1000; // accuracy > 4 is not possible to be fully recognized during game
  481. displayName = "ZTL11"; // due to above will show only in editor
  482. };
  483. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement