CfgVehicles Config Reference: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
Line 22: Line 22:
<u>Legend:</u>
<u>Legend:</u>


[[TokenNameValueTypes|Integer]]: A signed value that will be held in 4 bytes.
[[TokenNameValueTypess|Integer]]: A signed value that will be held in 4 bytes.


[[TokenNameValueTypes|Boolean]]: An [[TokenNameValueTypes|Integer]] value of 0 or 1. This is a 'convenience type' in humanly readable text. The engine stores it as an integer.
[[TokenNameValueTypess|Boolean]]: An [[TokenNameValueTypess|Integer]] value of 0 or 1. This is a 'convenience type' in humanly readable text. The engine stores it as an integer.


[[TokenNameValueTypes|String]]: Any string value. ''ALL STRINGS MUST BE ENCLOSED IN QUOTES'' for Elite. These strings are misinterpreted as '''#defines''' otherwise.
[[TokenNameValueTypess|String]]: Any string value. ''ALL STRINGS MUST BE ENCLOSED IN QUOTES'' for Elite. These strings are misinterpreted as '''#defines''' otherwise.


[[TokenNameValueTypes|Array]]: An array []={...}
[[TokenNameValueTypess|Array]]: An array []={...}


float Array: An array of floats only
float Array: An array of floats only
Line 44: Line 44:
==...Action==
==...Action==


[[TokenNameValueTypes|String]]
[[TokenNameValueTypess|String]]
   commanderAction = "ManActTestDriver";
   commanderAction = "ManActTestDriver";
   driverAction = "ManActTestDriver";
   driverAction = "ManActTestDriver";
   gunnerAction = "ManActAH1Gunner";
   gunnerAction = "ManActAH1Gunner";
===cargoAction===
===cargoAction===
Variable String [[TokenNameValueTypes|Array]]:  
Variable String [[TokenNameValueTypess|Array]]:  
  cargoAction[] = {"ManActM113Medic","ManActM113Medic","ManActM113Injured"};
  cargoAction[] = {"ManActM113Medic","ManActM113Medic","ManActM113Injured"};


Line 57: Line 57:


===...InAction===
===...InAction===
[[TokenNameValueTypes|String]]
[[TokenNameValueTypess|String]]
   commanderInAction = "ManActTestDriver";  
   commanderInAction = "ManActTestDriver";  
   driverInAction = "ManActTestDriver";
   driverInAction = "ManActTestDriver";
Line 63: Line 63:


==...AngleX==
==...AngleX==
[[TokenNameValueTypes|Integer]] Degrees
[[TokenNameValueTypess|Integer]] Degrees
   initAngleX = 0;
   initAngleX = 0;
   minAngleX = -30;
   minAngleX = -30;
   maxAngleX = 30;
   maxAngleX = 30;
==...AngleY==
==...AngleY==
[[TokenNameValueTypes|Integer]] Degrees
[[TokenNameValueTypess|Integer]] Degrees
   initAngleY = 0;
   initAngleY = 0;
   minAngleY = -30;
   minAngleY = -30;
   maxAngleY = 30;
   maxAngleY = 30;
===initCargoAngleY===
===initCargoAngleY===
[[TokenNameValueTypes|Integer]] Degrees
[[TokenNameValueTypess|Integer]] Degrees
   initCargoAngleY = 185;
   initCargoAngleY = 185;
==access==
==access==
[[TokenNameValueTypes|Integer]]: Determines the manipulability of the class.
[[TokenNameValueTypess|Integer]]: Determines the manipulability of the class.


  access=1;
  access=1;
Line 88: Line 88:


==accuracy==
==accuracy==
[[TokenNameValueTypes|Integer]]:  
[[TokenNameValueTypess|Integer]]:  
  accuracy = 0.5;
  accuracy = 0.5;


