Advertisement
Lurker1011

CfgV

Jun 26th, 2021
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 12.42 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 LandVehicle;
  6.     class Tank: LandVehicle {
  7.         class NewTurret;
  8.         class Sounds;
  9.         class HitPoints;
  10.     };
  11.     class Tank_F: Tank {
  12.         class Turrets {
  13.             class MainTurret:NewTurret {
  14.                 class Turrets {
  15.                     class CommanderOptics;
  16.                 };
  17.             };
  18.         };
  19.         class AnimationSources;
  20.         class ViewPilot;
  21.         class ViewOptics;
  22.         class ViewCargo;
  23.         class HeadLimits;
  24.         class HitPoints: HitPoints {
  25.             class HitHull;
  26.             class HitEngine;
  27.             class HitLTrack;
  28.             class HitRTrack;
  29.         };
  30.         class Sounds: Sounds {
  31.             class Engine;
  32.             class Movement;
  33.         };
  34.     };
  35.     /*  A3 DEFAULT INHERITANCE TREE END */
  36.  
  37.     /*  Base class  */
  38.     // Include as many unique defines and classes common for all your vehicle classes as possible.
  39.     class PLZ05_base: Tank_F {
  40.         // Basic defines: vehicle class in editor, name displayed, knowledge required to recognize this type of target
  41. //      vehicleClass = "Armored";
  42.         displayName = "PLZ05";
  43. //      accuracy = 0.3;
  44.         mapSize=11.62;
  45.         // Model and look defines: paths to model, squad picture and map icon
  46.         model = "\PLZ05\PLZ05";
  47.         picture =   "\A3\armor_f_gamma\MBT_02\Data\UI\MBT_02_Base_ca.paa";
  48.         icon =  "\A3\armor_f_gamma\MBT_02\Data\UI\map_MBT_02_ca.paa";
  49.         features="Randomization: No                     <br />Camo selections: 4 - hull, main turret, accessories, RCWS turret                      <br />Script door sources: None                     <br />Script animations: None                       <br />Executed scripts: None                        <br />Firing from vehicles: No                      <br />Slingload: No                     <br />Cargo proxy indexes: None";
  50.         editorSubcategory="EdSubcat_Artillery";
  51.         #include "physx.hpp"
  52.         weaponsGroup1=2;
  53.         weaponsGroup2="1 +      4";
  54.         weaponsGroup3="8 +  16 +    32";
  55.         weaponsGroup4="64 +         128";
  56.         // AI references
  57.         unitInfoType="RscUnitInfoArtillery";
  58.         transportSoldier=0;
  59.         armor=425;
  60.         armorStructural=4.5;
  61.         artilleryScanner=1;
  62.         availableForSupportTypes[]=
  63.         {
  64.             "Artillery"
  65.         };
  66.  
  67.         class HitPoints: HitPoints {
  68.             class HitHull: HitHull {    // Handle internal damage
  69.                 armor=0.8;
  70.                 material=-1;
  71.                 name="telo";
  72.                 visual="zbytek";
  73.                 passThrough=1;
  74.                 minimalHit = 0.14;
  75.                 explosionShielding = 2.0;
  76.                 radius = 0.25;
  77.             };
  78.             class HitEngine: HitEngine {
  79.                 armor=1;
  80.                 material=-1;
  81.                 name="motor";
  82.                 passThrough=0.8;
  83.                 minimalHit = 0.24;
  84.                 explosionShielding = 1;
  85.                 radius = 0.33;
  86.             };
  87.             class HitLTrack: HitLTrack {
  88.                 armor=0.5;
  89.                 material=-1;
  90.                 name="pas_L";
  91.                 passThrough=0;
  92.                 minimalHit = 0.08;
  93.                 explosionShielding = 1.44;
  94.                 radius = 0.3;
  95.             };
  96.             class HitRTrack: HitRTrack {
  97.                 armor=0.5;
  98.                 material=-1;
  99.                 name="pas_P";
  100.                 passThrough=0;
  101.                 minimalHit = 0.08;
  102.                 explosionShielding = 1.44;
  103.                 radius = 0.3;
  104.             };
  105.         };
  106.         class Turrets: Turrets {
  107.             class MainTurret: MainTurret {
  108.                 class Turrets: Turrets {
  109.                     class CommanderOptics: CommanderOptics {
  110.                         // Animation class
  111.                         body = "obsTurret";
  112.                         gun = "obsGun";
  113.  
  114.                         // Animation source
  115.                         animationSourceBody = "obsTurret";
  116.                         animationSourceGun = "obsGun";
  117.  
  118.                         // Servos
  119.                         maxHorizontalRotSpeed = 3.6;    // 1 = 45°/sec
  120.                         maxVerticalRotSpeed = 3.6;      // 1 = 45°/sec
  121.                         stabilizedInAxes = StabilizedInAxesBoth;
  122.                         soundServo[]= {"A3\Sounds_F\vehicles\armor\noises\servo_best", db-40, 1.0,50};
  123.                         minElev=-05;
  124.                         maxElev=+80;
  125.                         initElev=0;
  126.                         minTurn=-360;
  127.                         maxTurn=+360;
  128.                         initTurn=0;
  129.  
  130.                         // Weapon and magazines
  131.                         memoryPointGun = "usti hlavne2";
  132.                         gunBeg = "usti hlavne1";
  133.                         gunEnd = "konec hlavne1";
  134.                         weapons[] = { SmokeLauncher};   // you may need different weapon class to provide firing effects emit from proper position.
  135.                         magazines[] = {SmokeLauncherMag};
  136.  
  137.  
  138.                         // FCS
  139.                         turretInfoType = "RscWeaponRangeZeroing";
  140.                         discreteDistance[] = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500};
  141.                         discreteDistanceInitIndex = 2;
  142.  
  143.                         // Optics view
  144.                         memoryPointGunnerOutOptics = "commanderview";
  145.                         memoryPointGunnerOptics= "commanderview";
  146.                         gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Commander_02_F";
  147.                         gunnerOutOpticsModel = "";  // leave "" to disable optics view
  148.                         gunnerOpticsEffect[] = {};  // post processing effets
  149.                         gunnerHasFlares = 1;    // flare visual effect when looking at light source
  150.                         class ViewOptics: ViewOptics {
  151.                             initAngleX=0;
  152.                             minAngleX=-30;
  153.                             maxAngleX=+30;
  154.                             initAngleY=0;
  155.                             minAngleY=-100;
  156.                             maxAngleY=+100;
  157.                             // Field of view values: 1 = 120°
  158.                             initFov=0.155;
  159.                             minFov=0.034;
  160.                             maxFov=0.155;
  161.                             visionMode[] = {"Normal","TI"};
  162.                             thermalMode[] = {0,1};
  163.                         };
  164.  
  165.                         // Gunner operations
  166.                         gunnerAction = "Gunner_APC_tracked_02_aa_F_out";
  167.                         gunnerInAction = "Gunner_APC_tracked_02_aa_F_in";
  168.                         gunnerGetInAction = GetInHigh;
  169.                         gunnerGetOutAction = GetOutHigh;
  170.                         startEngine = 0;    // Turning this turret should not turn engine on.
  171.                         viewGunnerInExternal = 1; // Needed to make gunner possible to be killed with penetrating rounds.
  172.                         outGunnerMayFire = 1;   // Turn off to make player able to look around freely outside optics view.
  173.                         inGunnerMayFire = 1;    // Turn off to make player able to look around freely outside optics view.
  174.  
  175.                         class HitPoints {
  176.                             class HitTurret {
  177.                                 armor = 0.3;
  178.                                 material = -1;
  179.                                 name = "vezVelitele";
  180.                                 visual="vezVelitele";
  181.                                 passThrough = 0;
  182.                                 minimalHit = 0.03;
  183.                                 explosionShielding = 0.6;
  184.                                 radius = 0.25;
  185.                             };
  186.                             class HitGun    {
  187.                                 armor = 0.3;
  188.                                 material = -1;
  189.                                 name = "zbranVelitele";
  190.                                 visual="zbranVelitele";
  191.                                 passThrough = 0;
  192.                                 minimalHit = 0.03;
  193.                                 explosionShielding = 0.6;
  194.                                 radius = 0.25;
  195.                             };
  196.                         };
  197.  
  198.                     };
  199.                 };
  200.                 animationSourceHatch="hatchCommander";
  201.                 gunnerAction="Gunner_MBT_02_arty_F_out";
  202.                 gunnerInAction="Gunner_MBT_02_arty_F_in";
  203.                 selectionFireAnim="";
  204.                 gunBeg="Usti hlavne3";
  205.                 gunEnd="Konec hlavne3";
  206.                 weapons[]=
  207.                 {
  208.                     "mortar_155mm_AMOS"
  209.                 };
  210.                 magazines[]=
  211.                 {
  212.                     "32Rnd_155mm_Mo_shells_O",
  213.                     "2Rnd_155mm_Mo_guided_O",
  214.                     "6Rnd_155mm_Mo_mine_O",
  215.                     "2Rnd_155mm_Mo_Cluster_O",
  216.                     "6Rnd_155mm_Mo_smoke_O",
  217.                     "4Rnd_155mm_Mo_LG_O",
  218.                     "6Rnd_155mm_Mo_AT_mine_O"
  219.                 };
  220.                 soundServo[]=
  221.                 {
  222.                     "A3\Sounds_F\vehicles\armor\noises\servo_armor_gunner",
  223.                     0.15848932,
  224.                     1,
  225.                     50
  226.                 };
  227.                 soundServoVertical[]=
  228.                 {
  229.                     "A3\Sounds_F\vehicles\armor\noises\servo_armor_gunner_vertical",
  230.                     0.15848932,
  231.                     1,
  232.                     50
  233.                 };
  234.                 minElev=-5;
  235.                 maxElev=80;
  236.                 initElev=10;
  237.                 maxCamElev=30;
  238.                 elevationMode=3;
  239.                 maxHorizontalRotSpeed=0.77999997;
  240.                 maxVerticalRotSpeed=0.25999999;
  241.                 memoryPointGunnerOptics="gunnerview";
  242.                 cameraDir="look";
  243.                 turretInfoType="RscWeaponRangeArtilleryAuto";
  244.                 gunnerForceOptics=0;
  245.                 forceHideGunner=0;
  246.                 commanding=1;
  247.                 class OpticsIn {
  248.                     class Wide: ViewOptics {
  249.                         initAngleX=0;
  250.                         minAngleX=-30;
  251.                         maxAngleX=+30;
  252.                         initAngleY=0;
  253.                         minAngleY=-100;
  254.                         maxAngleY=+100;
  255.                         initFov=0.3;
  256.                         minFov=0.3;
  257.                         maxFov=0.3;
  258.                         visionMode[] = {"Normal","NVG"};
  259.                         thermalMode[] = {4,5}; //red hot chilli
  260.                         gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_MTB_02_w_F.p3d";
  261.                         gunnerOpticsEffect[] = {};
  262.                     };
  263.                     class Medium: Wide {
  264.                         gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_MTB_02_m_F.p3d";
  265.                         initFov=0.07;
  266.                         minFov=0.07;
  267.                         maxFov=0.07;
  268.                     };
  269.                     class Narrow: Wide {
  270.                         gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_MTB_02_n_F.p3d";
  271.                         initFov=0.028;
  272.                         minFov=0.028;
  273.                         maxFov=0.028;
  274.                     };
  275.                 };
  276.  
  277.  
  278.                 class HitPoints {
  279.                     class HitTurret {
  280.                         armor = 0.8;
  281.                         material = -1;
  282.                         name = "vez";
  283.                         visual="vez";
  284.                         passThrough = 0;
  285.                         minimalHit = 0.02;
  286.                         explosionShielding = 0.3;
  287.                         radius = 0.25;
  288.                     };
  289.                     class HitGun    {
  290.                         armor = 0.3;
  291.                         material = -1;
  292.                         name = "zbran";
  293.                         visual="";
  294.                         passThrough = 0;
  295.                         minimalHit = 0;
  296.                         explosionShielding = 1;
  297.                         radius = 0.25;
  298.                     };
  299.                 };
  300.             };
  301.         };
  302.        
  303.         driverOpticsModel="\A3\weapons_f\reticle\optics_empty";
  304.         viewDriverInExternal=1;
  305.         LODDriverTurnedOut=0;
  306.         driverInfoPanelCameraPos="driverview";
  307.         driverAction="Driver_MBT_03_cannon_F_out";
  308.         driverInAction="Driver_MBT_03_cannon_F_in";
  309.         driverLeftHandAnimName="drivewheel";
  310.         driverRightHandAnimName="drivewheel";
  311.         driverLeftLegAnimName="pedal_brake";
  312.         driverRightLegAnimName="pedal_thrust";
  313.         /* RETEXTURABILITY  */
  314.         /*
  315.             hiddenSelections[] ={"Camo1","Camo2"};
  316.             hiddenSelectionsTextures[] = {"A3\armor_f_gamma\MBT_01\Data\MBT_01_body_CO.paa","A3\armor_f_gamma\MBT_01\Data\MBT_01_tow_CO.paa"};
  317.         */
  318.  
  319.  
  320.         class AnimationSources : AnimationSources
  321.         {
  322.             class muzzle_rot_cannon {source = "ammorandom"; weapon = "autocannon_35mm";};
  323.             class recoil_source {source = "reload"; weapon = "autocannon_35mm";};
  324.         };
  325.  
  326.         // Damage textures - for sections: zbytek, vez, zbran, vezVelitele, zbranVelitele,
  327.         class Damage {
  328.             tex[] = {};
  329.             mat[] = {
  330.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02.rvmat",
  331.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_damage.rvmat",
  332.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_destruct.rvmat",
  333.  
  334.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body.rvmat",
  335.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body_damage.rvmat",
  336.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_body_destruct.rvmat",
  337.  
  338.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks.rvmat",
  339.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks_damage.rvmat",
  340.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_tracks_destruct.rvmat",
  341.  
  342.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret.rvmat",
  343.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret_damage.rvmat",
  344.                 "A3\Armor_F_Gamma\MBT_02\Data\MBT_02_turret_destruct.rvmat",
  345.  
  346.                 "A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher.rvmat",
  347.                 "A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher_damage.rvmat",
  348.                 "A3\Armor_F_Gamma\MBT_01\Data\MBT_01_scorcher_destruct.rvmat"
  349.             };
  350.         };
  351.  
  352.         smokeLauncherGrenadeCount = 8; //Number of smoke shells launched at once
  353.         smokeLauncherVelocity = 14; //Velocity which smoke shells are launched at
  354.         smokeLauncherOnTurret = 1; //0 if smoke launchers are on hull, 1 if on turret
  355.         smokeLauncherAngle = 120; //Angle within which smoke grenades are launched (actual spacing may end up smaller so use slighty higher number)
  356.  
  357.         class ViewOptics: ViewOptics {
  358.             visionMode[] = {"Normal","NVG"};
  359.         };
  360.  
  361.         class Exhausts {
  362.             class Exhaust1 {
  363.                 position = "exhaust";
  364.                 direction = "exhaust_dir";
  365.                 effect = "ExhaustEffectTankBack";
  366.             };
  367.         };
  368.  
  369.         class Reflectors {
  370.             class Left {
  371.                 color[]     = {1900, 1300, 950};
  372.                 ambient[]   = {5,5,5};
  373.                 position    = "Light_L";
  374.                 direction   = "Light_L_end";
  375.                 hitpoint    = "Light_L";
  376.                 selection   = "Light_L";
  377.                 size        = 1;
  378.                 innerAngle  = 100;
  379.                 outerAngle  = 179;
  380.                 coneFadeCoef = 10;
  381.                 intensity   = 1; //17.5
  382.                 useFlare    = 0;
  383.                 dayLight    = 0;
  384.                 flareSize   = 1.0;
  385.                 class Attenuation {
  386.                     start       = 1.0;
  387.                     constant    = 0;
  388.                     linear      = 0;
  389.                     quadratic   = 0.25;
  390.                     hardLimitStart = 30;
  391.                     hardLimitEnd = 60;
  392.                 };
  393.             };
  394.             class Right: Left {
  395.                 position    = "Light_R";
  396.                 direction   = "Light_R_end";
  397.                 hitpoint    = "Light_R";
  398.                 selection   = "Light_R";
  399.             };
  400.             class Right2: Right {
  401.                 position    = "light_R_flare";
  402.                 useFlare    = 1;
  403.             };
  404.             class Left2: Left {
  405.                 position    = "light_L_flare";
  406.                 useFlare    = 1;
  407.             };
  408.         };
  409.         aggregateReflectors[] = {{"Left","Right","Left2","Right2"}};
  410.     };
  411.  
  412.     /*  Faction variants    */
  413.     class O_PLZ05_base: PLZ05_base {
  414.         // Basic defines:knowledge required to recognize this type of target
  415.         accuracy = 0.5;
  416.         // Faction defines: side ID, faction class, crew, typical cargo
  417.         side = 0;
  418.         faction = "BIS_Tutorial";
  419.         crew = "O_crew_F";
  420.         typicalCargo[] = {"O_crew_F"};
  421.     };
  422.  
  423.     /*  Public class    */
  424.     class O_PLZ05: O_PLZ05_base {
  425.         scope = 2;
  426.         scopeCurator = 2;       // 2 means available from Zeus, whereas 0 means hidden
  427.         // Editor displayname
  428.         accuracy = 1000;    // accuracy > 4 is not possible to be fully recognized during game
  429.         displayName = "PLZ05";  // due to above will show only in editor
  430.     };
  431. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement