CfgVehicles Config Reference: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(changed links to what floats etc are to keep away from comref)
mNo edit summary
Line 45: Line 45:
Used in: cfg'''Non'''AiVehicles
Used in: cfg'''Non'''AiVehicles


''[[IntegerTokenNames|Integer]:'' metres per second
''[[IntegerTokenNames|Integer]]:'' metres per second
  acceleration = 7;
  acceleration = 7;
==accuracy==
==accuracy==
''[[IntegerTokenNames|Integer]:''  
''[[IntegerTokenNames|Integer]]:''  
  accuracy = 0.5;
  accuracy = 0.5;
==aileronSensitivity==
==aileronSensitivity==
Line 58: Line 58:
   ambient[] = {0.070000,0.070000,0.070000,1.000000};
   ambient[] = {0.070000,0.070000,0.070000,1.000000};
==animationOpen==
==animationOpen==
[[StringTokenNames|String]
[[StringTokenNames|String]]
   animationOpen = "\AnyAddon\AnyRTM(.rtm)";
   animationOpen = "\AnyAddon\AnyRTM(.rtm)";
==animationDrop ==
==animationDrop ==
[[StringTokenNames|String]
[[StringTokenNames|String]]
   animationDrop = "\AnyAddon\AnyRTM(.rtm)";
   animationDrop = "\AnyAddon\AnyRTM(.rtm)";


==animationSource...==
==animationSource...==
===animationSourceBody===
===animationSourceBody===
[[StringTokenNames|String]
[[StringTokenNames|String]]
     animationSourceBody = "Turret_2";
     animationSourceBody = "Turret_2";
===animationSourceGun===
===animationSourceGun===
[[StringTokenNames|String]
[[StringTokenNames|String]]
     animationSourceGun = "Gun_2";
     animationSourceGun = "Gun_2";
===animationSourceHatch===
===animationSourceHatch===
[[StringTokenNames|String]
[[StringTokenNames|String]]
     animationSourceHatch = "";
     animationSourceHatch = "";


Line 80: Line 80:
   armor = 50; // a helicopter
   armor = 50; // a helicopter
==audible==
==audible==
[[IntegerTokenNames|Integer]
[[IntegerTokenNames|Integer]]
   audible = 8;
   audible = 8;


Line 86: Line 86:
Used in: cfg'''Non'''AiVehicles
Used in: cfg'''Non'''AiVehicles


''[[IntegerTokenNames|Integer]: ''height in metres above sealevel. See [[#minHeight]] , [[#maxHeight]]
''[[IntegerTokenNames|Integer]]: ''height in metres above sealevel. See [[#minHeight]] , [[#maxHeight]]
  avgHeight = 10;
  avgHeight = 10;
<hr>
<hr>
Line 96: Line 96:
     brightness = 1.000000;
     brightness = 1.000000;
==body==
==body==
[[StringTokenNames|String]:
[[StringTokenNames|String]]:
     body = "mainTurret";
     body = "mainTurret";


Line 130: Line 130:
     castGunnerShadow = 1;
     castGunnerShadow = 1;
==cobraLight==
==cobraLight==
[[StringTokenNames|String] : Used as a core model for all other 'air'  craft.
[[StringTokenNames|String]] : Used as a core model for all other 'air'  craft.


  cobraLight = "AnyAddon\AnyP3d(.p3d)";
  cobraLight = "AnyAddon\AnyP3d(.p3d)";
Line 139: Line 139:


==commanding==
==commanding==
''[[IntegerTokenNames|Integer]'': part of Turret class
''[[IntegerTokenNames|Integer]]'': part of Turret class
     commanding = -1;
     commanding = -1;
==cost==
==cost==
''[[IntegerTokenNames|Integer]'': This value reflects the attractiveness of the target to the enemu ai. _when_ all other  considerations are equal. A soldier eg is not interested in Air, despite it's highly attractive cost values. On the other hand, he is interested in a medic, since a medic (in normal configs) has a (whiel small) a higher cost, than others in the group, including the officer.
''[[IntegerTokenNames|Integer]]'': This value reflects the attractiveness of the target to the enemu ai. _when_ all other  considerations are equal. A soldier eg is not interested in Air, despite it's highly attractive cost values. On the other hand, he is interested in a medic, since a medic (in normal configs) has a (whiel small) a higher cost, than others in the group, including the officer.


     cost = 10000000;// an air vehicle is tyoically this value
     cost = 10000000;// an air vehicle is tyoically this value
Line 151: Line 151:
   
   
==crew==
==crew==
''[[StringTokenNames|String]'': Reflects whether vehicle is manned, and what.
''[[StringTokenNames|String]]'': Reflects whether vehicle is manned, and what.
     crew = "SoldierWPilot";
     crew = "SoldierWPilot";


Line 175: Line 175:


==displayName==
==displayName==
[[StringTokenNames|String]:  This value is used to select the unit in the Mission Editor, as well as when pointing your team to an object in the game.  
[[StringTokenNames|String]]:  This value is used to select the unit in the Mission Editor, as well as when pointing your team to an object in the game.  


Ordinaruly it is good practice to acess the stringtable.csv that accompanies the addont so that
Ordinaruly it is good practice to acess the stringtable.csv that accompanies the addont so that
Line 184: Line 184:


===displayNameShort===
===displayNameShort===
[[StringTokenNames|String]:
[[StringTokenNames|String]]:
   displayNameShort = "$STR_DN_UH60";
   displayNameShort = "$STR_DN_UH60";


==driverAction==
==driverAction==
[[StringTokenNames|String]: see [[gunnerAction]]  
[[StringTokenNames|String]]: see [[gunnerAction]]  


   driverAction = "ManActTestDriver";
   driverAction = "ManActTestDriver";
==driverCanSee==
==driverCanSee==
[[StringTokenNames|String] (math formula)
[[StringTokenNames|String]] (math formula)
   driverCanSee = "2+8";
   driverCanSee = "2+8";


Line 230: Line 230:
<hr>
<hr>
==fired==
==fired==
''[[StringTokenNames|String]'':
''[[StringTokenNames|String]]'':


  fired = "_this exec ""\AnyAddon\AnySQS.sqs"""; // note the ""
  fired = "_this exec ""\AnyAddon\AnySQS.sqs"""; // note the ""
==flapsFrictionCoef==
==flapsFrictionCoef==
[[IntegerTokenNames|Integer]
[[IntegerTokenNames|Integer]]
   flapsFrictionCoef = 2;
   flapsFrictionCoef = 2;


Line 252: Line 252:
<hr>
<hr>
==gun==
==gun==
[[StringTokenNames|String]:
[[StringTokenNames|String]]:
     gun = "mainGun";
     gun = "mainGun";
==gearRetracting==
==gearRetracting==
Line 259: Line 259:


==gunnerAction==
==gunnerAction==
''[[StringTokenNames|String]'':  
''[[StringTokenNames|String]]'':  
     gunnerAction = "ManActAH1Gunner";
     gunnerAction = "ManActAH1Gunner";
see [[#driverAction]]
see [[#driverAction]]
Line 274: Line 274:


==gunnerOpticsModel==
==gunnerOpticsModel==
''[[StringTokenNames|String]'': part of NewTurret class
''[[StringTokenNames|String]]'': part of NewTurret class
     gunnerOpticsModel = "\AnyAddon\AnyP3d(.p3d)";
     gunnerOpticsModel = "\AnyAddon\AnyP3d(.p3d)";
==gunnerName==
==gunnerName==
[[StringTokenNames|String]
[[StringTokenNames|String]]
     gunnerName = "$STR_POSITION_CREWCHIEF";
     gunnerName = "$STR_POSITION_CREWCHIEF";


Line 289: Line 289:
<hr>
<hr>
==hitpoint==
==hitpoint==
[[StringTokenNames|String]:
[[StringTokenNames|String]]:
     hitpoint = "L svetlo";
     hitpoint = "L svetlo";


Line 301: Line 301:
<hr>
<hr>
==icon==
==icon==
[[StringTokenNames|String]:
[[StringTokenNames|String]]:


This value us used exclusively by the map editor to show the building or vehicle when editing. It is not normally visible during game play.
This value us used exclusively by the map editor to show the building or vehicle when editing. It is not normally visible during game play.
Line 310: Line 310:


==init==
==init==
''[[StringTokenNames|String]'':
''[[StringTokenNames|String]]'':
   init = "[(_this select 0)] exec ""\AnyAddon\AnySqs.sqs"""; // note the ""
   init = "[(_this select 0)] exec ""\AnyAddon\AnySqs.sqs"""; // note the ""


==initAngleX==
==initAngleX==
[[IntegerTokenNames|Integer] Degrees
[[IntegerTokenNames|Integer]] Degrees
   initAngleX = 0;
   initAngleX = 0;
===minAngleX===
===minAngleX===
[[IntegerTokenNames|Integer] Degrees
[[IntegerTokenNames|Integer]] Degrees
   minAngleX = -30;
   minAngleX = -30;
===maxAngleX===
===maxAngleX===
[[IntegerTokenNames|Integer] Degrees
[[IntegerTokenNames|Integer]] Degrees
   maxAngleX = 30;
   maxAngleX = 30;
==initAngleY==
==initAngleY==
[[IntegerTokenNames|Integer] Degrees
[[IntegerTokenNames|Integer]] Degrees
   initAngleY = 0;
   initAngleY = 0;
===minAngleY===
===minAngleY===
[[IntegerTokenNames|Integer] Degrees
[[IntegerTokenNames|Integer]] Degrees
   minAngleY = -30;
   minAngleY = -30;
===maxAngleY===
===maxAngleY===
[[IntegerTokenNames|Integer] Degrees
[[IntegerTokenNames|Integer]] Degrees
   maxAngleY = 30;
   maxAngleY = 30;
==initCargoAngleY==
==initCargoAngleY==
[[IntegerTokenNames|Integer]:
[[IntegerTokenNames|Integer]]:
   initCargoAngleY = 10;
   initCargoAngleY = 10;
===minCargoAngleY ===
===minCargoAngleY ===
[[IntegerTokenNames|Integer]: In Degrees.
[[IntegerTokenNames|Integer]]: In Degrees.
   minCargoAngleY = -60;
   minCargoAngleY = -60;
===maxCargoAngleY===
===maxCargoAngleY===
[[IntegerTokenNames|Integer]: In Degrees.
[[IntegerTokenNames|Integer]]: In Degrees.
   maxCargoAngleY = 120;
   maxCargoAngleY = 120;
==initElev==
==initElev==
[[IntegerTokenNames|Integer]:Degrees
[[IntegerTokenNames|Integer]]:Degrees
     initElev = -80;
     initElev = -80;
===minElev===
===minElev===
''[[IntegerTokenNames|Integer]:'' Signed degrees  
''[[IntegerTokenNames|Integer]]:'' Signed degrees  
  minElev = -60;
  minElev = -60;
===maxElev===
===maxElev===
''[[IntegerTokenNames|Integer]:'' signed degrees max angle of elevation.  
''[[IntegerTokenNames|Integer]]:'' signed degrees max angle of elevation.  
     maxElev = 10;
     maxElev = 10;
==initFov==
==initFov==
Line 359: Line 359:
   maxFov = 1.200000;
   maxFov = 1.200000;
==initTurn==
==initTurn==
[[IntegerTokenNames|Integer] Degrees
[[IntegerTokenNames|Integer]] Degrees
       initTurn = 90;
       initTurn = 90;
===minTurn===
===minTurn===
''[[IntegerTokenNames|Integer]:'' signed degrees angle of turning.  
''[[IntegerTokenNames|Integer]]:'' signed degrees angle of turning.  
     minTurn= -70;
     minTurn= -70;
===maxTurn===
===maxTurn===
''[[IntegerTokenNames|Integer]:'' signed degrees max angle of turning.  
''[[IntegerTokenNames|Integer]]:'' signed degrees max angle of turning.  
     maxTurn = 70;
     maxTurn = 70;


Line 374: Line 374:
<hr>
<hr>
==killed==
==killed==
''[[StringTokenNames|String]'':
''[[StringTokenNames|String]]'':


   killed = "[(_this select 0),1,1,0,0] exec ""\AnyAddon\AnySQS.sqs""";// note the ""
   killed = "[(_this select 0),1,1,0,0] exec ""\AnyAddon\AnySQS.sqs""";// note the ""
Line 386: Line 386:
   laserScanner = true;
   laserScanner = true;
==landingSpeed==
==landingSpeed==
[[IntegerTokenNames|Integer]
[[IntegerTokenNames|Integer]]
   landingSpeed = 75;
   landingSpeed = 75;
==landingAoa==
==landingAoa==
[[StringTokenNames|String] (math formula) Landing Angle of Approach
[[StringTokenNames|String]] (math formula) Landing Angle of Approach
   landingAoa = "3.5*3.1415/180";
   landingAoa = "3.5*3.1415/180";


==library==
==library==
[[StringTokenNames|String]: This TokenName is associated with the library class of a vehicle (if any). It is used to give a 'memo' style full screen info on the given object. Example of use:
[[StringTokenNames|String]]: This TokenName is associated with the library class of a vehicle (if any). It is used to give a 'memo' style full screen info on the given object. Example of use:
   class Library
   class Library
   {
   {
Line 408: Line 408:
   magazines[] = {"750Rnd_M197_AH1","38Rnd_FFAR","8Rnd_Hellfire"};
   magazines[] = {"750Rnd_M197_AH1","38Rnd_FFAR","8Rnd_Hellfire"};
== marker==  
== marker==  
[[StringTokenNames|String] : used as a core for all other air craft when looking on map.
[[StringTokenNames|String]] : used as a core for all other air craft when looking on map.
  marker = "\AnyAddon\AnyP3d.(p3d")";
  marker = "\AnyAddon\AnyP3d.(p3d")";
==material==
==material==
''[[IntegerTokenNames|Integer]'':
''[[IntegerTokenNames|Integer]]'':
   material = 50;
   material = 50;
==mainRotorSpeed==
==mainRotorSpeed==
[[IntegerTokenNames|Integer]:
[[IntegerTokenNames|Integer]]:
  mainRotorSpeed = -1;
  mainRotorSpeed = -1;


===backRotorSpeed===
===backRotorSpeed===
[[IntegerTokenNames|Integer]
[[IntegerTokenNames|Integer]]
backRotorSpeed  = 1.0;
backRotorSpeed  = 1.0;


Line 426: Line 426:
Used in: cfg'''Non'''AiVehicles
Used in: cfg'''Non'''AiVehicles


''[[IntegerTokenNames|Integer]:'' Min height in metres above sealevel. See [[#avgHeight]] , [[#maxHeight]]
''[[IntegerTokenNames|Integer]]:'' Min height in metres above sealevel. See [[#avgHeight]] , [[#maxHeight]]
  minHeight = 5;
  minHeight = 5;
===maxHeight===
===maxHeight===
Used in: cfg'''Non'''AiVehicles
Used in: cfg'''Non'''AiVehicles


''[[IntegerTokenNames|Integer]:'' max height above sea level. See [[#avgHeight]] , [[#minHeight]]
''[[IntegerTokenNames|Integer]]:'' max height above sea level. See [[#avgHeight]] , [[#minHeight]]
  maxHeight = 50;
  maxHeight = 50;
==minSpeed==
==minSpeed==
Used in: cfg'''Non'''AiVehicles
Used in: cfg'''Non'''AiVehicles


''[[IntegerTokenNames|Integer]:'' In Kph.
''[[IntegerTokenNames|Integer]]:'' In Kph.
  minSpeed = -0.500000; range 0->1
  minSpeed = -0.500000; range 0->1
===maxSpeed===
===maxSpeed===
''[[IntegerTokenNames|Integer]:'' In kph.
''[[IntegerTokenNames|Integer]]:'' In kph.
  maxSpeed = 20;
  maxSpeed = 20;
==memoryPointsGetInGunner==
==memoryPointsGetInGunner==
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointsGetInGunner = "pos gunner";
     memoryPointsGetInGunner = "pos gunner";
===memoryPointsGetInGunnerDir===
===memoryPointsGetInGunnerDir===
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointsGetInGunnerDir = "pos gunner dir";
     memoryPointsGetInGunnerDir = "pos gunner dir";
==memoryPointsGetInDriver==
==memoryPointsGetInDriver==
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointsGetInDriver = "pos_driver";
     memoryPointsGetInDriver = "pos_driver";
===memoryPointsGetInDriverDir===
===memoryPointsGetInDriverDir===
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointsGetInDriverDir = "pos_driver_dir";
     memoryPointsGetInDriverDir = "pos_driver_dir";
==memoryPointGun==
==memoryPointGun==
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointGun = "machinegun";
     memoryPointGun = "machinegun";
==memoryPointGunnerOptics==
==memoryPointGunnerOptics==
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointGunnerOptics = "gunnerview";
     memoryPointGunnerOptics = "gunnerview";
==memoryPointLMissile==
==memoryPointLMissile==
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointLMissile = "Missile_1";
     memoryPointLMissile = "Missile_1";
===memoryPointRMissile===
===memoryPointRMissile===
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointRMissile = "Missile_2";
     memoryPointRMissile = "Missile_2";
==memoryPointLRocket==
==memoryPointLRocket==
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointLRocket = "Rocket_1";
     memoryPointLRocket = "Rocket_1";
===memoryPointRRocket===
===memoryPointRRocket===
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
     memoryPointRRocket = "Rocket_2";
     memoryPointRRocket = "Rocket_2";
==model==
==model==
''[[StringTokenNames|String]:'' Location in the addon where the p3d model resides. Can be subfolder
''[[StringTokenNames|String]]:'' Location in the addon where the p3d model resides. Can be subfolder
  model = "\AddonName\anyp3d(.p3d)"; // can be ""
  model = "\AddonName\anyp3d(.p3d)"; // can be ""


Line 482: Line 482:
<hr>
<hr>
==name==
==name==
''[[StringTokenNames|String]'':
''[[StringTokenNames|String]]'':
   name = "motor";
   name = "motor";
==nameSound ==
==nameSound ==
''[[StringTokenNames|String]'': Namesound is used by the AI audio to indicate verbally where to go, what 'vehicle' to attack. This the audio speech "move to 'rock' 3 o'clock' is derived from the namesound.
''[[StringTokenNames|String]]'': Namesound is used by the AI audio to indicate verbally where to go, what 'vehicle' to attack. This the audio speech "move to 'rock' 3 o'clock' is derived from the namesound.
  nameSound = "rock";
  nameSound = "rock";


Line 515: Line 515:


===driverOpticsModel===
===driverOpticsModel===
[[StringTokenNames|String]
[[StringTokenNames|String]]
   driverOpticsModel = "\AnyPbo\AnyP3d(.p3d)";
   driverOpticsModel = "\AnyPbo\AnyP3d(.p3d)";
===gunnerOpticsModel===
===gunnerOpticsModel===
[[StringTokenNames|String]
[[StringTokenNames|String]]
   gunnerOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
   gunnerOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
===commanderOpticsModel===
===commanderOpticsModel===
[[StringTokenNames|String]
[[StringTokenNames|String]]
   commanderOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
   commanderOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
==outGunnerMayFire==
==outGunnerMayFire==
Line 534: Line 534:
   passThrough = 1;
   passThrough = 1;
==picture ==
==picture ==
[[StringTokenNames|String]: I think this is for briefing Information icon click
[[StringTokenNames|String]]: I think this is for briefing Information icon click
   picture = "\AnyAddon\AnyPAA(.paa)";
   picture = "\AnyAddon\AnyPAA(.paa)";
==primary==
==primary==
Line 541: Line 541:
   primary = true;
   primary = true;
==proxyIndex==
==proxyIndex==
[[IntegerTokenNames|Integer]
[[IntegerTokenNames|Integer]]
     proxyIndex = 2;
     proxyIndex = 2;


==position==
==position==
[[StringTokenNames|String]:
[[StringTokenNames|String]]:
     position = "L svetlo";
     position = "L svetlo";


Line 563: Line 563:
==rotor...==
==rotor...==
===rotorBig===
===rotorBig===
''[[StringTokenNames|String]:''
''[[StringTokenNames|String]]:''
   rotorBig = "vrtule_velka";
   rotorBig = "vrtule_velka";
====rotorBigBlend====
====rotorBigBlend====
''[[StringTokenNames|String]:''
''[[StringTokenNames|String]]:''
   rotorBigBlend = "vrtule_velka_bl";
   rotorBigBlend = "vrtule_velka_bl";
===rotorSmall===
===rotorSmall===
''[[StringTokenNames|String]:''
''[[StringTokenNames|String]]:''
   rotorSmall = "vrtule_mala";
   rotorSmall = "vrtule_mala";
====rotorSmallBlend====
====rotorSmallBlend====
''[[StringTokenNames|String]:''
''[[StringTokenNames|String]]:''
   rotorSmallBlend = "vrtule_mala_bl";
   rotorSmallBlend = "vrtule_mala_bl";


Line 632: Line 632:
<hr>
<hr>
==selection==
==selection==
[[StringTokenNames|String]:
[[StringTokenNames|String]]:
     selection = "L svetlo";
     selection = "L svetlo";
==Selection...==
==Selection...==
===selectionFireAnim===
===selectionFireAnim===
''[[StringTokenNames|String]:''
''[[StringTokenNames|String]]:''
  selectionFireAnim = "muzzleflash";
  selectionFireAnim = "muzzleflash";
===selectionHRotorStill===
===selectionHRotorStill===
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
  selectionHRotorStill= "mainRotorStatic";
  selectionHRotorStill= "mainRotorStatic";
====selectionHRotorMove====
====selectionHRotorMove====
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
  selectionHRotorMove = "mainRotorBlurred";
  selectionHRotorMove = "mainRotorBlurred";
===selectionVRotorStill===
===selectionVRotorStill===
''[[StringTokenNames|String]:''  
''[[StringTokenNames|String]]:''  
  selectionVRotorStill = "tailRotorStatic";
  selectionVRotorStill = "tailRotorStatic";
====selectionVRotorMove====
====selectionVRotorMove====
''[[StringTokenNames|String]:''
''[[StringTokenNames|String]]:''
  selectionVRotorMove = "tailRotorBlurred";
  selectionVRotorMove = "tailRotorBlurred";


Line 656: Line 656:


==side==
==side==
[[IntegerTokenNames|Integer]: The side, when declared, sets the 'vehicle' on east west resistance civilian. The effect differs according to the 'vehicle' itself. Eg soldiers, versus hospitals or repair trucks that can only be used by same side, if specifically sided.
[[IntegerTokenNames|Integer]]: The side, when declared, sets the 'vehicle' on east west resistance civilian. The effect differs according to the 'vehicle' itself. Eg soldiers, versus hospitals or repair trucks that can only be used by same side, if specifically sided.


Well written missions (and configs) use defines at top of file to make this more legible.
Well written missions (and configs) use defines at top of file to make this more legible.
Line 711: Line 711:


==source==
==source==
''[[StringTokenNames|String]'': found in animationSources
''[[StringTokenNames|String]]'': found in animationSources
     source = "reload";
     source = "reload";
==straightDistance==
==straightDistance==
Line 746: Line 746:
==transport...==
==transport...==
===transportAmmo===
===transportAmmo===
[[IntegerTokenNames|Integer]: Amount of difffernt ammo types this vehicle can carry.
[[IntegerTokenNames|Integer]]: Amount of difffernt ammo types this vehicle can carry.
   transportAmmo = 0;
   transportAmmo = 0;
===transportSoldier===
===transportSoldier===
[[IntegerTokenNames|Integer]: Number of units this vehicle can carry.
[[IntegerTokenNames|Integer]]: Number of units this vehicle can carry.
   transportSoldier = 13;
   transportSoldier = 13;


===transportMaxMagazines ===
===transportMaxMagazines ===
[[IntegerTokenNames|Integer]:  
[[IntegerTokenNames|Integer]]:  
  transportMaxMagazines = 150;
  transportMaxMagazines = 150;
===transportMaxWeapons ===
===transportMaxWeapons ===
[[IntegerTokenNames|Integer]:  
[[IntegerTokenNames|Integer]]:  
   transportMaxWeapons = 30;
   transportMaxWeapons = 30;


Line 766: Line 766:


==type==
==type==
[[IntegerTokenNames|Integer]: this indicates the threat type of the 'vehicle' in well written configs, the 3 possible values are declared as defines at top of file for legibility
[[IntegerTokenNames|Integer]]: this indicates the threat type of the 'vehicle' in well written configs, the 3 possible values are declared as defines at top of file for legibility
  #define LAND 0
  #define LAND 0
  #define SEA  1
  #define SEA  1
Line 785: Line 785:
   viewGunnerShadow = 1;
   viewGunnerShadow = 1;
==vehicleClass==
==vehicleClass==
[[StringTokenNames|String]: Used for Mission Editor basic category selection
[[StringTokenNames|String]]: Used for Mission Editor basic category selection
   vehicleClass = "Air";
   vehicleClass = "Air";
<hr>
<hr>
Line 793: Line 793:
<hr>
<hr>
==weapon==
==weapon==
''[[StringTokenNames|String]'': found in animationSources
''[[StringTokenNames|String]]'': found in animationSources
     weapon = "M197";
     weapon = "M197";
==weapons[]==
==weapons[]==

Revision as of 07:03, 1 July 2006

Introduction

TokenName Reference

Simply put, Token Name & Value pairs are as follows

SomeName = SomeValue;

Token Names are used extensively throughout ofp 'text' files.

This article details the token-names available in Config.cpp , description.ext and mission.sqm. The primary focus of this document is the TokenNames used for various aspects of controlling models within Addons. Description.ext and mission.sqm are included because many of the 'tokens' are common to all.

For instance, when creating a model using class statemens inside a config.cpp, to access it later, via the mission editor

scope=2;

This article lists token names, their value ranges, and their type.

Where not specifcally specified, the 'useage'of the token name is within config.cpp, class CfgVehicles.


Legend:

Integer: A signed value to 65k.

Boolean: An Integer value of 0 or 1

Array: An array []=

String: Any string value. ALL STRINGS MUST BE ENCLOSED IN QUOTES for Elite. These strings are misinterpreted as #defines otherwise.


Notes: For Models and other items using p3d files, the .p3d extension is not reguired. Similar comment for pac/paa files, and wss (sound) files where appropriate


A

airFriction

Used in: cfgNonAiVehicles

Array: 3 separate tokens, airFriction0[],airFriction1[],airFriction2[] that define the X Y and Z component respectively.

airFriction2[] = {25,12,2.500000};

acceleration

Used in: cfgNonAiVehicles

Integer: metres per second

acceleration = 7;

accuracy

Integer:

accuracy = 0.5;

aileronSensitivity

Float

 aileronsensitivity = 0.66;

ambient

[[ArrayTokenNames|Array]: Used by reflectors

  ambient[] = {0.070000,0.070000,0.070000,1.000000};

animationOpen

String

 animationOpen = "\AnyAddon\AnyRTM(.rtm)";

animationDrop

String

 animationDrop = "\AnyAddon\AnyRTM(.rtm)";

animationSource...

animationSourceBody

String

   animationSourceBody = "Turret_2";

animationSourceGun

String

   animationSourceGun = "Gun_2";

animationSourceHatch

String

   animationSourceHatch = "";

armor

Float: A strength value of how much external damage can be taken before 'destruction'.

  armor = 1.400000; // a bee
  armor = 50; // a helicopter

audible

Integer

 audible = 8;

avgHeight

Used in: cfgNonAiVehicles

Integer: height in metres above sealevel. See #minHeight , #maxHeight

avgHeight = 10;


B

brightness

Float:

   brightness = 1.000000;

body

String:

   body = "mainTurret";


C


canBeShot

Used in: cfgNonAiVehicles

Boolean: Declares whether bullets have any effect

canBeShot = 1;

cargoAction

[[ArrayTokenNames|Array]: see #driverAction

cargoAction[] = {"TestDriver"};

note that unlike #driverAction and #gunnerAction this is an array. (for multiple positions)

cargoIsCoDriver

Boolean [[ArrayTokenNames|Array]

  cargoIsCoDriver[] = {false,false,false,false,true};// 5th position in this vehicle

cast...Shadow

castCargoShadow

Boolean

castCargoShadow = true;

castDriverShadow

Boolean:

   castDriverShadow = 1;

castGunnerShadow

Boolean: part of Turret class

   castGunnerShadow = 1;

cobraLight

String : Used as a core model for all other 'air' craft.

cobraLight = "AnyAddon\AnyP3d(.p3d)";

color

[[ArrayTokenNames|Array]: of floats. Used by reflectors

  color[] = {0.800000,0.800000,1.000000,1.000000};

commanding

Integer: part of Turret class

    commanding = -1;

cost

Integer: This value reflects the attractiveness of the target to the enemu ai. _when_ all other considerations are equal. A soldier eg is not interested in Air, despite it's highly attractive cost values. On the other hand, he is interested in a medic, since a medic (in normal configs) has a (whiel small) a higher cost, than others in the group, including the officer.

    cost = 10000000;// an air vehicle is tyoically this value
cost = 8; // a medic;
cost = 1; // a grunt
cost = 4; // an officer
cost = 0; // most buildings;

crew

String: Reflects whether vehicle is manned, and what.

    crew = "SoldierWPilot";


D


dammageHalf

[[ArrayTokenNames|Array]: of varable number of strings

 dammageHalf[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};

When 'vehicle' is considered at least half way to destruction, the series of pictures is applied to the model.

dammageFull

[[ArrayTokenNames|Array]: of varable number of strings

 dammageFull[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};

see #dammageHalf for the self evident difference.

direction

Float:

   direction = "konec L svetla";

displayName

String: This value is used to select the unit in the Mission Editor, as well as when pointing your team to an object in the game.

Ordinaruly it is good practice to acess the stringtable.csv that accompanies the addont so that

  1. all names and labels are in one place
  2. for language differences
displayName = "$STR_DN_AH1Z";

displayNameShort

String:

 displayNameShort = "$STR_DN_UH60";

driverAction

String: see gunnerAction

 driverAction = "ManActTestDriver";

driverCanSee

String (math formula)

  driverCanSee = "2+8";


E


ejectDamageLimit

Float: You can get hurt, but you can't die with vals less than 1.0

 ejectDamageLimit = 0.750000;

ejectSpeed

[[ArrayTokenNames|Array]

ejectSpeed[] = {0,0,0};

ejectDeadCargo

Boolean

 ejectDeadCargo = 1;

enableSweep

Boolean:

 enableSweep = false;

envelope

Float [[ArrayTokenNames|Array]

envelope[] = {0.000000,0.000000,0.300000,1.000000,2.500000,3.300000,3.500000,3.200000,2.500000,2.000000,1.500000,1.000000};

elevatorSensitivity

Float

elevatorSensitivity = 0.2;

extCameraPosition[]

[[ArrayTokenNames|Array]

 extCameraPosition[] = {0,2,-15};


F


fired

String:

fired = "_this exec ""\AnyAddon\AnySQS.sqs"""; // note the ""

flapsFrictionCoef

Integer

 flapsFrictionCoef = 2;

fov

Float

 fov = 0.500000;

flySound

[[ArrayTokenNames|Array]

flySound[] = {"\AddonName\AnySound.wss",0.000000,1,1};

see #sound...



G


gun

String:

   gun = "mainGun";

gearRetracting

Boolean

 gearRetracting = 1;

gunnerAction

String:

   gunnerAction = "ManActAH1Gunner";

see #driverAction

gunAimDown

Float

 gunAimDown = 0.07;

gunBeg

Strimg:

   gunBeg = "muzzle_1";

gunEnd

Strimg:

   gunEnd = "chamber_1";

gunnerOpticsModel

String: part of NewTurret class

   gunnerOpticsModel = "\AnyAddon\AnyP3d(.p3d)";

gunnerName

String

   gunnerName = "$STR_POSITION_CREWCHIEF";

gunnerUsesPilotView

Boolean:

gunnerUsesPilotView = 1;


H


hitpoint

String:

   hitpoint = "L svetlo";

hasGunnerr

Boolean

 hasGunner = 0;



I


icon

String:

This value us used exclusively by the map editor to show the building or vehicle when editing. It is not normally visible during game play.

The icon can be any jpg, paa, or pac file. paa is default.

 icon = "\AnyAddon\AnyPAA(.paa)";

init

String:

  init = "[(_this select 0)] exec ""\AnyAddon\AnySqs.sqs"""; // note the ""

initAngleX

Integer Degrees

  initAngleX = 0;

minAngleX

Integer Degrees

  minAngleX = -30;

maxAngleX

Integer Degrees

  maxAngleX = 30;

initAngleY

Integer Degrees

  initAngleY = 0;

minAngleY

Integer Degrees

  minAngleY = -30;

maxAngleY

Integer Degrees

  maxAngleY = 30;

initCargoAngleY

Integer:

 initCargoAngleY = 10;

minCargoAngleY

Integer: In Degrees.

 minCargoAngleY = -60;

maxCargoAngleY

Integer: In Degrees.

 maxCargoAngleY = 120;

initElev

Integer:Degrees

   initElev = -80;

minElev

Integer: Signed degrees

minElev = -60;

maxElev

Integer: signed degrees max angle of elevation.

   maxElev = 10;

initFov

IFloat

  initFov = 0.100000;

minFov

IFloat

  minFov = 0.030000;

maxFov

IFloat

  maxFov = 1.200000;

initTurn

Integer Degrees

      initTurn = 90;

minTurn

Integer: signed degrees angle of turning.

   minTurn= -70;

maxTurn

Integer: signed degrees max angle of turning.

   maxTurn = 70;


K


killed

String:

  killed = "[(_this select 0),1,1,0,0] exec ""\AnyAddon\AnySQS.sqs""";// note the ""


L


laserscanner

Boolean: Determines if a vehicle has laser capability.

 laserScanner = true;

landingSpeed

Integer

 landingSpeed = 75;

landingAoa

String (math formula) Landing Angle of Approach

 landingAoa = "3.5*3.1415/180";

library

String: This TokenName is associated with the library class of a vehicle (if any). It is used to give a 'memo' style full screen info on the given object. Example of use:

 class Library
 {
  libTextDesc = "$STR_LIB_AH1Z";
 };


M


magazines

[[ArrayTokenNames|Array]: variable strings

  magazines[] = {"750Rnd_M197_AH1","38Rnd_FFAR","8Rnd_Hellfire"};

marker

String : used as a core for all other air craft when looking on map.

marker = "\AnyAddon\AnyP3d.(p3d")";

material

Integer:

  material = 50;

mainRotorSpeed

Integer:

mainRotorSpeed = -1;

backRotorSpeed

Integer backRotorSpeed = 1.0;

hmmm, that's curious, it accepts floats or ints.

minHeight

Used in: cfgNonAiVehicles

Integer: Min height in metres above sealevel. See #avgHeight , #maxHeight

minHeight = 5;

maxHeight

Used in: cfgNonAiVehicles

Integer: max height above sea level. See #avgHeight , #minHeight

maxHeight = 50;

minSpeed

Used in: cfgNonAiVehicles

Integer: In Kph.

minSpeed = -0.500000; range 0->1

maxSpeed

Integer: In kph.

maxSpeed = 20;

memoryPointsGetInGunner

String:

   memoryPointsGetInGunner = "pos gunner";

memoryPointsGetInGunnerDir

String:

   memoryPointsGetInGunnerDir = "pos gunner dir";

memoryPointsGetInDriver

String:

   memoryPointsGetInDriver = "pos_driver";

memoryPointsGetInDriverDir

String:

   memoryPointsGetInDriverDir = "pos_driver_dir";

memoryPointGun

String:

   memoryPointGun = "machinegun";

memoryPointGunnerOptics

String:

   memoryPointGunnerOptics = "gunnerview";

memoryPointLMissile

String:

   memoryPointLMissile = "Missile_1";

memoryPointRMissile

String:

   memoryPointRMissile = "Missile_2";

memoryPointLRocket

String:

   memoryPointLRocket = "Rocket_1";

memoryPointRRocket

String:

   memoryPointRRocket = "Rocket_2";

model

String: Location in the addon where the p3d model resides. Can be subfolder

model = "\AddonName\anyp3d(.p3d)"; // can be ""




N


name

String:

  name = "motor";

nameSound

String: Namesound is used by the AI audio to indicate verbally where to go, what 'vehicle' to attack. This the audio speech "move to 'rock' 3 o'clock' is derived from the namesound.

nameSound = "rock";

typically, a collection of buildings (eg) will be configured as follows

class GenBuilding : NonStrategic
{
  scope=private; // internal use only
  VehicleClass="Some Editor Group Name";
  namesound="house";
};
class YellowBuilding: GenBuilding
{
  scope=public;
  name="YellowBuilding";
  model="Some yellow building.p3d";
};

noseDownCoef

Float

noseDownCoef = 0.025;


O


...OpticsModel

driverOpticsModel

String

 driverOpticsModel = "\AnyPbo\AnyP3d(.p3d)";

gunnerOpticsModel

String

 gunnerOpticsModel= "\AnyPbo\AnyP3d(.p3d)";

commanderOpticsModel

String

 commanderOpticsModel= "\AnyPbo\AnyP3d(.p3d)";

outGunnerMayFire

Boolean: partof NewTurrent class

 outGunnerMayFire = 1;


P


passThrough

Boolean:

 passThrough = 1;

picture

String: I think this is for briefing Information icon click

 picture = "\AnyAddon\AnyPAA(.paa)";

primary

Boolean: For models that can have, (but don't necessarily do have) multiple internal objects of the same type (turrets eg). One of them, is declated the main, or primary turret. There may indeed be only one 'turret'.

  primary = true;

proxyIndex

Integer

   proxyIndex = 2;

position

String:

   position = "L svetlo";


R


reversed

Used in: cfgNonAiVehicles

Boolean: Normally, models ARE reversed with respect to how they present on the screen after editing with tools like oxygen (eg) This overrides the default. See #model

reversed = 0;

rotor...

rotorBig

String:

 rotorBig = "vrtule_velka";

rotorBigBlend

String:

 rotorBigBlend = "vrtule_velka_bl";

rotorSmall

String:

 rotorSmall = "vrtule_mala";

rotorSmallBlend

String:

 rotorSmallBlend = "vrtule_mala_bl";

S


scope

Used in: cfgNonAiVehicles

INTEGER:

scope = public;

Scope in concept is the same as the C++ reserved words of public, protected and private.

defines normally exist at the top of a well written config.cpp to make meanings clearer.

#define private    0
#define protected  1
#define public     2

The meaning of each is as follows

private:

only other classes within the same config cpp can access, or 'inherit' this class.

protected:

Identical to public, except the class will not be listed in the mission editor. A very common form of use for this is

class vegetables
{
  scope=protected;
  VehicleClass="Vegetables.
  namesound= whatever;
  icon= "vegetableIcon.paa";
 ///   put any other common characteristics in here
};
class GreenOnions : vegetables
{
   scope = public;
   name="Green Onion;
}
class PurpleOnion : vegetables
{
   ....

The effect here is to reduce (considerably) not only the amount of tyoing, but memory storage too. It is only the public classes that are listed in the editor, and this, you would expect, that each one of these has a separate name=, wheras, they are ALL grouped' in the Editor's 'Vegetables'

Protected classes are CamCreatble in the mission.sqm.

Protected classes are immensely useful to 'hide' obsolete models that are still required to maintain compatibility with older missions.

public:

Any classes declared public are CamCreateabale, and selectable via the Editor.


selection

String:

   selection = "L svetlo";

Selection...

selectionFireAnim

String:

selectionFireAnim = "muzzleflash";

selectionHRotorStill

String:

selectionHRotorStill= "mainRotorStatic";

selectionHRotorMove

String:

selectionHRotorMove = "mainRotorBlurred";

selectionVRotorStill

String:

selectionVRotorStill = "tailRotorStatic";

selectionVRotorMove

String:

selectionVRotorMove = "tailRotorBlurred";

size

Float:

   size = 0.500000;

side

Integer: The side, when declared, sets the 'vehicle' on east west resistance civilian. The effect differs according to the 'vehicle' itself. Eg soldiers, versus hospitals or repair trucks that can only be used by same side, if specifically sided.

Well written missions (and configs) use defines at top of file to make this more legible.

#define WEST 0
#define EAST 1
#define CIVILIAN 2
#define NOSIDE 3
etc...
 side = EAST;

simulation

String: The engine behaviour with this #model.

simulation = "SeaGull";// campfire,house, etc

singSound

Array: normally for a bird see #sound...

singSound[] = {"\AddonName\SoundFile.ogg",0.031623,1,1};

showgunneroptics

Boolean:

 showgunneroptics = 0;

sound...

also see #flySound , #singSound

soundCrash

[[ArrayTokenNames|Array]:

 soundCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};

soundDammage

[[ArrayTokenNames|Array]:

 soundDammage[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};

soundEngine

[[ArrayTokenNames|Array]:

 soundEngine[] = {"\AnyAddon\AnySound(.wss)",5.623414,1};

soundEnviron

[[ArrayTokenNames|Array]:

 soundEnviron[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000};

SoundGetIn

[[ArrayTokenNames|Array]:

 SoundGetIn[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};

soundGetOut

[[ArrayTokenNames|Array]:

 soundGetOut[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};

soundLandCrash

[[ArrayTokenNames|Array]:

 soundLandCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};

soundServo

[[ArrayTokenNames|Array]:

 soundServo[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000};

soundWaterCrash

[[ArrayTokenNames|Array]

 soundWaterCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};

source

String: found in animationSources

   source = "reload";

straightDistance

Used in: cfgNonAiVehicles

INTEGER:

straightDistance = 50;

supplyRadius

Float: new In meters. This token-name lets cars (eg) fill from petrol stations (eg) without having to bang into them, or be at 'exact' angles.

 supplyRadius = 2.500000;


T


turning

Used in: cfgNonAiVehicles

Boolean: (i think)

turning = 1;

threat

[[ArrayTokenNames|Array]: This three element array reperesents the threat this 'vehicle' has to the enemy ai.

The 3 components of the 'threat' are land threat, air threat, sea threat. In the exampe below for a cobra. It is not too dangerous for land 'vehicles' (men and machines) bit deadly against other air vehicles and nasty to boats.

The ai for this model selects targets of opportunity, based on these values.

 threat[] = {0.300000,1,0.800000};

see #type

transport...

transportAmmo

Integer: Amount of difffernt ammo types this vehicle can carry.

 transportAmmo = 0;

transportSoldier

Integer: Number of units this vehicle can carry.

 transportSoldier = 13;

transportMaxMagazines

Integer:

transportMaxMagazines = 150;

transportMaxWeapons

Integer:

 transportMaxWeapons = 30;

typicalCargo

[[ArrayTokenNames|Array]: variable strings. Preloads veicle with units (if auto)

 typicalCargo[] = {"Soldier","Soldier","SoldierLAW","SoldierLAW"};


type

Integer: this indicates the threat type of the 'vehicle' in well written configs, the 3 possible values are declared as defines at top of file for legibility

#define LAND 0
#define SEA  1
#define AIR  2
 type = AIR;

see #threat



V


viewGunnerShadow

Boolean: part of Turret class

  viewGunnerShadow = 1;

vehicleClass

String: Used for Mission Editor basic category selection

 vehicleClass = "Air";


W


weapon

String: found in animationSources

   weapon = "M197";

weapons[]

[[ArrayTokenNames|Array]: an array of selectable weaponry for the given 'vehicle'

  weapons[] = {"FFARLauncher","TwinM134"};

wheelSteeringSensitivity

Float

 wheelSteeringSensitivity = 0.500000;