Line 97: Line 97:
see [[#camouflage]]
see [[#camouflage]]
==acceleration==
==acceleration==
'''new''' [[TokenNameValueTypes|Integer]]: metres per second  
'''new''' [[TokenNameValueTypess|Integer]]: metres per second  
  acceleration = 7;
  acceleration = 7;
==aileronSensitivity==
==aileronSensitivity==
'''new''' [[TokenNameValueTypes|Float]]
'''new''' [[TokenNameValueTypess|Float]]
   aileronsensitivity = 0.66;
   aileronsensitivity = 0.66;
==airFriction==
==airFriction==
'''new''' [[TokenNameValueTypes|Array]]: 3 separate tokens, airFriction0[],airFriction1[],airFriction2[] that define the X Y and Z component respectively.
'''new''' [[TokenNameValueTypess|Array]]: 3 separate tokens, airFriction0[],airFriction1[],airFriction2[] that define the X Y and Z component respectively.


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


==ambient==
==ambient==
'''new''' [[TokenNameValueTypes|Array]]: Used by reflectors
'''new''' [[TokenNameValueTypess|Array]]: Used by reflectors
   ambient[] = {0.070000,0.070000,0.070000,1.000000};
   ambient[] = {0.070000,0.070000,0.070000,1.000000};
==animated==
==animated==
[[TokenNameValueTypes|Bool]] : Used by class models that inherit an animated 'vehicle' to turn those aspects of the vehicle off.
[[TokenNameValueTypess|Bool]] : Used by class models that inherit an animated 'vehicle' to turn those aspects of the vehicle off.


   animated = false;
   animated = false;
Line 122: Line 122:


==animPeriod==
==animPeriod==
'''new''' [[TokenNameValueTypes|integer]]: This TokenName is used inside AnimationSources
'''new''' [[TokenNameValueTypess|integer]]: This TokenName is used inside AnimationSources


  animPeriod = 1;
  animPeriod = 1;
==animation...==
==animation...==
'''new''' [[TokenNameValueTypes|String]]: These animation strings point to rtm files to create the movement.
'''new''' [[TokenNameValueTypess|String]]: These animation strings point to rtm files to create the movement.


   animationFlag = "\AnyAddon\AnyRTM(.rtm)";// to wiggle flag in wind
   animationFlag = "\AnyAddon\AnyRTM(.rtm)";// to wiggle flag in wind
Line 133: Line 133:


==animationSource...==
==animationSource...==
'''new''' [[TokenNameValueTypes|String]]
'''new''' [[TokenNameValueTypess|String]]
     animationSourceBody = "Turret_2";
     animationSourceBody = "Turret_2";
     animationSourceGun = "Gun_2";
     animationSourceGun = "Gun_2";
Line 139: Line 139:


==armor Integer==
==armor Integer==
[[TokenNameValueTypes|Integer]]: A strength value of how much external damage can be taken before 'destruction'.
[[TokenNameValueTypess|Integer]]: A strength value of how much external damage can be taken before 'destruction'.


   armor = 50; // a helicopter
   armor = 50; // a helicopter
Line 153: Line 153:


==armor (float)==
==armor (float)==
[[TokenNameValueTypes|Float]]: The floating version of armor type is only used in Hit... classes, eg HitTurret HitBody
[[TokenNameValueTypess|Float]]: The floating version of armor type is only used in Hit... classes, eg HitTurret HitBody


   armor = 1.4; // a bee
   armor = 1.4; // a bee
Line 159: Line 159:


==armor...==
==armor...==
[[TokenNameValueTypes|Float]]:
[[TokenNameValueTypess|Float]]:
   armorBody = 0.4; //'''new'''  
   armorBody = 0.4; //'''new'''  
   armorFuel = 1.4;//'''new'''  
   armorFuel = 1.4;//'''new'''  
Line 168: Line 168:


==attendant==
==attendant==
[[TokenNameValueTypes|Bool]]: Used for 'vehicles' to repair other vehicles. Thus a hospital has an attendant that can repair soldiers.
[[TokenNameValueTypess|Bool]]: Used for 'vehicles' to repair other vehicles. Thus a hospital has an attendant that can repair soldiers.


   attendant = true;
   attendant = true;


==audible==
==audible==
[[TokenNameValueTypes|Integer]]
[[TokenNameValueTypess|Integer]]
   audible = 8;
   audible = 8;


Line 179: Line 179:


==autocenter==
==autocenter==
[[TokenNameValueTypes|bool]]: normallly 'vehicles' are auto centered true;
[[TokenNameValueTypess|bool]]: normallly 'vehicles' are auto centered true;
     autocenter = false;
     autocenter = false;


Line 186: Line 186:
=B=
=B=
==body==
==body==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
     body = "mainTurret";
     body = "mainTurret";
==brakeDistance==
==brakeDistance==
'''old''' [[TokenNameValueTypes|Float]]:
'''old''' [[TokenNameValueTypess|Float]]:
     brakeDistance= 1.0;
     brakeDistance= 1.0;
==brightness==
==brightness==
'''new''' [[TokenNameValueTypes|Float]]:
'''new''' [[TokenNameValueTypess|Float]]:
     brightness = 1.0;
     brightness = 1.0;
<hr>
<hr>
Line 199: Line 199:
=C=
=C=
==...CanSee==
==...CanSee==
[[TokenNameValueTypes|String]] (math formula)
[[TokenNameValueTypess|String]] (math formula)
   gunnerCanSee = "4+8+16 +1"; // '''new'''
   gunnerCanSee = "4+8+16 +1"; // '''new'''
   commanderCanSee = 31; // this appears to be wrong
   commanderCanSee = 31; // this appears to be wrong


==...CargoAngleY==
==...CargoAngleY==
'''new''' [[TokenNameValueTypes|Integer]] degrees
'''new''' [[TokenNameValueTypess|Integer]] degrees
   initCargoAngleY = 10;
   initCargoAngleY = 10;
   minCargoAngleY = -60;
   minCargoAngleY = -60;
Line 210: Line 210:


==camouflage==
==camouflage==
[[TokenNameValueTypes|Integer]]:
[[TokenNameValueTypess|Integer]]:
  camouflage = 4;
  camouflage = 4;


Line 218: Line 218:
==can...==
==can...==
===canBeShot===
===canBeShot===
'''new''' [[TokenNameValueTypes|Boolean]]: Declares whether bullets have any effect
'''new''' [[TokenNameValueTypess|Boolean]]: Declares whether bullets have any effect
  canBeShot = true;
  canBeShot = true;
===canFloat===
===canFloat===
'''new''' [[TokenNameValueTypes|Boolean]]: Used to allow vehicles (such as BMP) not to sink !
'''new''' [[TokenNameValueTypess|Boolean]]: Used to allow vehicles (such as BMP) not to sink !
   canFloat = true;
   canFloat = true;
===canLock ===
===canLock ===
'''new''' [[TokenNameValueTypes|Boolean]]:
'''new''' [[TokenNameValueTypess|Boolean]]:
  canLock = 0;
  canLock = 0;




==cargoIsCoDriver==
==cargoIsCoDriver==
Variable [[Boolean]] [[TokenNameValueTypes|Array]]  
Variable [[Boolean]] [[TokenNameValueTypess|Array]]  
   cargoIsCoDriver[] = {false,false,false,false,true};// 5th position in this vehicle
   cargoIsCoDriver[] = {false,false,false,false,true};// 5th position in this vehicle
The number of elements in '''this''' array correspond to the [[#transportSoldier]] value declared for '''this''' class model.
The number of elements in '''this''' array correspond to the [[#transportSoldier]] value declared for '''this''' class model.


==cast...Shadow==
==cast...Shadow==
[[TokenNameValueTypes|Boolean]]:
[[TokenNameValueTypess|Boolean]]:
  castCargoShadow = true;
  castCargoShadow = true;
  castCommanderShadow = true; // not seen in new
  castCommanderShadow = true; // not seen in new
Line 242: Line 242:


==cloud...==
==cloud...==
'''new''' Various([[TokenNameValueTypes|Strings]],[[TokenNameValueTypes|Floats]],[[TokenNameValueTypes|Arrays]])
'''new''' Various([[TokenNameValueTypess|Strings]],[[TokenNameValueTypess|Floats]],[[TokenNameValueTypess|Arrays]])


cloud.. TokenNames are used inside the Smoke class of animation classes
cloud.. TokenNames are used inside the Smoke class of animation classes
Line 260: Line 260:


==cobraLight==
==cobraLight==
'''new''' [[TokenNameValueTypes|String]] : Used as a core model for all other 'air'  craft.
'''new''' [[TokenNameValueTypess|String]] : Used as a core model for all other 'air'  craft.


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


==coefInside...==
==coefInside...==
[[TokenNameValueTypes|Float]]:
[[TokenNameValueTypess|Float]]:
   coefInside = 0.5;
   coefInside = 0.5;
   coefInsideHeur = 0.8;
   coefInsideHeur = 0.8;


==color==
==color==
'''new''' [[TokenNameValueTypes|Array]]: of floats. Used by reflectors
'''new''' [[TokenNameValueTypess|Array]]: of floats. Used by reflectors
   color[] = {0.800000,0.800000,1.000000,1.000000};
   color[] = {0.800000,0.800000,1.000000,1.000000};


==commanding==
==commanding==
'''new''' [[TokenNameValueTypes|Integer]]: part of Turret class
'''new''' [[TokenNameValueTypess|Integer]]: part of Turret class
     commanding = -1;
     commanding = -1;


==cost==
==cost==
''[[TokenNameValueTypes|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.
''[[TokenNameValueTypess|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 287: Line 287:


==count (string)==
==count (string)==
'''new''' [[TokenNameValueTypes|String]]: (math formula). Used in magazine class to declare amount (of bullets)
'''new''' [[TokenNameValueTypess|String]]: (math formula). Used in magazine class to declare amount (of bullets)
  count = "30*1";
  count = "30*1";


==crew==
==crew==
''[[TokenNameValueTypes|String]]'': Reflects whether vehicle is manned, and what.
''[[TokenNameValueTypess|String]]'': Reflects whether vehicle is manned, and what.
     crew = "SoldierWPilot";
     crew = "SoldierWPilot";
<hr>
<hr>
Line 298: Line 298:
=D=
=D=
==dammage...==
==dammage...==
'''new''' Variable String [[TokenNameValueTypes|Array]]:
'''new''' Variable String [[TokenNameValueTypess|Array]]:
   dammageHalf[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};
   dammageHalf[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};
   dammageFull[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};
   dammageFull[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};
Line 304: Line 304:
When 'vehicle' is considered at least half way to destruction, the series of pictures is applied to the model.  
When 'vehicle' is considered at least half way to destruction, the series of pictures is applied to the model.  
==damper...==
==damper...==
'''new''' [[TokenNameValueTypes|Float]]:
'''new''' [[TokenNameValueTypess|Float]]:
  damperSize = 0.100000;
  damperSize = 0.100000;
  damperForce = 1;
  damperForce = 1;


==destrType==
==destrType==
[[TokenNameValueTypes|String]]: used for animation, sound, and final 'look' of vehicle.
[[TokenNameValueTypess|String]]: used for animation, sound, and final 'look' of vehicle.


<u>This was an integer value prior to Elite</u>
<u>This was an integer value prior to Elite</u>
Line 327: Line 327:


==direction==
==direction==
'''new''' [[TokenNameValueTypes|Float]]:
'''new''' [[TokenNameValueTypess|Float]]:
     direction = "konec L svetla";
     direction = "konec L svetla";


==displayName==
==displayName==
[[TokenNameValueTypes|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.  
[[TokenNameValueTypess|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 344: Line 344:


===displayNameShort===
===displayNameShort===
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
   displayNameShort = "$STR_DN_UH60";
   displayNameShort = "$STR_DN_UH60";


==deltaT==
==deltaT==
[[TokenNameValueTypes|Integer]]: This TokenName is used inside the Smoke class of animation classes
[[TokenNameValueTypess|Integer]]: This TokenName is used inside the Smoke class of animation classes


     deltaT = -500;
     deltaT = -500;
==density==
==density==
'''new''' [[TokenNameValueTypes|Float]]: This TokenName is used inside the Smoke class of animation classes
'''new''' [[TokenNameValueTypess|Float]]: This TokenName is used inside the Smoke class of animation classes


   density = 0.5;
   density = 0.5;


==driverCanSee==
==driverCanSee==
[[TokenNameValueTypes|String]] (math formula)
[[TokenNameValueTypess|String]] (math formula)
   driverCanSee = "2+8";
   driverCanSee = "2+8";
==driverIsCommander==
==driverIsCommander==
[[TokenNameValueTypes|Bool]]
[[TokenNameValueTypess|Bool]]
  driverIsCommander = true;
  driverIsCommander = true;
==driverForceOptics==
==driverForceOptics==
'''new''' [[TokenNameValueTypes|Bool]]
'''new''' [[TokenNameValueTypess|Bool]]
   driverForceOptics = true;
   driverForceOptics = true;


Line 372: Line 372:
<hr>
<hr>
==...Elev==
==...Elev==
[[TokenNameValueTypes|Integer]]:Degrees
[[TokenNameValueTypess|Integer]]:Degrees
  initElev = -80;
  initElev = -80;
  minElev = -60;
  minElev = -60;
  maxElev = 10;
  maxElev = 10;
==ejectDamageLimit==
==ejectDamageLimit==
'''new''' [[TokenNameValueTypes|Float]]: You can get hurt, but you can't die with vals less than 1.0
'''new''' [[TokenNameValueTypess|Float]]: You can get hurt, but you can't die with vals less than 1.0
   ejectDamageLimit = 0.750000;
   ejectDamageLimit = 0.750000;
==ejectDead...==
==ejectDead...==
[[TokenNameValueTypes|Boolean]]
[[TokenNameValueTypess|Boolean]]
   ejectDeadGunner = false;
   ejectDeadGunner = false;
   ejectDeadCargo = true;
   ejectDeadCargo = true;
Line 387: Line 387:


==ejectSpeed==
==ejectSpeed==
'''new''' [[TokenNameValueTypes|Array]]
'''new''' [[TokenNameValueTypess|Array]]
  ejectSpeed[] = {0,0,0};
  ejectSpeed[] = {0,0,0};


Line 395: Line 395:


==envelope==
==envelope==
'''new''' [[TokenNameValueTypes|Float]] [[TokenNameValueTypes|Array]]
'''new''' [[TokenNameValueTypess|Float]] [[TokenNameValueTypess|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};
  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==
==elevatorSensitivity==
'''new''' [[TokenNameValueTypes|Float]]
'''new''' [[TokenNameValueTypess|Float]]
  elevatorSensitivity = 0.2;
  elevatorSensitivity = 0.2;


==extCameraPosition[]==
==extCameraPosition[]==
[[TokenNameValueTypes|Array]]
[[TokenNameValueTypess|Array]]
   extCameraPosition[] = {0,2,-15};
   extCameraPosition[] = {0,2,-15};
<hr><hr>
<hr><hr>
Line 412: Line 412:
  minFireTime=
  minFireTime=
==fired==
==fired==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
  fired = "_this exec ""\AnyAddon\AnySQS.sqs"""; // note the ""
  fired = "_this exec ""\AnyAddon\AnySQS.sqs"""; // note the ""


==flapsFrictionCoef==
==flapsFrictionCoef==
'''new''' [[TokenNameValueTypes|Integer]]
'''new''' [[TokenNameValueTypess|Integer]]
   flapsFrictionCoef = 2;
   flapsFrictionCoef = 2;
==flySound==
==flySound==
'''new''' [[TokenNameValueTypes|Array]]
'''new''' [[TokenNameValueTypess|Array]]
  flySound[] = {"\AddonName\AnySound.wss",0.000000,1,1};
  flySound[] = {"\AddonName\AnySound.wss",0.000000,1,1};
see [[#sound...]]
see [[#sound...]]
==forceHide...==
==forceHide...==
[[TokenNameValueTypes|Boolean]]
[[TokenNameValueTypess|Boolean]]
  forceHideDriver = true;
  forceHideDriver = true;
  forceHideGunner = false;
  forceHideGunner = false;
Line 433: Line 433:
  formationTime=
  formationTime=
==fov==
==fov==
[[TokenNameValueTypes|Float]]
[[TokenNameValueTypess|Float]]
   fov = 0.500000;
   fov = 0.500000;
==...Fov==
==...Fov==
'''new''' [[TokenNameValueTypes|Float]]
'''new''' [[TokenNameValueTypess|Float]]
   initFov = 0.100000;
   initFov = 0.100000;
   minFov = 0.030000;
   minFov = 0.030000;
Line 442: Line 442:


==fuelCapacity==
==fuelCapacity==
[[TokenNameValueTypes|Array]]
[[TokenNameValueTypess|Array]]
   fuelCapacity = 246;
   fuelCapacity = 246;
----
----
Line 455: Line 455:
  getInAction=
  getInAction=
==getInRadius==
==getInRadius==
'''old''' [[TokenNameValueTypes|Float]]: distance from vehicle where getting in is possible  
'''old''' [[TokenNameValueTypess|Float]]: distance from vehicle where getting in is possible  


  getInRadius= getInRadius=2.5;  //meters is normal
  getInRadius= getInRadius=2.5;  //meters is normal
Line 462: Line 462:
  getOutAction=
  getOutAction=
==gun==
==gun==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
     gun = "mainGun";
     gun = "mainGun";
==gunAimDown==
==gunAimDown==
'''new''' [[TokenNameValueTypes|Float]]
'''new''' [[TokenNameValueTypess|Float]]
   gunAimDown = 0.07;
   gunAimDown = 0.07;


==gunBeg==
==gunBeg==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
     gunBeg = "muzzle_1";
     gunBeg = "muzzle_1";
===gunEnd===
===gunEnd===
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
     gunEnd = "chamber_1";
     gunEnd = "chamber_1";


==gunnerHasFlares==
==gunnerHasFlares==
'''new''' [[TokenNameValueTypes|Boolean]]
'''new''' [[TokenNameValueTypess|Boolean]]
   gunnerHasFlares = false;
   gunnerHasFlares = false;


==...GunnerMayFire==
==...GunnerMayFire==
[[TokenNameValueTypes|Boolean]]
[[TokenNameValueTypess|Boolean]]


       outGunnerMayFire = true;
       outGunnerMayFire = true;
Line 486: Line 486:


==gunnerName==
==gunnerName==
'''new''' [[TokenNameValueTypes|String]]
'''new''' [[TokenNameValueTypess|String]]
     gunnerName = "$STR_POSITION_CREWCHIEF";
     gunnerName = "$STR_POSITION_CREWCHIEF";


==gunnerOutOptics...==
==gunnerOutOptics...==
'''new'''  
'''new'''  
[[TokenNameValueTypes|String]]
[[TokenNameValueTypess|String]]
       gunnerOutOpticsModel = "";
       gunnerOutOpticsModel = "";
[[TokenNameValueTypes|Array]]
[[TokenNameValueTypess|Array]]
       gunnerOutOpticsColor[] = {0,0,0,1};
       gunnerOutOpticsColor[] = {0,0,0,1};
[[TokenNameValueTypes|Boolean]]
[[TokenNameValueTypess|Boolean]]
       gunnerOutForceOptics = false;
       gunnerOutForceOptics = false;
[[TokenNameValueTypes|Boolean]]
[[TokenNameValueTypess|Boolean]]
       gunnerOutOpticsShowCursor = false;
       gunnerOutOpticsShowCursor = false;


Line 505: Line 505:
=H=
=H=
==...Height==
==...Height==
'''new''' [[TokenNameValueTypes|Integer]]:  
'''new''' [[TokenNameValueTypess|Integer]]:  
  minHeight = 5; //Min height in metres above sealevel.  
  minHeight = 5; //Min height in metres above sealevel.  
  maxHeight = 50;//max height above sea level.
  maxHeight = 50;//max height above sea level.
Line 516: Line 516:
  hasDriver=true;
  hasDriver=true;
==hiddenSelections==
==hiddenSelections==
[[TokenNameValueTypes|String]] [[TokenNameValueTypes|Array]]
[[TokenNameValueTypess|String]] [[TokenNameValueTypess|Array]]
  hiddenSelections[] = {"pruh"};
  hiddenSelections[] = {"pruh"};


==hide...==
==hide...==
[[TokenNameValueTypes|Bool]]
[[TokenNameValueTypess|Bool]]
  hideProxyInCombat = false;
  hideProxyInCombat = false;
  hideUnitInfo = false;//'''old'''
  hideUnitInfo = false;//'''old'''
Line 529: Line 529:


==hitpoint==
==hitpoint==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
     hitpoint = "L svetlo";
     hitpoint = "L svetlo";


Line 537: Line 537:


==icon==
==icon==
[[TokenNameValueTypes|String]]:
[[TokenNameValueTypess|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 546: Line 546:


==in==
==in==
'''new''' [[TokenNameValueTypes|Float]]: This TokenName is used inside the Smoke class of animation classes
'''new''' [[TokenNameValueTypess|Float]]: This TokenName is used inside the Smoke class of animation classes


   in= 0.0;
   in= 0.0;
Line 552: Line 552:


==init==
==init==
[[TokenNameValueTypes|String]]:
[[TokenNameValueTypess|String]]:
   init = "[(_this select 0)] exec ""\AnyAddon\AnySqs.sqs"""; // note the ""
   init = "[(_this select 0)] exec ""\AnyAddon\AnySqs.sqs"""; // note the ""
==initT==
==initT==
'''new''' [[TokenNameValueTypes|Integer]]: This TokenName is used inside the Smoke class of animation classes
'''new''' [[TokenNameValueTypess|Integer]]: This TokenName is used inside the Smoke class of animation classes


     initT = 1000;
     initT = 1000;
==initYSpeed==
==initYSpeed==
'''new''' [[TokenNameValueTypes|Float]]: This TokenName is used inside the Smoke class of animation classes
'''new''' [[TokenNameValueTypess|Float]]: This TokenName is used inside the Smoke class of animation classes


     initYSpeed = 1.7;
     initYSpeed = 1.7;
==interval==
==interval==
'''new''' [[TokenNameValueTypes|Float]]: This TokenName is used inside the Smoke class of animation classes
'''new''' [[TokenNameValueTypess|Float]]: This TokenName is used inside the Smoke class of animation classes


       interval = 0.010000;
       interval = 0.010000;


==irScanGround==
==irScanGround==
[[TokenNameValueTypes|Integer]]:
[[TokenNameValueTypess|Integer]]:
   irScanGround = 0;
   irScanGround = 0;
==irScanRange...==
==irScanRange...==
'''new''' [[TokenNameValueTypes|Integer]]:
'''new''' [[TokenNameValueTypess|Integer]]:
   irScanRange = 4000;
   irScanRange = 4000;
   irScanRangeMin = 4000; // a vulcan
   irScanRangeMin = 4000; // a vulcan
   irScanRangeMax = 10000; // a shilka
   irScanRangeMax = 10000; // a shilka
==irScanToEyeFactor==
==irScanToEyeFactor==
[[TokenNameValueTypes|Integer]]:
[[TokenNameValueTypess|Integer]]:
   irScanToEyeFactor = 5;
   irScanToEyeFactor = 5;


==irTarget==
==irTarget==
[[TokenNameValueTypes|Bool]]: Used for buildings so that they don't show up on tank radar
[[TokenNameValueTypess|Bool]]: Used for buildings so that they don't show up on tank radar
   irTarget = false;
   irTarget = false;
<hr><hr>
<hr><hr>
Line 587: Line 587:
<hr>
<hr>
==killed==
==killed==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|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 596: Line 596:
<hr>
<hr>
==ladders[]==
==ladders[]==
Embedded [[TokenNameValueTypes|Array]]: The ladders array is used to declare one or more ladder pairs inside the model.
Embedded [[TokenNameValueTypess|Array]]: The ladders array is used to declare one or more ladder pairs inside the model.


  ladders[] = { {"start","end" } }; // a building wiht one ladder
  ladders[] = { {"start","end" } }; // a building wiht one ladder
Line 608: Line 608:


==landingAoa==
==landingAoa==
'''new''' [[TokenNameValueTypes|String]] (math formula) Landing Angle of Approach
'''new''' [[TokenNameValueTypess|String]] (math formula) Landing Angle of Approach
   landingAoa = "3.5*3.1415/180";
   landingAoa = "3.5*3.1415/180";


==landingSpeed==
==landingSpeed==
'''new''' [[TokenNameValueTypes|Integer]]
'''new''' [[TokenNameValueTypess|Integer]]
   landingSpeed = 75;
   landingSpeed = 75;


Line 622: Line 622:
   laserTarget= =
   laserTarget= =
==library==
==library==
'''new''' [[TokenNameValueTypes|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:
'''new''' [[TokenNameValueTypess|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 633: Line 633:
=M=
=M=
==magazine==
==magazine==
'''new''' [[TokenNameValueTypes|Array]]: used in TransportMagazines class this specifies the type of ammo in the magzine and the amount.
'''new''' [[TokenNameValueTypess|Array]]: used in TransportMagazines class this specifies the type of ammo in the magzine and the amount.


  magazine = "30Rnd_556x45_Stanag";
  magazine = "30Rnd_556x45_Stanag";
Line 639: Line 639:


==magazines==
==magazines==
''[[TokenNameValueTypes|Array]]'': variable strings
''[[TokenNameValueTypess|Array]]'': variable strings
   magazines[] = {"750Rnd_M197_AH1","38Rnd_FFAR","8Rnd_Hellfire"};
   magazines[] = {"750Rnd_M197_AH1","38Rnd_FFAR","8Rnd_Hellfire"};
==mainRotorSpeed==
==mainRotorSpeed==
'''new''' [[TokenNameValueTypes|Integer]]:
'''new''' [[TokenNameValueTypess|Integer]]:
  mainRotorSpeed = -1;
  mainRotorSpeed = -1;
===backRotorSpeed===
===backRotorSpeed===
'''new''' [[TokenNameValueTypes|Float]]
'''new''' [[TokenNameValueTypess|Float]]
backRotorSpeed  = 1.0;
backRotorSpeed  = 1.0;


hmmm, that's curious, it accepts floats or ints.
hmmm, that's curious, it accepts floats or ints.
==mapSize==
==mapSize==
[[TokenNameValueTypes|Float]]: Used for the map editor to show the icon associated with this model class. See [[#icon]]
[[TokenNameValueTypess|Float]]: Used for the map editor to show the icon associated with this model class. See [[#icon]]


There is no x y component to this, the meaurement units are meters.
There is no x y component to this, the meaurement units are meters.
Line 660: Line 660:


== marker==  
== marker==  
'''new''' [[TokenNameValueTypes|String]] : used as a core for all other air craft when looking on map.
'''new''' [[TokenNameValueTypess|String]] : used as a core for all other air craft when looking on map.
  marker = "\AnyAddon\AnyP3d.(p3d")";
  marker = "\AnyAddon\AnyP3d.(p3d")";
==material==
==material==
'''new''' ''[[TokenNameValueTypes|Integer]]'':
'''new''' ''[[TokenNameValueTypess|Integer]]'':
   material = 50;
   material = 50;


==maxT ==
==maxT ==
'''new''' [[TokenNameValueTypes|Integer]]: This TokenName is used inside the Smoke class of animation classes
'''new''' [[TokenNameValueTypess|Integer]]: This TokenName is used inside the Smoke class of animation classes


     maxT = 0;
     maxT = 0;
Line 673: Line 673:


==memoryPointExhaust...==
==memoryPointExhaust...==
'''new''' [[TokenNameValueTypes|String]]:  
'''new''' [[TokenNameValueTypess|String]]:  
  memoryPointExhaust = "exhaust_start";
  memoryPointExhaust = "exhaust_start";
  memoryPointExhaustDir = "exhaust_end";
  memoryPointExhaustDir = "exhaust_end";
Line 679: Line 679:


==memoryPointGun==
==memoryPointGun==
'''new''' ''[[TokenNameValueTypes|String]]:''  
'''new''' ''[[TokenNameValueTypess|String]]:''  
     memoryPointGun = "machinegun";
     memoryPointGun = "machinegun";
==memoryPointGunnerOptics==
==memoryPointGunnerOptics==
'''new''' [[TokenNameValueTypes|String]]  
'''new''' [[TokenNameValueTypess|String]]  
     memoryPointGunnerOptics = "gunnerview";
     memoryPointGunnerOptics = "gunnerview";
==memoryPointGunnerOutOptics==
==memoryPointGunnerOutOptics==
'''new''' [[TokenNameValueTypes|String]]  
'''new''' [[TokenNameValueTypess|String]]  
       memoryPointGunnerOutOptics = "commander_weapon_view";
       memoryPointGunnerOutOptics = "commander_weapon_view";


==memoryPoint...Missile==
==memoryPoint...Missile==
'''new''' ''[[TokenNameValueTypes|String]]:''  
'''new''' ''[[TokenNameValueTypess|String]]:''  
     memoryPointLMissile = "Missile_1";
     memoryPointLMissile = "Missile_1";
     memoryPointRMissile = "Missile_2";
     memoryPointRMissile = "Missile_2";
==memoryPoint...Rocket==
==memoryPoint...Rocket==
'''new''' ''[[TokenNameValueTypes|String]]:''  
'''new''' ''[[TokenNameValueTypess|String]]:''  
     memoryPointLRocket = "Rocket_1";
     memoryPointLRocket = "Rocket_1";
     memoryPointRRocket = "Rocket_2";
     memoryPointRRocket = "Rocket_2";
==memoryPointsGetIn...==
==memoryPointsGetIn...==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
     memoryPointsGetInCargo = "pos_cargo";
     memoryPointsGetInCargo = "pos_cargo";
     memoryPointsGetInCoDriver = "pos_codriver";
     memoryPointsGetInCoDriver = "pos_codriver";
Line 704: Line 704:
     memoryPointsGetInGunner = "pos gunner";
     memoryPointsGetInGunner = "pos gunner";
===memoryPointsGetIn...Dir===
===memoryPointsGetIn...Dir===
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
     memoryPointsGetInCargoDir = "pos_cargo_dir";
     memoryPointsGetInCargoDir = "pos_cargo_dir";
     memoryPointsGetInCoDriverDir = "pos_codriver_dir";
     memoryPointsGetInCoDriverDir = "pos_codriver_dir";
Line 711: Line 711:
     memoryPointsGetInGunnerDir = "pos gunner dir";
     memoryPointsGetInGunnerDir = "pos gunner dir";
==memoryPointSupply==
==memoryPointSupply==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
   memoryPointSupply = "supply";
   memoryPointSupply = "supply";


==memoryPointTrack...==
==memoryPointTrack...==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
   memoryPointTrackFLL = "tyreTrack_1_1l";
   memoryPointTrackFLL = "tyreTrack_1_1l";
   memoryPointTrackFLR = "tyreTrack_1_1r";
   memoryPointTrackFLR = "tyreTrack_1_1r";
Line 727: Line 727:


==model==
==model==
''[[TokenNameValueTypes|String]]:'' Location in the addon where the p3d model resides. Can be subfolder
''[[TokenNameValueTypess|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 734: Line 734:
=N=
=N=
==name==
==name==
''[[TokenNameValueTypes|String]]'':
''[[TokenNameValueTypess|String]]'':
   name = "motor";
   name = "motor";
==nameSound ==
==nameSound ==
''[[TokenNameValueTypes|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.
''[[TokenNameValueTypess|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 760: Line 760:


==noseDownCoef==
==noseDownCoef==
'''new''' [[TokenNameValueTypes|Float]]
'''new''' [[TokenNameValueTypess|Float]]
  noseDownCoef = 0.025;
  noseDownCoef = 0.025;
<hr><hr>
<hr><hr>
Line 767: Line 767:
<hr>
<hr>
==...OpticsColor==
==...OpticsColor==
'''old''' [[TokenNameValueTypes|Array]]
'''old''' [[TokenNameValueTypess|Array]]
   commanderOpticsColor= {...};
   commanderOpticsColor= {...};
   driverOpticsColor= {...};
   driverOpticsColor= {...};
Line 774: Line 774:
==...OpticsModel==
==...OpticsModel==
===commanderOpticsModel===
===commanderOpticsModel===
[[TokenNameValueTypes|String]]
[[TokenNameValueTypess|String]]
   commanderOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
   commanderOpticsModel= "\AnyPbo\AnyP3d(.p3d)";


===driverOpticsModel===
===driverOpticsModel===
[[TokenNameValueTypes|String]]
[[TokenNameValueTypess|String]]
   driverOpticsModel = "\AnyPbo\AnyP3d(.p3d)";
   driverOpticsModel = "\AnyPbo\AnyP3d(.p3d)";


Line 784: Line 784:


====gunnerOpticsModel====
====gunnerOpticsModel====
[[TokenNameValueTypes|String]]
[[TokenNameValueTypess|String]]
   gunnerOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
   gunnerOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
====gunnerOpticsShowCursor====
====gunnerOpticsShowCursor====
[[TokenNameValueTypes|Bool]]
[[TokenNameValueTypess|Bool]]
   gunnerOpticsShowCursor = true;
   gunnerOpticsShowCursor = true;


Line 793: Line 793:


==out==
==out==
[[TokenNameValueTypes|Float]]: This TokenName is used inside the Smoke class of animation classes
[[TokenNameValueTypess|Float]]: This TokenName is used inside the Smoke class of animation classes


   out= 0.0;
   out= 0.0;
Line 806: Line 806:
   passThrough = 1;
   passThrough = 1;
==picture ==
==picture ==
[[TokenNameValueTypes|String]]: I think this is for briefing Information icon click
[[TokenNameValueTypess|String]]: I think this is for briefing Information icon click
   picture = "\AnyAddon\AnyPAA(.paa)";
   picture = "\AnyAddon\AnyPAA(.paa)";
==position==
==position==
[[TokenNameValueTypes|Float]]: This TokenName is used inside the Light class of animation classes
[[TokenNameValueTypess|Float]]: This TokenName is used inside the Light class of animation classes


   position = "ohniste";
   position = "ohniste";


==primary==
==primary==
[[TokenNameValueTypes|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'.
[[TokenNameValueTypess|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;
   primary = true;
Line 824: Line 824:


==proxyIndex==
==proxyIndex==
[[TokenNameValueTypes|Integer]]
[[TokenNameValueTypess|Integer]]
     proxyIndex = 2;
     proxyIndex = 2;
==proxyType==
==proxyType==
[[TokenNameValueTypes|String]]
[[TokenNameValueTypess|String]]
       proxyType = "CPCommander";
       proxyType = "CPCommander";


==position==
==position==
[[TokenNameValueTypes|String]]:
[[TokenNameValueTypess|String]]:
     position = "L svetlo";
     position = "L svetlo";


Line 842: Line 842:
==reversed==
==reversed==


[[TokenNameValueTypes|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]]
[[TokenNameValueTypess|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 = false;
  reversed = false;


==rotor...==
==rotor...==
===rotorBig===
===rotorBig===
''[[TokenNameValueTypes|String]]:''
''[[TokenNameValueTypess|String]]:''
   rotorBig = "vrtule_velka";
   rotorBig = "vrtule_velka";
====rotorBigBlend====
====rotorBigBlend====
''[[TokenNameValueTypes|String]]:''
''[[TokenNameValueTypess|String]]:''
   rotorBigBlend = "vrtule_velka_bl";
   rotorBigBlend = "vrtule_velka_bl";
===rotorSmall===
===rotorSmall===
''[[TokenNameValueTypes|String]]:''
''[[TokenNameValueTypess|String]]:''
   rotorSmall = "vrtule_mala";
   rotorSmall = "vrtule_mala";
====rotorSmallBlend====
====rotorSmallBlend====
''[[TokenNameValueTypes|String]]:''
''[[TokenNameValueTypess|String]]:''
   rotorSmallBlend = "vrtule_mala_bl";
   rotorSmallBlend = "vrtule_mala_bl";


Line 863: Line 863:
=S=
=S=
==scope==
==scope==
[[TokenNameValueTypes|Intger]]:
[[TokenNameValueTypess|Intger]]:


  scope = public;
  scope = public;
Line 923: Line 923:


==selection==
==selection==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
     selection = "L svetlo";
     selection = "L svetlo";
==Selection...==
==Selection...==
'''new''' [[TokenNameValueTypes|String]]:
'''new''' [[TokenNameValueTypess|String]]:
   selectionBackLights = "light_back";
   selectionBackLights = "light_back";
   selectionBrakeLights = "light_brake";
   selectionBrakeLights = "light_brake";
Line 937: Line 937:


==shape==
==shape==
'''new''' [[TokenNameValueTypes|Float]]: This TokenName is used inside the Light class of animation classes
'''new''' [[TokenNameValueTypess|Float]]: This TokenName is used inside the Light class of animation classes


     shape = "koulesvetlo";
     shape = "koulesvetlo";
Line 949: Line 949:


==side==
==side==
[[TokenNameValueTypes|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.
[[TokenNameValueTypess|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 965: Line 965:


==simulation==
==simulation==
[[TokenNameValueTypes|String]]: The engine behaviour with this [[#model]].
[[TokenNameValueTypess|String]]: The engine behaviour with this [[#model]].
  simulation = "SeaGull";
  simulation = "SeaGull";
   simulation = "thing";
   simulation = "thing";
Line 973: Line 973:
   
   
==singSound==
==singSound==
'''new''' [[TokenNameValueTypes|Array]]: normally for a bird see [[#sound...]]
'''new''' [[TokenNameValueTypess|Array]]: normally for a bird see [[#sound...]]
  singSound[] = {"\AddonName\SoundFile.ogg",0.031623,1,1};
  singSound[] = {"\AddonName\SoundFile.ogg",0.031623,1,1};


==size==
==size==
'''new''' [[TokenNameValueTypes|Float]]: This TokenName is used inside the Smoke class of animation classes
'''new''' [[TokenNameValueTypess|Float]]: This TokenName is used inside the Smoke class of animation classes


   size = 0.1;
   size = 0.1;
Line 988: Line 988:
also see [[#flySound]] , [[#singSound]]
also see [[#flySound]] , [[#singSound]]
===soundCrash===
===soundCrash===
[[TokenNameValueTypes|Array]]:
[[TokenNameValueTypess|Array]]:
   soundCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
   soundCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
===soundDammage===
===soundDammage===
''[[TokenNameValueTypes|Array]]'':
''[[TokenNameValueTypess|Array]]'':
   soundDammage[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
   soundDammage[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
===soundEngine===
===soundEngine===
''[[TokenNameValueTypes|Array]]'':
''[[TokenNameValueTypess|Array]]'':
   soundEngine[] = {"\AnyAddon\AnySound(.wss)",5.623414,1};
   soundEngine[] = {"\AnyAddon\AnySound(.wss)",5.623414,1};
===soundEnviron===
===soundEnviron===
[[TokenNameValueTypes|Array]] complex.
[[TokenNameValueTypess|Array]] complex.
   soundEnviron[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000};
   soundEnviron[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000};
====SoundEnvironExt====
====SoundEnvironExt====
'''old''' [[TokenNameValueTypes|Array]] complex.
'''old''' [[TokenNameValueTypess|Array]] complex.
   soundEnvironExt[] = {...};
   soundEnvironExt[] = {...};
=== soundGear===
=== soundGear===
'''new''' [[TokenNameValueTypes|Array]] complex.
'''new''' [[TokenNameValueTypess|Array]] complex.
  soundGear[] = {"\AnyAddon\AnySound(.wss)",0.316228,1};
  soundGear[] = {"\AnyAddon\AnySound(.wss)",0.316228,1};
===SoundGetIn===
===SoundGetIn===
[[TokenNameValueTypes|Array]]:
[[TokenNameValueTypess|Array]]:
   SoundGetIn[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
   SoundGetIn[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
===soundGetOut===
===soundGetOut===
''[[TokenNameValueTypes|Array]]'':
''[[TokenNameValueTypess|Array]]'':
   soundGetOut[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
   soundGetOut[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
===soundLandCrash===
===soundLandCrash===
''[[TokenNameValueTypes|Array]]'':
''[[TokenNameValueTypess|Array]]'':
   soundLandCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
   soundLandCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
===soundServo===
===soundServo===
''[[TokenNameValueTypes|Array]]'':
''[[TokenNameValueTypess|Array]]'':
   soundServo[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000};
   soundServo[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000};
===soundWaterCrash===
===soundWaterCrash===
[[TokenNameValueTypes|Array]]
[[TokenNameValueTypess|Array]]
   soundWaterCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
   soundWaterCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};


==source==
==source==
''new''' ''[[TokenNameValueTypes|String]]'': found in animationSources
''new''' ''[[TokenNameValueTypess|String]]'': found in animationSources
     source = "reload";
     source = "reload";
     source = "time";
     source = "time";
==sourceAddress ==
==sourceAddress ==
'''new''' ''[[TokenNameValueTypes|String]]'': found in animationSources
'''new''' ''[[TokenNameValueTypess|String]]'': found in animationSources
     sourceAddress = "loop";
     sourceAddress = "loop";


==...Speed==
==...Speed==
''[[TokenNameValueTypes|Float]]:'' In Kph.
''[[TokenNameValueTypess|Float]]:'' In Kph.
  minSpeed = -0.500000; //range 0->1
  minSpeed = -0.500000; //range 0->1
  maxSpeed = 20;
  maxSpeed = 20;
Line 1,042: Line 1,042:
  steerAheadPlan=
  steerAheadPlan=
==straightDistance==
==straightDistance==
'''new''' [[TokenNameValueTypes|INTEGER]]:''
'''new''' [[TokenNameValueTypess|INTEGER]]:''
  straightDistance = 50;
  straightDistance = 50;
==submerged==
==submerged==
Line 1,049: Line 1,049:
  submergeSpeed=
  submergeSpeed=
==supplyRadius ==
==supplyRadius ==
'''new''' [[TokenNameValueTypes|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.
'''new''' [[TokenNameValueTypess|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;
   supplyRadius = 2.500000;
Line 1,056: Line 1,056:
=T=
=T=
==...Turn==
==...Turn==
'''new''' [[TokenNameValueTypes|Integer]] Degrees
'''new''' [[TokenNameValueTypess|Integer]] Degrees
   initTurn = 90;
   initTurn = 90;
   minTurn= -70;
   minTurn= -70;
Line 1,062: Line 1,062:


===turning===
===turning===
'''new''' [[TokenNameValueTypes|Boolean]]:'' (i think)
'''new''' [[TokenNameValueTypess|Boolean]]:'' (i think)
  turning = 1;
  turning = 1;


===turnCoef===
===turnCoef===
'''new''' [[TokenNameValueTypes|Float]]:
'''new''' [[TokenNameValueTypess|Float]]:
   turnCoef = 6.0;
   turnCoef = 6.0;
==terrainCoef ==
==terrainCoef ==
'''new''' [[TokenNameValueTypes|Float]]:
'''new''' [[TokenNameValueTypess|Float]]:
   terrainCoef = 6.0;
   terrainCoef = 6.0;


==threat==
==threat==
[[TokenNameValueTypes|Array]]: how threatening you are to unit types {Soft, Armor, Air}, respectively
[[TokenNameValueTypess|Array]]: how threatening you are to unit types {Soft, Armor, Air}, respectively
values range between 0 and 1 thus a Law Soldier would appear as
values range between 0 and 1 thus a Law Soldier would appear as
{1,.9,.3} ie not very threatening to aircraft
{1,.9,.3} ie not very threatening to aircraft
Line 1,084: Line 1,084:


==timeToLive==
==timeToLive==
[[TokenNameValueTypes|Float]]: This TokenName is used inside the Smoke class of animation classes
[[TokenNameValueTypess|Float]]: This TokenName is used inside the Smoke class of animation classes


     timeToLive = 100000002004087730000.0;
     timeToLive = 100000002004087730000.0;
Line 1,090: Line 1,090:
==transport...==
==transport...==
===transportAmmo===
===transportAmmo===
[[TokenNameValueTypes|Integer]]: Used by supply 'vehicles' to determine total amount avaialable for entire mission. Once depleted...
[[TokenNameValueTypess|Integer]]: Used by supply 'vehicles' to determine total amount avaialable for entire mission. Once depleted...


A 'vehicle' in this case can be a genuine repair truck, or, a building.
A 'vehicle' in this case can be a genuine repair truck, or, a building.
Line 1,101: Line 1,101:


===transportMagazines ===
===transportMagazines ===
'''old?''' [[TokenNameValueTypes|Array]]:  
'''old?''' [[TokenNameValueTypess|Array]]:  
  transportMagazines = {...};
  transportMagazines = {...};
===TransportWeapons===
===TransportWeapons===
'''old?''' [[TokenNameValueTypes|Array]]:  
'''old?''' [[TokenNameValueTypess|Array]]:  
  TransportWeapons= {...};
  TransportWeapons= {...};
===transportMaxMagazines ===
===transportMaxMagazines ===
[[TokenNameValueTypes|Integer]]:  
[[TokenNameValueTypess|Integer]]:  
  transportMaxMagazines = 150;
  transportMaxMagazines = 150;
===transportMaxWeapons ===
===transportMaxWeapons ===
[[TokenNameValueTypes|Integer]]:  
[[TokenNameValueTypess|Integer]]:  
   transportMaxWeapons = 30;
   transportMaxWeapons = 30;
===transportSoldier===
===transportSoldier===
[[TokenNameValueTypes|Integer]]: Number of 'passengers' this vehicle can carry. The value does '''not''' include the driver, '''nor''' any vehicle positions such as gunnder (if any) or commander(if any)
[[TokenNameValueTypess|Integer]]: Number of 'passengers' this vehicle can carry. The value does '''not''' include the driver, '''nor''' any vehicle positions such as gunnder (if any) or commander(if any)


   transportSoldier = 3;//jeep/car
   transportSoldier = 3;//jeep/car
Line 1,131: Line 1,131:
==transportVehiclesMass==
==transportVehiclesMass==
==type==
==type==
[[TokenNameValueTypes|Integer]]: this indicates the threat type of the 'vehicle'.
[[TokenNameValueTypess|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
In well written configs, the 3 possible values are declared as defines at top of file for legibility
Line 1,145: Line 1,145:


==typicalCargo==
==typicalCargo==
Variable String [[TokenNameValueTypes|Array]]:Preloads vehicle with units (if auto)
Variable String [[TokenNameValueTypess|Array]]:Preloads vehicle with units (if auto)


This array can have zero or more strings.
This array can have zero or more strings.
Line 1,157: Line 1,157:
=U=
=U=
==...UsesPilotView==
==...UsesPilotView==
'''new''' [[TokenNameValueTypes|Bool]]:
'''new''' [[TokenNameValueTypess|Bool]]:
  gunnerUsesPilotView = false;
  gunnerUsesPilotView = false;
  commanderUsesPilotView=true;
  commanderUsesPilotView=true;


==unitInfoType==
==unitInfoType==
[[TokenNameValueTypes|String]]
[[TokenNameValueTypess|String]]
   unitInfoType = "UnitInfoSoldier";
   unitInfoType = "UnitInfoSoldier";


Line 1,171: Line 1,171:
=V=
=V=
==vehicleClass==
==vehicleClass==
[[TokenNameValueTypes|String]]: Used for Mission Editor basic category selection
[[TokenNameValueTypess|String]]: Used for Mission Editor basic category selection
   vehicleClass = "Air";
   vehicleClass = "Air";


==View...==
==View...==
'''old''' [[TokenNameValueTypes|Array]]:  
'''old''' [[TokenNameValueTypess|Array]]:  
  ViewCargo={..};
  ViewCargo={..};
  ViewCommander={..};
  ViewCommander={..};
Line 1,182: Line 1,182:


==ViewOptics==
==ViewOptics==
'''old''' [[TokenNameValueTypes|Array]]:  
'''old''' [[TokenNameValueTypess|Array]]:  


==visibleNightLights..Off==
==visibleNightLights..Off==
Line 1,190: Line 1,190:


==view...Shadow ==
==view...Shadow ==
[[TokenNameValueTypes|Boolean]]:  
[[TokenNameValueTypess|Boolean]]:  
   viewCargoShadow = true;
   viewCargoShadow = true;
   viewGunnerShadow = true;
   viewGunnerShadow = true;
Line 1,202: Line 1,202:
=W=
=W=
==weapon==
==weapon==
'''new''' [[TokenNameValueTypes|String]]: found in animationSources
'''new''' [[TokenNameValueTypess|String]]: found in animationSources
     weapon = "M197";
     weapon = "M197";
==weapons[]==
==weapons[]==
''[[TokenNameValueTypes|Array]]'': an array of selectable weaponry for the given 'vehicle'
''[[TokenNameValueTypess|Array]]'': an array of selectable weaponry for the given 'vehicle'
   weapons[] = {"FFARLauncher","TwinM134"};
   weapons[] = {"FFARLauncher","TwinM134"};
==WeaponSlots==
==WeaponSlots==
Line 1,221: Line 1,221:


==wheelCircumference==
==wheelCircumference==
'''new''' [[TokenNameValueTypes|Float]]
'''new''' [[TokenNameValueTypess|Float]]
   wheelCircumference = 4.513000;
   wheelCircumference = 4.513000;
==wheelSteeringSensitivity==
==wheelSteeringSensitivity==
'''new''' [[TokenNameValueTypes|Float]]
'''new''' [[TokenNameValueTypess|Float]]


   wheelSteeringSensitivity = 0.500000;
   wheelSteeringSensitivity = 0.500000;

Revision as of 06:02, 2 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 statements 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 that will be held in 4 bytes.

Boolean: An Integer value of 0 or 1. This is a 'convenience type' in humanly readable text. The engine stores it as an integer.

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

Array: An array []={...}

float Array: An array of floats only string Arrray: should be obvious integer Array: ditto Complex Array: A mixture of multiple types, includig embedded arrays.

Variable Array: the number of elements for this array in this class model can have a varying number of elements (depending on context)

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

...Action

String

 commanderAction = "ManActTestDriver";
 driverAction = "ManActTestDriver";
 gunnerAction = "ManActAH1Gunner";

cargoAction

Variable String Array:

cargoAction[] = {"ManActM113Medic","ManActM113Medic","ManActM113Injured"};

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

The number of elements in this array correspond to the #transportSoldier value declared for this class.

...InAction

String

 commanderInAction = "ManActTestDriver"; 
 driverInAction = "ManActTestDriver";
 gunnerInAction = "ManActTestDriver";

...AngleX

Integer Degrees

  initAngleX = 0;
  minAngleX = -30;
  maxAngleX = 30;

...AngleY

Integer Degrees

  initAngleY = 0;
  minAngleY = -30;
  maxAngleY = 30;

initCargoAngleY

Integer Degrees

 initCargoAngleY = 185;

access

Integer: Determines the manipulability of the class.

access=1;
0 ReadAndWrite additional values can be added
1 ReadAndCreate only adding new class members is allowed
2 ReadOnly no modifications enabled
3 ReadOnlyVerified no modifications enabled, CRC test applied

All BI classes are ReadOnlyVerified and can only be inherited into a new class

accuracy

Integer:

accuracy = 0.5;

Determines how easy an object is to identify. Smaller values are easier.

Typically, buildings are 0.2, vehicles, 0.5 a value of 1000 causes the underlying class to be identified instead. Eg bushy trees, pink trees and yellow trees, can all be 'identified' as "trees". The description "bushy trees" is then used solely when Editing.

see #camouflage

acceleration

new Integer: metres per second

acceleration = 7;

aileronSensitivity

new Float

 aileronsensitivity = 0.66;

airFriction

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

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

ambient

new Array: Used by reflectors

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

animated

Bool : Used by class models that inherit an animated 'vehicle' to turn those aspects of the vehicle off.

  animated = false;

model is animated, or not.

when set true, the animation class, if any, happens, otherwise it doesn't

see animations class

animPeriod

new integer: This TokenName is used inside AnimationSources

animPeriod = 1;

animation...

new String: These animation strings point to rtm files to create the movement.

 animationFlag = "\AnyAddon\AnyRTM(.rtm)";// to wiggle flag in wind
 animationOpen = "\AnyAddon\AnyRTM(.rtm)";// to open or close doors (eg)
 animationDrop = "\AnyAddon\AnyRTM(.rtm)";

animationSource...

new String

   animationSourceBody = "Turret_2";
   animationSourceGun = "Gun_2";
   animationSourceHatch = "hatchCommander";

armor Integer

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

  armor = 50; // a helicopter
  armor = 900; // an Abrams tank

The amount of damage that an object can take before destruction.

A car has 20, a tank (used to have) 200, a building is around 150

1 bullet will kill armor <=20 2 bullets <=40 3 bullets 50

armor (float)

Float: The floating version of armor type is only used in Hit... classes, eg HitTurret HitBody

  armor = 1.4; // a bee
  armor = 0.8;// a turret

armor...

Float:

 armorBody = 0.4; //new 
 armorFuel = 1.4;//new 
 armorGlass = 0.5;//new 
 armorLights = 0.4; // 0.4 in all models.
 armorWheels = 0.1;//new 
 armorStructural= 1; //ranges btwn 1 and 4.0

attendant

Bool: Used for 'vehicles' to repair other vehicles. Thus a hospital has an attendant that can repair soldiers.

 attendant = true;

audible

Integer

 audible = 8;

how loud you are, setting to 0.0001 means you can sneak up on enemy

autocenter

bool: normallly 'vehicles' are auto centered true;

    autocenter = false;

B

body

new String:

   body = "mainTurret";

brakeDistance

old Float:

   brakeDistance= 1.0;

brightness

new Float:

   brightness = 1.0;


C

...CanSee

String (math formula)

 gunnerCanSee = "4+8+16 +1"; // new
 commanderCanSee = 31; // this appears to be wrong

...CargoAngleY

new Integer degrees

 initCargoAngleY = 10;
 minCargoAngleY = -60;
 maxCargoAngleY = 120;

camouflage

Integer:

camouflage = 4;

how difficult to spot - bigger = easier tanks 8, trucks 4, men 1, snipers 0.6

what is the relationship between this and #accuracy?

can...

canBeShot

new Boolean: Declares whether bullets have any effect

canBeShot = true;

canFloat

new Boolean: Used to allow vehicles (such as BMP) not to sink !

 canFloat = true;

canLock

new Boolean:

canLock = 0;


cargoIsCoDriver

Variable Boolean Array

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

The number of elements in this array correspond to the #transportSoldier value declared for this class model.

cast...Shadow

Boolean:

castCargoShadow = true;
castCommanderShadow = true; // not seen in new
castDriverShadow = false;
castGunnerShadow = true;


cloud...

new Various(Strings,Floats,Arrays)

cloud.. TokenNames are used inside the Smoke class of animation classes

  cloudletDuration = 0.900000;
  cloudletAnimPeriod = 1.000000;
  cloudletSize = 0.100000;
  cloudletAlpha = 0.800000;
  cloudletGrowUp = 0.400000;
  cloudletFadeIn = 0.000000;
  cloudletFadeOut = 5.000000;
  cloudletAccY = -0.100000;
  cloudletMinYSpeed = 0.300000;
  cloudletMaxYSpeed = 1.500000;
  cloudletShape = "\ca\data\cl_basic";
  cloudletColor[] = {1,1,1,0};

cobraLight

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

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

coefInside...

Float:

 coefInside = 0.5;
 coefInsideHeur = 0.8;

color

new Array: of floats. Used by reflectors

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

commanding

new 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;

count (string)

new String: (math formula). Used in magazine class to declare amount (of bullets)

count = "30*1";

crew

String: Reflects whether vehicle is manned, and what.

    crew = "SoldierWPilot";


D

dammage...

new Variable String Array:

 dammageHalf[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};
 dammageFull[] = {"\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.

damper...

new Float:

damperSize = 0.100000;
damperForce = 1;

destrType

String: used for animation, sound, and final 'look' of vehicle.

This was an integer value prior to Elite

 destrType = "DestructNo"; // nothing happens
 destrType = "DestructBuilding"; // smoke. explosion
 destrType = "DestructEngine"; // smoke only
 destrType = "DestructTree"; // smoke, crushing, falls over
 destrType = "DestructTent"; // smoke, crushing, flattens
 destrType = "DestructMan";  
 destrType = "DestructDefault"; // =building

Tent and Tree are no longer identifiable when destroyed if not class 'things'

disappearAtContact

old

direction

new 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";

identifies object uniquely in Editor, and separately, is used to identify object in game according to #accuracy

See #nameSound for definition of what is actually 'said'

displayNameShort

new String:

 displayNameShort = "$STR_DN_UH60";

deltaT

Integer: This TokenName is used inside the Smoke class of animation classes

   deltaT = -500;

density

new Float: This TokenName is used inside the Smoke class of animation classes

  density = 0.5;

driverCanSee

String (math formula)

  driverCanSee = "2+8";

driverIsCommander

Bool

driverIsCommander = true;

driverForceOptics

new Bool

  driverForceOptics = true;


E


...Elev

Integer:Degrees

initElev = -80;
minElev = -60;
maxElev = 10;

ejectDamageLimit

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

 ejectDamageLimit = 0.750000;

ejectDead...

Boolean

 ejectDeadGunner = false;
 ejectDeadCargo = true;
 ejectDeadDriver = true;
 ejectDeadCommander = true;

ejectSpeed

new Array

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

enableSweep

new Boolean:

 enableSweep = false;

envelope

new Float 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

new Float

elevatorSensitivity = 0.2;

extCameraPosition[]

Array

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


F

...minFireTime

old

minFireTime=

fired

new String:

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

flapsFrictionCoef

new Integer

 flapsFrictionCoef = 2;

flySound

new Array

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

see #sound...

forceHide...

Boolean

forceHideDriver = true;
forceHideGunner = false;
forceHideCommander=true;

formation...

old

formationX=
formationZ=
formationTime=

fov

Float

 fov = 0.500000;

...Fov

new Float

  initFov = 0.100000;
  minFov = 0.030000;
  maxFov = 1.200000;

fuelCapacity

Array

 fuelCapacity = 246;


G

gearRetracting

Boolean

 gearRetracting = 1;

getInAction

old

getInAction=

getInRadius

old Float: distance from vehicle where getting in is possible

getInRadius= getInRadius=2.5;  //meters is normal

getOutAction

old

getOutAction=

gun

new String:

   gun = "mainGun";

gunAimDown

new Float

 gunAimDown = 0.07;

gunBeg

new String:

   gunBeg = "muzzle_1";

gunEnd

new String:

   gunEnd = "chamber_1";

gunnerHasFlares

new Boolean

  gunnerHasFlares = false;

...GunnerMayFire

Boolean

     outGunnerMayFire = true;
     inGunnerMayFire = false;

gunnerName

new String

   gunnerName = "$STR_POSITION_CREWCHIEF";

gunnerOutOptics...

new String

     gunnerOutOpticsModel = "";

Array

     gunnerOutOpticsColor[] = {0,0,0,1};

Boolean

     gunnerOutForceOptics = false;

Boolean

     gunnerOutOpticsShowCursor = false;



H

...Height

new Integer:

minHeight = 5; //Min height in metres above sealevel. 
maxHeight = 50;//max height above sea level.
avgHeight = 10;

has...

Boolean

 hasGunner = false;
  hasCommander = true;
hasDriver=true;

hiddenSelections

String Array

hiddenSelections[] = {"pruh"};

hide...

Bool

hideProxyInCombat = false;
hideUnitInfo = false;//old
hideWeaponsCargo = false;//old
hideWeaponsCommander = false;//old
hideWeaponsDriver = false;//old
hideWeaponsGunner = false;//old

hitpoint

new String:

   hitpoint = "L svetlo";


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)";

in

new Float: This TokenName is used inside the Smoke class of animation classes

  in= 0.0;

see #out

init

String:

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

initT

new Integer: This TokenName is used inside the Smoke class of animation classes

   initT = 1000;

initYSpeed

new Float: This TokenName is used inside the Smoke class of animation classes

   initYSpeed = 1.7;

interval

new Float: This TokenName is used inside the Smoke class of animation classes

     interval = 0.010000;

irScanGround

Integer:

 irScanGround = 0;

irScanRange...

new Integer:

 irScanRange = 4000;
 irScanRangeMin = 4000; // a vulcan
 irScanRangeMax = 10000; // a shilka

irScanToEyeFactor

Integer:

 irScanToEyeFactor = 5;

irTarget

Bool: Used for buildings so that they don't show up on tank radar

 irTarget = false;


K


killed

new String:

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


L


ladders[]

Embedded Array: The ladders array is used to declare one or more ladder pairs inside the model.

ladders[] = { {"start","end" } }; // a building wiht one ladder
ladders[] = { {"start1","end1" } , {"start2","end2" } };// two ladder building
                   //etc


Note that unfortunately, the 'start' and 'end' labels are arbitrary for each model. You cannot have a generic ladder building as such.


landingAoa

new String (math formula) Landing Angle of Approach

 landingAoa = "3.5*3.1415/180";

landingSpeed

new Integer

 landingSpeed = 75;

laserscanner

Boolean: Determines if a vehicle has laser capability.

 laserScanner = true;

laserTarget

old

 laserTarget= =

library

new 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

magazine

new Array: used in TransportMagazines class this specifies the type of ammo in the magzine and the amount.

magazine = "30Rnd_556x45_Stanag";
count = "30*1";

magazines

Array: variable strings

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

mainRotorSpeed

new Integer:

mainRotorSpeed = -1;

backRotorSpeed

new Float backRotorSpeed = 1.0;

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

mapSize

Float: Used for the map editor to show the icon associated with this model class. See #icon

There is no x y component to this, the meaurement units are meters.

To creat a circular, rectangular or other 'non sqaure' image, you need to make a pac file for the icon with, a transparent layer.

 mapSize = 0.700000; // small object such as a tree


marker

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

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

material

new Integer:

  material = 50;

maxT

new Integer: This TokenName is used inside the Smoke class of animation classes

   maxT = 0;


memoryPointExhaust...

new String:

memoryPointExhaust = "exhaust_start";
memoryPointExhaustDir = "exhaust_end";


memoryPointGun

new String:

   memoryPointGun = "machinegun";

memoryPointGunnerOptics

new String

   memoryPointGunnerOptics = "gunnerview";

memoryPointGunnerOutOptics

new String

     memoryPointGunnerOutOptics = "commander_weapon_view";

memoryPoint...Missile

new String:

   memoryPointLMissile = "Missile_1";
   memoryPointRMissile = "Missile_2";

memoryPoint...Rocket

new String:

   memoryPointLRocket = "Rocket_1";
   memoryPointRRocket = "Rocket_2";

memoryPointsGetIn...

new String:

   memoryPointsGetInCargo = "pos_cargo";
   memoryPointsGetInCoDriver = "pos_codriver";
   memoryPointsGetInCommander = "pos_commander";
   memoryPointsGetInDriver = "pos_driver";
   memoryPointsGetInGunner = "pos gunner";

memoryPointsGetIn...Dir

new String:

   memoryPointsGetInCargoDir = "pos_cargo_dir";
   memoryPointsGetInCoDriverDir = "pos_codriver_dir";
   memoryPointsGetInCommanderDir = "pos_commander_dir";
   memoryPointsGetInDriverDir = "pos_driver_dir";
   memoryPointsGetInGunnerDir = "pos gunner dir";

memoryPointSupply

new String:

 memoryPointSupply = "supply";

memoryPointTrack...

new String:

 memoryPointTrackFLL = "tyreTrack_1_1l";
 memoryPointTrackFLR = "tyreTrack_1_1r";
 memoryPointTrackBLL = "tyreTrack_1_2l";
 memoryPointTrackBLR = "tyreTrack_1_2r";
 memoryPointTrackFRL = "tyreTrack_2_1l";
 memoryPointTrackFRR = "tyreTrack_2_1r";
 memoryPointTrackBRL = "tyreTrack_2_2l";
 memoryPointTrackBRR = "tyreTrack_2_2r";


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";

The actual descriptive text accompanying the 'sound' can be different see #displayName

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";
};

nightVision

noseDownCoef

new Float

noseDownCoef = 0.025;


O


...OpticsColor

old Array

 commanderOpticsColor= {...};
 driverOpticsColor= {...};
 gunnerOpticsColor= {...};

...OpticsModel

commanderOpticsModel

String

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

driverOpticsModel

String

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

gunnerOptics...

gunnerOpticsModel

String

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

gunnerOpticsShowCursor

Bool

  gunnerOpticsShowCursor = true;


out

Float: This TokenName is used inside the Smoke class of animation classes

  out= 0.0;

see #in



P


passThrough

Boolean:

 passThrough = 1;

picture

String: I think this is for briefing Information icon click

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

position

Float: This TokenName is used inside the Light class of animation classes

  position = "ohniste";

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;

primary...

Boolean

     primaryGunner = false;
     primaryObserver = true;

proxyIndex

Integer

   proxyIndex = 2;

proxyType

String

     proxyType = "CPCommander";

position

String:

   position = "L svetlo";


R


reversed

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 = false;

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

Intger:

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.


secondaryExplosion

old

secondaryExplosion=

sensitivity

old

sensitivity=

sensitivityEar

old

sensitivityEar=

selection

new String:

   selection = "L svetlo";

Selection...

new String:

 selectionBackLights = "light_back";
 selectionBrakeLights = "light_brake";
 selectionFireAnim = "muzzleflash";
 selectionHRotorStill= "mainRotorStatic";
 selectionHRotorMove = "mainRotorBlurred";
 selectionVRotorStill = "tailRotorStatic";
 selectionVRotorMove = "tailRotorBlurred";
 selectionFabric = "latka";

shape

new Float: This TokenName is used inside the Light class of animation classes

   shape = "koulesvetlo";

showgunneroptics

new Boolean:

 showgunneroptics = 0;

sound

new NameTokenValueTypes:String : Used by animated objects (campfire eg) to give sound effect.

 sound = "Fire";

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 EAST 0 // (Russian)
#define WEST 1 // (Nato)
#define RESISISTANCE 2 // Guerilla 
#define CIVILIAN 3
#define UNKNOWN 4
#define ENEMY 5
#define FRIENDLY 6
#define LOGIC 7
side = EAST;

simulation

String: The engine behaviour with this #model.

simulation = "SeaGull";
 simulation = "thing";
 simulation = "fire";
 simulation = "flag";
 simulation = "house";

singSound

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

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

size

new Float: This TokenName is used inside the Smoke class of animation classes

  size = 0.1;

sound[]

new Complex Array:

 sound[] = {"\anyPbo\AnySound(.wss)",10.000000,1};

sound...

also see #flySound , #singSound

soundCrash

Array:

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

soundDammage

Array:

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

soundEngine

Array:

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

soundEnviron

Array complex.

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

SoundEnvironExt

old Array complex.

 soundEnvironExt[] = {...};

soundGear

new Array complex.

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

SoundGetIn

Array:

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

soundGetOut

Array:

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

soundLandCrash

Array:

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

soundServo

Array:

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

soundWaterCrash

Array

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

source

new' String: found in animationSources

   source = "reload";
   source = "time";

sourceAddress

new String: found in animationSources

   sourceAddress = "loop";

...Speed

Float: In Kph.

minSpeed = -0.500000; //range 0->1
maxSpeed = 20;

spotableNightLights...

old

spotableNightLightsOff=
spotableNightLightsOn=

steerAhead...

old

steerAheadSimul=
steerAheadPlan=

straightDistance

new INTEGER:

straightDistance = 50;

submerged

submerged=

submergeSpeed

submergeSpeed=

supplyRadius

new 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

...Turn

new Integer Degrees

  initTurn = 90;
  minTurn= -70;
  maxTurn = 70;

turning

new Boolean: (i think)

turning = 1;

turnCoef

new Float:

 turnCoef = 6.0;

terrainCoef

new Float:

  terrainCoef = 6.0;

threat

Array: how threatening you are to unit types {Soft, Armor, Air}, respectively values range between 0 and 1 thus a Law Soldier would appear as {1,.9,.3} ie not very threatening to aircraft

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

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

see #type

timeToLive

Float: This TokenName is used inside the Smoke class of animation classes

   timeToLive = 100000002004087730000.0;

transport...

transportAmmo

Integer: Used by supply 'vehicles' to determine total amount avaialable for entire mission. Once depleted...

A 'vehicle' in this case can be a genuine repair truck, or, a building.

  transportAmmo = 300000;  // reammo truck
  transportAmmo = 10000000;// bigship
  transportFuel = 3000;        //refueltruck
  transportRepair = 200000000; //repairtruck

transportMagazines

old? Array:

transportMagazines = {...};

TransportWeapons

old? Array:

TransportWeapons= {...};

transportMaxMagazines

Integer:

transportMaxMagazines = 150;

transportMaxWeapons

Integer:

 transportMaxWeapons = 30;

transportSoldier

Integer: Number of 'passengers' this vehicle can carry. The value does not include the driver, nor any vehicle positions such as gunnder (if any) or commander(if any)

 transportSoldier = 3;//jeep/car
 transportSoldier = 50; // large ship
 transportSoldier = 6to10; //SmallShip 
 transportSoldier = 3; //a10
 transportSoldier = 8to12;// helicopters
 transportSoldier = 2or3;// ambulance
 transportSoldier = 8;//apc/bmp
 transportSoldier = 12;//truck
 transportSoldier = 1;//jeepmg
 transportSoldier = 1or2;//repair type truck

to make the game 'interesting', similar vehicles on different sides, can carry non equivalent numbers.

transportVehiclesCount

transportVehiclesMass

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 VSoft 0
#define VArmor 1
#define VAir 2
 type = VAir;

Tanks and buildings are armoured, humans are 'soft' and aircraft (obviously) are air

see #threat

typicalCargo

Variable String Array:Preloads vehicle with units (if auto)

This array can have zero or more strings.

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




U

...UsesPilotView

new Bool:

gunnerUsesPilotView = false;
commanderUsesPilotView=true;

unitInfoType

String

 unitInfoType = "UnitInfoSoldier";

unloadInCombat

old



V

vehicleClass

String: Used for Mission Editor basic category selection

 vehicleClass = "Air";

View...

old Array:

ViewCargo={..};
ViewCommander={..};
ViewGunner={..};
ViewPilot={..};

ViewOptics

old Array:

visibleNightLights..Off

old

visibleNightLightsOff=
visibleNightLightsOn=

view...Shadow

Boolean:

  viewCargoShadow = true;
  viewGunnerShadow = true;

viewGunnerInExternal

Boolean: part of Turret class

   viewGunnerInExternal = true;


W

weapon

new String: found in animationSources

   weapon = "M197";

weapons[]

Array: an array of selectable weaponry for the given 'vehicle'

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

WeaponSlots

oldInteger:

Weaponslots apply to man class (soldier, civilian, etc)

It indicates the 'gear' capacity.

man/medic 1 +       4*256 +   4096 + 2 + 4*32;
sniper    1 + 16 +  4*256 + 2*4096 + 2 + 4*32;
soldier   1 + 16 + 10*256 + 2*4096 + 2 + 4*32;
parachute 1 + 16 + 10*256 + 2*4096 + 2 + 4*32;
fakeciv   1 + 16 +  6*256 + 2*4096 + 2 + 4*32;

wheelCircumference

new Float

 wheelCircumference = 4.513000;

wheelSteeringSensitivity

new Float

 wheelSteeringSensitivity = 0.500000;