CfgVehicles Config Reference

From Bohemia Interactive Community
Jump to navigation Jump to search

Note to Other hackers=

this 'section' will be removed in due course.

I am feeling my way round folks.

please don't touch the red, broken links. they are used by me as indicators that i haven't yet finished that 'item'

(by all means edit the item with your own knowledge, just leave the link alone)

'new and old are indicators to me of items 've not found in ofp:r. Some of you need no further explanation. please leave that 'indicator' as is for the moment, thanks


Introduction

TokenName Config.cpp 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. Their meaning in most cases will be the same or similar for description.ext and mission.sqm. However the primary focus of this document is the TokenNames used for various aspects of controlling models within Addons.

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

Vehicle vs 'Vehicle'

In this document. a vehicle, is a true vehicle of some kind. Be it a tank, or a car.

A 'vehicle' on the other hand covers cfgVehicles as defined in a config.cpp which would include men' and buildings, since ofp considers them all to be 'vehicles'


A

...Action

String : defaults ManActCargo

 commanderAction =   "ManActM60CommanderOut";
 driverAction =      "ManActShipDriver";
 gunnerAction =      "ManActJeepGunner";
 commanderInAction = "ManActTestDriver"; 
 driverInAction =    "ManActM113Driver";
 gunnerInAction =    "ManActM1A1Gunner";
 getInAction =        ManActGetInTank;   //default
 getOutAction =       ManActGetOutTank;  //default

cargoAction

Variable String Array: default {ManActCargo}

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.

see #cargoIsCoDriver

...AngleX/Y

Integer Degrees

  initAngleX = 0;
  minAngleX = -30;
  maxAngleX = 30;
  initAngleY = 0;
  minAngleY = -100;
  maxAngleY = 100;
  initFov = 0.700000;
  minFov = 0.420000;
  maxFov = 0.850000;

used by car.ViewPilot class


angle

see Indicator Or Hatch Class

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 BIS classes are ReadOnlyVerified and can only be inherited into a new class

accuracy

Float: Default value = 0.02.

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

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 #VehicleClass

 accuracy = 0.2; // buildings
 accuracy = 0.5; //small vehicles
 accuracy = 0.9;//truck
 accuracy = 3.500000;//sniper
 accuracy = 1.500000;//lawsoldier
 accuracy = 1000;//soldier // identify (most) solders as 'man'


Related TokenNames #scope, #accuracy, #displayName #vehicleClass #nameSound #camouflage

acceleration

new Integer: metres per second

acceleration = 7;


airFriction

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

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

ambient

Float Array: Used by reflectors and cargo lights

  ambient[] = {0.070000,0.070000,0.070000,1.000000};
 class CargoLight {
  color[] = {0,0,0,0};
  ambient[] = {0.600000,0,0.150000,1};
  brightness = 0.007000;
 };

als see Reflectors class

animated

Bool : Default Value true

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

float: Seconds.

This TokenName is used inside AnimationSources, in seconds
  animPeriod = 1.33; // a fountain

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'. Below are general ranges to give some idea.

armor = 3; // man
armor = 10; // motorcycle
armor = 20; // a small car 
armor = 15..60; // aircraft
armor = 150; // buildings
armor = 150..300; // bmp
armor = 400...900; // tank
armor = 300; // boat
armor = 10000; // ship

If unspecified (or not inherited) the default value is 30

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

Related TokenNames: #armor (float), #material, #name, #passThrough

armor...

Float:

 armorBody = 0.4; // default
// for vehicles general
 armorStructural= 1; //ranges between 1 and 4.0, default 1
 armorFuel = 1.4;// default
 armorGlass = 0.5;// default
 armorLights = 0.4; // default 0.4 in all models.
 armorWheels = 0.05;//default
// for tanks
 armorHull = 1;
 armorTurret = 0.8;
 armorGun =    0.6;
 armorEngine = 0.8;
 armorTracks = 0.6;
// for men
 armorHead = 0.7;
 armorBody = 0.8;
 armorHands = 0.5;
 armorLegs = 0.5;
// helicopters
 armorHull = 0.5;
 armorEngine = 0.6;
 armorAvionics = 1.4;
 armorVRotor = 0.5;
 armorHRotor = 0.7;
 armorMissiles = 1.6;
 armorGlass = 0.5;

attendant

Bool: Default false

Used for 'vehicles' to repair other 'vehicles'. Thus a hospital has an attendant that can repair soldiers. Adds the action "Heal at XXX"

 attendant = true;

Related TokenNames: #hiddenSelections

audible

float: Default Value 1

 audible = .05; //man
 audible = 3;//motorcyle
 audible = 6;//tank/ship

how loud you are

see #camouflage

autocenter

bool: Default true

    autocenter = false; // man

axis

see Indicator Or Hatch Class, or, IndicatorWatch Class


B

body

String:

   body = "mainTurret";

part of any Turret class (tanks eg)

see #gun

brakeDistance

Float: default 5 meters per sec

   brakeDistance= 1; // man
  brakeDistance= 14; // tank
  brakeDistance= 500; //plane
  brakeDistance= 50;//boat

brightness

Float:

   brightness = 1.0;

part of #direction:Reflectors class, CargoLight class



C

...CanSee

Integer

Used on vehicles that have zoom.

 commanderCanSee = 31;//default
 gunnerCanSee = 4+8+16;//default
 driverCanSee = 2+8+16;//default

...CargoAngleY

Integer Degrees

found within vehicle classes

 initCargoAngleY = 185; //Truck5t
 initCargoAngleY = 90;//M113
 initCargoAngleY = 10; // UH60
 minCargoAngleY = -60;
 maxCargoAngleY = 120;

camouflage

Float: Default Value = 2.

how difficult to spot. bigger = easier

camouflage = 0.6; // snipers
camouflage = 1; // man
camouflage = 4; // trucks
camouflage = 8; // tanks 

what is the relationship between this and #accuracy?


Related TokenNames #scope, #accuracy, #displayName #vehicleClass #nameSound #camouflage

can...

canBeShot

new Boolean: Declares whether bullets have any effect

canBeShot = true;

canDeactivateMines

Boolean: Default false

part of the man class.

 canDeactivateMines= true; //SoldierEngineer

canFloat

Boolean: Default value: false

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

 canFloat = true;

canHideBodies

Boolean: Default false

part of the man class.

 canHideBodies = true; //SoldierWSaboteur

canLock

new Boolean:

canLock = 0;


cargoIsCoDriver

Variable Boolean Array : Default {false};

This token declares which (if any) cargo positions are 'in the front' (Ie front windscreen)

  cargoIsCoDriver[] = {true,true,false};// 1st two passenger positions for a 5T truck


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

cast...Shadow

Boolean: Default false

castCargoShadow = false;
castCommanderShadow = false; 
castDriverShadow = false;
castGunnerShadow = true;

Normally used to shadow 'soldiers' standing up in vehicle objects, such as the MG Jeep and Machine Guns.

cloud...

Various(Strings,Floats,Arrays)

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

  cloudletDuration = 0.9;
  cloudletAnimPeriod = 1.0;
  cloudletSize = 0.1;
  cloudletAlpha = 0.8;
  cloudletGrowUp = 0.4;
  cloudletFadeIn = 0.0;
  cloudletFadeOut = 5.0;
  cloudletAccY = -0.1;
  cloudletMinYSpeed = 0.3;
  cloudletMaxYSpeed = 1.5;
  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 = 2;// default
 coefInsideHeur = 4.3; // default

Used by the static class for non moving objects such as buildings

 coefInside = 1; // forest
 coefInsideHeur = 0.25;

color

Float Array: of floats. Used by reflectors and cargo lights

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

see Reflectors class. CargoLight class

commanding

new Integer: part of Turret class

    commanding = -1;

cost

Integer: Default Value 50,0000

This value reflects the attractiveness of the target to the enemy 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 (while small) a higher cost, than others in the group, including the officer.

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


Related TokenNames: type , #cost , #threat

count

String or Integer: (math formula).

weapon = M60;
count = "30*1";

this token is always associated in a weapon or magazine couplet, inside a TransportWeapons, or TransportMagazines class.


The value is mostly represented as a string as above (a math formula), or it can be (unusually)

count= 2;

crew

String: Default Civilian

Reflects whether vehicle is manned, and what with.

  crew = <ClassName>
  crew = "SoldierWPilot";

'SoldierWPilot' is a class declared in same file.




D

dammage...

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...

Float:

damperSize = 0.1;// default
damperForce = 3; //default

destrType

String: Default Value= DestructDefault

Used for animation, sound, and final 'look' of vehicle.

 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

Bool: Default false;

  disappearAtContact = true;//FxCartridge

direction

string:

   direction = "konec L svetla";

part of LandVehicle.Reflectors class

  LandVehicle.Reflectors {
   color[] = {0.900000,0.800000,0.800000,1.000000};
   ambient[] = {0.100000,0.100000,0.100000,1.000000};
   position = L svetlo;
   direction = konec L svetla;
   hitpoint = L svetlo;
   selection = L svetlo;
   size = 0.500000;
   brightness = 0.250000;
  };

displayName

String: Default value = "Unknown" or "Vehicle"

Selects object uniquely in the Mission Editor, and separately, is used to identify object in game according to #accuracy. For instance when pointing your men to an object while in a mission, it is this displayName that is used.

It is good practice to use a stringtable.csv that should accompany your addon so that

  1. All names and labels are in one place instead of hunting for them.
  2. For language differences
displayName = "$STR_DN_AH1Z";

Note, that will careful crafting of classes, different colored 'rocks' can all be called the same displayName (rock) in the mission itself. See #scope and #accuracy for details.

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

Related TokenNames #scope, #accuracy, #displayName #vehicleClass #nameSound #camouflage


displayNameShort

new String:

 displayNameShort = "$STR_DN_UH60";

deltaT

Integer: This TokenName is used inside the #Smoke Class

   deltaT = -500;

density

Float: This TokenName is used inside the #Smoke Class

  density = 0.5;

driverIsCommander

Bool : Default false.

driverIsCommander = true;

For boat, MG Jeep and helicopters


see #has...

driverForceOptics

new Bool

  driverForceOptics = true;


E


...Elev

Integers:Degrees

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

part of any Turret class (tanks eg)

see#gun

ejectDamageLimit

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

 ejectDamageLimit = 0.750000;

ejectDead...

Boolean : Default false

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

Causes that unit to 'unmount' the vehicle. Such as an MG nest, or motorcycle.

ejectSpeed

Array: Default {0,40,0};

ejectSpeed[] = {0,0,0}; // cant eject in a cessna

enableSweep

Bool: Default true. Used by Helicopter class

 enableSweep = false; //UH60MG

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


extCameraPosition[]

float Array: Default {0,2,-20};

extCameraPosition[] = {0,5,-30};//plane
extCameraPosition[] = {0,1,-10};//cars
extCameraPosition[] = {0,1.500000,-9};//tankls
extCameraPosition[] = {0,0.300000,-3.500000};//man


F

minFireTime

Integer: Default 20 seconds

  minFireTime = 20;

fired

new String: Event Handler

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

flapsFrictionCoef

Float: Default 0.5

 flapsFrictionCoef = 2; // can be integer too.

forceHide...

Boolean : Default false;

forceHideDriver = true;//shilka
forceHideGunner = true; //tank
forceHideCommander=true;

forceSupply

Boolean : Default

 forceSupply = true;

Found only in Weapon holders (ammo boxes) to force supply?

formation...

Integer:

formationX = 10;// default meters
formationZ = 20; // default meters
formationTime = 10; // default seconds

One or both X Z values are used to keep objects separated (in meters) depending on wedge, echelon, V,single line, fomations.

fov

Float

 fov = 0.85; // cessna
 fov = 0.85; // man
 fov = 1.0; // truck

...Fov

Float

 minFov = 0.420000;// man
 maxFov = 0.850000;
 minFov = 0.600000;//truck
 maxFov = 1.400000;

also used by ViewPilot Classes

fuelCapacity

Integer: Default Value 0 (litres)

 fuelCapacity = 50; // motorcyle
 fuelCapacity = 100; // car
 fuelCapacity = 700; // tank
 fuelCapacity = 1000; // air


G

...Gun...

Integer:degrees

 minGunElev = -60;
 maxGunElev = 60;
 minGunTurn = -5;
 maxGunTurn = 5;
 minGunTurnAI = -30;
 maxGunTurnAI = 30;

...GunnerMayFire

Boolean: Default false

     outGunnerMayFire = true;// m113
     inGunnerMayFire = false;


...GunClouds Class

This is a reference to the external WeaponCloudsGun classes

most models simply inherit the defaults

 class GunClouds:  WeaponCloudsGun{};
 class MGunClouds: WeaponCloudsMGun{};

here is an example of over-rides for class man

class GunClouds:WeaponCloudsGun {
  cloudletGrowUp = 0.200000;
  cloudletFadeIn = 0;
  cloudletFadeOut = 0.400000;
  cloudletDuration = 0.200000;
  cloudletAlpha = 1;
  cloudletAccY = 2;
  cloudletMinYSpeed = -10;
  cloudletMaxYSpeed = 10;
  interval = 0.020000;
  size = 0.300000;
  sourceSize = 0.015000;
 };

...GunFire Class

This is a reference to the external WeaponFireGun classes

most models simply inherit the defaults

 class GunFire: WeaponFireGun {};
 class MGunFire: WeaponFireMGun {};

gearRetracting

Bool: Default true

 gearRetracting = false; // cessna

more correctly viewed as HasRetractingGear.

gun

Part of any Turret class (Tanks eg)

 class TurretBase {
  gunAxis = OsaHlavne;
  turretAxis = OsaVeze;
  soundServo[] = {Vehicles\gun_elevate,0.031623,1.000000};
  gunBeg = usti hlavne;
  gunEnd = konec hlavne;
  minElev = -4;
  maxElev = 20;
  minTurn = -360;
  maxTurn = 360;
  body = OtocVez;
  gun = OtocHlaven;
 };

gunAimDown

new Float

 gunAimDown = 0.07;

gunAxis

gunBeg

gunEnd

part of any Turret class (tanks eg)

see#gun


gunnerHasFlares

new Boolean

  gunnerHasFlares = 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...

Bool:

 hasDriver = true; // default
 hasGunner = false;// default
 hasCommander =true; // default

Depending on vehicle model.

Controls the 'get in' commands.

see #driverIsCommander

...HeadTurnAI

Integer Degrees

 minHeadTurnAI = -70;// man class
 maxHeadTurnAI = 70;

hiddenSelections

String Array: Default none.

This array is used for soldiers (eg) to heal (eg) when they come close to a medic. The 'action' is not normally visible until a proximity radius is reached.

hiddenSelections[] = {"pruh"}; // bmp/tank
hiddenSelections[] = {ammo}; // trucks
hiddenSelections[] = {medic}; // soldiers

Note that "ammo", "pruh" and "medic" are GROUP Actions. They can define more than one action.

pruh for instance allows getting in several positions of the vehicle.

'medic' not only allows healing.

Because this is an array, multiple and different group actions, are possible.

Related TokenNames: #attendant

hide...

Bool

hideProxyInCombat =    false;// default (true for tanks)
hideUnitInfo =         false;// default see #unitInfoType
hideWeaponsCargo =     false;// default
hideWeaponsCommander=  true; // default
hideWeaponsDriver =    true; // default
hideWeaponsGunner =    true; // default

hitpoint

String:

   hitpoint = "L svetlo";

part of #direction:LandVehicle.Reflectors class

hitSound...

 hitSound1[] = {voices\Hit11,0.056234,1};
 ...
 hitSound20[] = {voices\Hit30,0.056234,1};
 hitSounds[] = {hitSound1,0.05,hitSound2,0.05,....

hitSounds is used by the engine to reference user generated hitSound...s

the number of user generated sounds, is limited only by the author.

hour

part of the IndicatorWatch class

 class IndicatorWatch {
  hour = hodinova;
  minute = minutova;
  axis = osa_time;
  reversed = 0;
 };


I

icon

String: Default Value = "unknown_object.paa"

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

The icon can be any jpg, paa, or pac file. paa is default. Note that Elite cannot handle jpegs.

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

Related TokenName(s): #mapSize

in/out

Float: These TokenNames are used inside the #Smoke Class

 in= 0.0;
 out=0.0;

init

newString: Event Handler

  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

Float: This TokenName is used inside the #Smoke Class

   initYSpeed = 1.7;

insideSoundCoef

Float: default 0.5

 insideSoundCoef = 0.05;// air vehicels are 2%


interval

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

     interval = 0.010000;

irScanGround

Bool: Default true.

Probaly used to stop ai looking down

 irScanGround = false; // tanks

irScanRange...

Integer: Default 0

 irScanRange = 4000; // outdated (since Resistance)
 irScanRangeMin = 500;  // tanks general
 irScanRangeMax = 4000;
 irScanRangeMin = 2000; // air
 irScanRangeMax = 10000;
 irScanRangeMin = 4000; // a vulcan
 irScanRangeMax = 10000;

irScanToEyeFactor

Integer: Default 1


 irScanToEyeFactor = 2;//air
 irScanToEyeFactor = 5;//shilka

irTarget

Bool: Default true.

Used for (some) buildings so that they don't show up on tank radar

 irTarget = false; // man

isBicycle

Bool: Default false.

this value inside the motorcycle class is used to turn it on when inherting to a real bucycle

isMan

Bool: Default true.

 isMan = 1;

Defined within the man class



K


killed

new String: Event Handler

  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 with 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.

laser...

Boolean: Default false

Determines if a vehicle has laser capability.

 laserScanner = true;
 laserTarget = true;// used as a generic class of All {} to default things true


landingAoa

MathFormula String Default 10*3.1415/180

Landing Angle of Approach. Used by plane class

 landingAoa = 7*3.1415/180;//Cessna

landingSpeed

Integer: Default 0 Kph.

 landingSpeed = 75; // plane vehicles

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

Light Class

putting this here temporarilyliylyiyly

 class Light {
  color[] = {1.000000,0.500000,0.000000,1.000000};
  ambient[] = {0.300000,0.150000,0.000000,1.000000};
  brightness = 0.080000;
  shape = koulesvetlo;
  size = 0.300000;
  position = ohniste;
 };


M

magazine

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

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

Each of these couplets are contained within a 'weapon' classname within the magazineS class itself. Example

class TransportMagazines  {
  class _xx_M16 {
   magazine = M16;
   count = 30*1;
  };
  class _xx_M60 {
   ......
  };
  class _xx_PK {
   ......
  };
  ...
};

magazines

Variable string Array: default {}

see #weapons for proper description

mainRotorSpeed

new Integer:

mainRotorSpeed = -1;

backRotorSpeed

new Float backRotorSpeed = 1.0;

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

mapSize

Float: Default Value = 10 (meters).

Used for the map editor to show the icon associated with this model class.

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.7; // small object such as a tree
 mapSize = 4; // a small'ish building

The Mission Editor map is not very good in this regard (as noted above). However, the main problem is the base classes of the engine. The mapSize= for most objects, particularly buildings, is a one shoe fits all. A forest, eg, is the same mapSize= as a tree !!!

Later Oem addons, *generally* are better and more specific in this regard, making position and fitting a little easier.

marker

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

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

material

Integer:

Used in Hit... classes, eg HitTurret HitBody

  material = 50;

Related TokenNames: #armor (float), #material, #name, #passThrough

maxT

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

   maxT = 0;

min/max

part of an Indicator.. class

see Indicator Class

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


microMimics

String: Man class

This token refers to the class within the external cfgMimics class

 microMimics = Micro;

minute

part of the IndicatorWatch class

see #hour

model

String: Default Value= "empty.p3d"

Location in the addon where the p3d model resides.

model = "\AddonName\anyp3d(.p3d)"; 

Whera a class is not a visible 'object', such as a BaseClass. You can specify

model="";

this cuts down on load and access.

Related TokenName: #simulation, #reversed


moves

String: Default = NoDefaultMoves

applies to the man class and refers to a cfgMoves class

 moves = CfgMovesMC; // civilian, in fact, there isn't another


N

...NightLights...

Float:

 spotableNightLightsOff = 0.05; //default
 spotableNightLightsOn = 4;//default
  visibleNightLightsOff = 0.1; //default
 visibleNightLightsOn = 0.2;//default

name

String:

  name = "motor";

Used in Hit... classes, eg HitTurret HitBody

Related TokenNames: #armor (float), #material, #name, #passThrough

nameSound

String: Default value: "Target"

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

nameSound = "rock";

Many different nameSounds can be selected. Here are just a few.

 nameSound = crew;
 nameSound = target; 
 nameSound = tank;
 nameSound = house;

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

Related TokenNames #scope, #accuracy, #displayName #vehicleClass #nameSound #camouflage

noseDownCoef

Float: Default 1.0 used by Plane class

noseDownCoef = 0.025; // cessna

nightVision

Bool: Default false

nightVision=true;

present in lawsoldier, sniper, saboteur, tank, and air crew

noseDownCoef

new Float

noseDownCoef = 0.025;


O


...OpticsColor

Float Array : Default {0,0,0,1};

 driverOpticsColor[] = {0,0,0,1};
 gunnerOpticsColor[] =    {0.910000,0.230000,0.230000,1};
 commanderOpticsColor[] = {0.910000,0.230000,0.230000,1};

...OpticsModel

String: Default ""

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

gunnerOpticsShowCursor

Bool

gunnerOpticsShowCursor = true;




P


passThrough

Bool: Default true

 passThrough = 1;

Used in Hit... classes, eg HitTurret HitBody


Related TokenNames: #armor (float), #material, #name, #passThrough

picture

String: Default: iaston.paa

I think this is for briefing Information icon click

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

position

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

  position = "ohniste";
  position = "L svetlo";

part of #direction:LandVehicle.Reflectors class

precision

 precision = 1; //man
 precision = 200;// air
 precision = 50;//boat

preferRoads

Bool: Default false

preferRoads = true; // all vehicles


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




R

...Radius

Float:

Represents a circular area (radius in meters from centre of object for action to take place

getInRadius=2.5;  //default
getInRadius=3.5;   // tank
getInRadius=10;  //ship
supplyRadius = 2.5; // for fuel dumps ammo trucks etc


...RotorSpeed

float: Helicopters

 mainRotorSpeed = 1.0; // default
 backRotorSpeed = 1.5; // default
 //
 mainRotorSpeed = 1.0; // ch47d
 backRotorSpeed = -1.0;

...RotorDive

float: Helicopters, Default 0.0

 minMainRotorDive = -9; // CH47D
 maxMainRotorDive = 15;
 neutralMainRotorDive = -5;
 minBackRotorDive = -15;
 maxBackRotorDive = 9;
 neutralBackRotorDive = -5;

ReloadAnimations Class

General useage in Helicopters, this class is 'looked for' by the engine. Varions models, but normally only one, are specified as follows

class ReloadAnimations {
 class SomeThingA  {
  ...
 };
 ...
 class SomeThingZ  {
  ...
 };
};

here is an example for an Mi24 helicopter

  class MachineGun30E {
   weapon = MachineGun30E;
   angle0 = 0;
   angle1 = -2 * 3.141592654;
   multiplier = 500;
   type = rotation;
   animPeriod = 0.500000;
   selection = gatling;
   begin = usti hlavne;
   end = konec hlavne;
  };

rotL/R

defined within a tank.Wheels class to describe the series of small wheels on each side

  rotR[] = {kolL1,kolL2,kolL3,kolL4,kolL5,kolL6,kolL7,kolL8};
  rotL[] = {kolP1,kolP2,kolP3,kolP4,kolP5,kolP6,kolP7,kolP8};
  upDownL[] = {koloP1,podkoloP1,koloP2,podkoloP2,koloP3,podkoloP3,koloP4,podkoloP4,koloP5,podkoloP5,koloP6,podkoloP6,koloP7,podkoloP7,koloP8,podkoloP8};
  upDownR[] = {koloL1,podkoloL1,koloL2,podkoloL2,koloL3,podkoloL3,koloL4,podkoloL4,koloL5,podkoloL5,koloL6,podkoloL6,koloL7,podkoloL7,koloL8,podkoloL8};

reversed

Boolean: Default true

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; // class thing

rotor...

String: Helicopters

 rotorBig =       "vrtule_velka";    //cobra
 rotorBigBlend =  "vrtule_velka_bl";
 rotorSmall =     "vrtule_mala";
 rotorSmallBlend= "vrtule_mala_bl";

S

...Sensitivity

Float: Default 1.0 Used by Plane Class

 aileronSensitivity = 0.33; // Cessna
 elevatorSensitivity = 0.1; // Cessna
 wheelSteeringSensitivity = 1.0; // default

...Simul/Plan

float: in meters

 steerAheadSimul = 0.5; //default
 steerAheadPlan = 0.35;//default
 steerAheadSimul = 0.2; // man
 steerAheadPlan = 0.2;
 predictTurnSimul = 1.2;//default
 predictTurnPlan = 1.2;//default
 predictTurnSimul = 3;// ship
 predictTurnPlan = 3;

scope

Integer: Default value = private.

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 inherit this class. It is not createVehicle'able, nor can the class be accessed via the Mission Editor.

private is a common method of grouping base characteristics together and inheriting all those common characteristics into a class that can be viewed or accessed.

public:

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

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 typing, but memory storage too. It is only the public classes that are listed in the Mission Editor. So in above example while each one of these has a separate name=, they are ALL grouped' in the Editor's 'Vegetables'

In the above example, it is just as useful to declare the base class 'private. But, see below, and see #accuracy

Protected classes are CamCreatable in the mission.sqm.

Protected classes are immensely useful to 'hide' obsolete models that are still required to maintain compatibility with older missions. Ie older missions will still be playable, but newly created ones will only 'get at' the newer improvements specified in a public class. This

class OriginalThing
{
  scope=protected;
  ....
  // lots of original things
  ....
};
class ImprovedThing : OriginalThing //<<<< inherits it all
{
  scope=public;
  ...
  // lots of new improved things
  ...
};


Related TokenNames #scope, #accuracy, #displayName #vehicleClass #nameSound #camouflage


secondaryExplosion

Integer: Default disabled (-1)

 secondaryExplosion = -1;

sensitivity

Float: Default 1.0

 sensitivity = 0.6; //cars
 sensitivity = 2;//sniper

sensitivityEar

Float: Default 0.0075

 sensitivityEar = 0.13;//man


selection

part of an Indicator... class

 class IndicatorSpeed {
  selection = ukaz_rychlo;
  axis = osa_rychlo;
  angle = -240;
  min = 0;
  max = 60 / 3.6;
 };

part of a Hatch... class

 class HatchDriver {
  selection = poklop_driver;
  axis = osa_poklop_driver;
  angle = -100;
 };

also see LandVehicle.Reflectors class

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;

showWeaponCargo

Boolean:Default ?

 showWeaponCargo =true;

Found inside weapon holders (ammo boxes)

Smoke Class

Can't think of what else to do wiht this for now since many of the tokens in here, are only found, in here.

 class Smoke {
  interval = 0.01;
  cloudletDuration = 0.9;
  cloudletAnimPeriod = 1.0;
  cloudletSize = 0.1;
  cloudletAlpha = 0.8;
  cloudletGrowUp = 0.4;
  cloudletFadeIn = 0.0;
  cloudletFadeOut = 5.0;
  cloudletAccY = -0.1;
  cloudletMinYSpeed = 0.3;
  cloudletMaxYSpeed = 1.5;
  cloudletShape = cl_basic;
  cloudletColor[] = {1,1,1,0};
  initT = 1000;
  deltaT = -500;
  class Table {
   class T1 {
    maxT = 0;
    color[] = {0.8,0.8,0.8,1};
   };
   class T2 {
    maxT = 900;
    color[] = {0.3,0.3,0.3,1};
   };
   class T3 {
    maxT = 1000;
    color[] = {1,0.5,0,0.5};
   };
  };
  density = 0.5;
  size = 0.1;
  initYSpeed = 1.7;
  timeToLive = 100000002004087730000.0;
  in = 0.0;
  out = 0.0;
 };

sound

String: Used by animated objects (campfire eg) to give sound effect. Or, simply by ambients(wolves)

 sound = "Fire";
 sound = Fountain;
 sound = OwlSfx;


SoundEnvironExt Class

  class SoundEnvironExt {

This is a Class used within the man class. Some/ None, or all sections of it can (of course) be over-ridden by inheritance.


The external class CfgManActions accesses the SoundEnvironExt class defined (or inherited) for any 'man' (soldier eg).


External class CfgManActions contains many clauses

 soundOverride=fallbody; // eg

for instances of when it wants sounds for that 'action' to take place.

thus, you can define none some or all arrays (within class with your SoundEnvironExt{}) for the following

  normalExt[] = 
  normal[] = 
  road[] =
  rock[] = 
  water[] =
  gravel[] = 
  sand[] = 
  drygrass[] = 
  grass[] = 
  forest[] = 
  mud[] = 
  wood[] = 
  metal[] = 
  snow[] = 
  hallway[] =
  fallbody[] = 
  laydown[] = 
  standup[] = 
  crawl[] =

Example

  snow[] = {
   { People\snow_L,0.000032,1 },
   { People\snow_R,0.000032,1 }};


snow is a Variable length Sound Array

see sounds[]

Sounds Various

Complex Array:

All the following use

nameOfSound[]= {"\AddonName\AnySound(.wss)",0.000000,1,1};

wss is the default. ogg can be specified.

...Sound

flySound[] = {"\AddonName\AnySound.wss",0.000000,1,1};
singSound[] = {"\AddonName\SoundFile.ogg",0.031623,1,1};
scudSound[] = {weapons\rocketflying,316.227783,0.200000};
scudSoundElevate[] = {vehicles\gun_elevate,0.010000,1};

sound...

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

default values

 soundCrash[] = {Vehicles\crash,0.316228,1};
 soundDammage[] = {"",1,1};
 soundEngine[] = {"",1,1};
 soundEnviron[] = {"",1,1};
 soundLandCrash[] = {Explosions\intoground,0.316228,1};
 soundWaterCrash[] = {Explosions\intowater,0.316228,1};
 soundGetIn[] = {Vehicles\get_in,0.000316,1};
 soundGetOut[] = {Vehicles\get_out,0.000316,1};
 soundServo[] = {Vehicles\gun_elevate,0.010000,0.500000};
 soundGear[] = {"\AnyAddon\AnySound(.wss)",0.316228,1}; //no default'
 additionalSound[] = {\AnyAddon\AnySound(.wss),0.000000,1}; // man only

sound[]

used by animations

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

side

Integer: Default Value: NEUTRAL.

The side, when declared, sets the 'vehicle' to 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 NO_SIDE -1
#define EAST 0 // (Russian)
#define WEST 1 // (Nato)
#define RESISISTANCE 2 // Guerilla 
#define CIVILIAN 3
#define NEUTRAL 4
#define ENEMY 5
#define FRIENDLY 6
#define LOGIC 7
side = EAST;

NEUTRAL is the general case for all objects.

NO_SIDE is used for ambient seagulls and wolves (see #sound). It differs from NEUTRAL in that the engine spends no time looking for interraction with other objects.

simulation

String: Default value: invisible.

The engine behaviour with this #model.

 simulation = "SeaGull";
 simulation = "thing";
 simulation = "fire";
 simulation = "flag";
 simulation = "house";
 simulation = airplane,helicopter,tank // (eg)

Related TokenName: #model


size

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

  size = 0.1;

also see #direction:LandVehicle.Reflectors class

source

new' String: found in animationSources

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

sourceAddress

new String: found in animationSources

   sourceAddress = "loop";

...Speed

Float: In Kph.

 minSpeed = -0.5; //range 0->1
 maxSpeed = 80; //default
 maxSpeed = 30; //tractor
 maxSpeed = 60; //boat


scud...

String: Default ""

 scudLaunch = scudlunch.rtm;
 scudStart = scudstart.rtm;
 scudModel = scud_strela_proxy;
 scudModelFire = scud_strela_ohen;

straightDistance

new INTEGER:

straightDistance = 50;

submerged..

Float: default 0.0

Almost all 'objects' are not submerged. This parameter is used to hide objects such as effects

 submerged = -0.5;// thing effect
 submergeSpeed = 0.25; // positive value makes it go deeper (sound goes quieter)


T

...Turn

Integers Degrees

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

part of any Turret class (tanks eg)

see#gun

turning

new Boolean: (i think)

turning = 1;

turnCoef

Float: Default 2.0

 turnCoef = 6.0; // truck
 turnCoef = 9.0; // tractor

terrainCoef

Float: Default 3.0

  terrainCoef = 6.0; //skoda

threat

float Array: Default Value {0.700000,0.500000,0.300000};

How threatening you are to unit types {Soft, Armor, Air}, respectively.

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

 threat[] = {1,0.0500000,0.050000}; // soldier
 threat[] = {1,0.900000,0.100000}; // law soldier
 threat[] = {0.900000,0.700000,0.300000};// bmp


Related TokenNames: type , #cost , #threat

timeToLive

Float: Default 10,000,000,000.0; // seconds?

This TokenName is used inside the Smoke class of animation classes and effects

 timeToLive = 20;// thing effects (bullets)
 timeToLive = 100000002004087730000.0;// campfire

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= {...};

transportMax...

Integer: default 0

 transportMaxMagazines = 50; //car
 transportMaxWeapons = 10;
 transportMaxMagazines = 5; // motorcyle
 transportMaxWeapons = 0;
 transportMaxMagazines = 50; // tank
 transportMaxWeapons = 10;
 transportMaxMagazines = 20; //air
 transportMaxWeapons = 3;
 transportMaxMagazines = 100; // boat
 transportMaxWeapons = 20;
 transportMaxMagazines = 500; //ship
 transportMaxWeapons = 200;
 transportMaxMagazines = 200; // truck
 transportMaxWeapons = 50;
  transportMaxMagazines = 100; // apc
 transportMaxWeapons = 20;
 transportMaxMagazines = 200; // helicpter
 transportMaxWeapons = 50;
 transportMaxWeapons = 500; // ammo boxes
 transportMaxMagazines = 2000;

Values vary depending on exact tupe of 'boat' eg.

These TokenNames ate used to indicate how many units of each type an object can hold. Most objects can't hold anything.


transportSoldier

Integer: Default Value= 0.

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

Ingeger : default 0


transportVehiclesCount = 15; // a Carrier (big ship)

transportVehiclesMass

Integer: Default 0

  transportVehiclesMass = 0; // not used by any model

turretAxis

part of any Turret class (tanks eg)

see #gun

type (threat)

Integer: Default Value: Armored

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;

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

Related TokenNames: type , #cost , #threat

type (animation)

old Unknown: Default Value: rotation

This appears in the ReloadAnimations class

  type = rotation;

typicalCargo

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

This array can have zero or more strings.

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

Note that these are ClassNames of soldiers.




U

...UsesPilotView

Bool: : Default false

gunnerUsesPilotView = false; // some choppers (mi17)
commanderUsesPilotView=true;

unitInfoType

String

 unitInfoType = "UnitInfoSoldier";

Certain 'vehicles' hide this information.

see #hideUnitInfo

unloadInCombat

bool: default true

unloadInCombat =false;

All true vehicles will cause ai to disembark when in combat.

upDownL

upDownR

see #rotR



V

vehicleClass

String: Default Value= "Objects"

Used for Mission Editor basic category selection

 vehicleClass = "Air";
 vehicleClass = "Support";
 vehicleClass = "My Great Addon";


Related TokenNames #scope, #accuracy, #displayName #vehicleClass #nameSound #camouflage

vehicleClass[]

String Array:

vehicleClass[] = {Men,Car,Armored,Air,Support,Camera,Objects,Ammo,Sounds,Mines};

View...

old Array:

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

ViewOptics

old Array:


view...Shadow

Boolean:

  viewCargoShadow = true;
  viewGunnerShadow = true;

viewGunnerInExternal

Boolean: default false

   viewGunnerInExternal = true; // for some turrets and M113


W

weapon

String:

   weapon = "M197";

Selects a weapon from the CfgWeapons class

weapons

Variable String Array: default {};

Weaopns and Magazines contain individual description of what a 'vehicle' IS carrying.

 weapons[] = {"FFARLauncher","TwinM134"};// an aircaft
 weapons[] = {CarHorn};// truck
 weapons[] = {M21,LAWLauncher,Throw,Put}; // soldier
 magazines[] = {M21,M21,M21,M21,HandGrenade,HandGrenade,LAWLauncher};

The amount of weapons (and magazines) that can be carried by the 'man' is deternmined by #weaponSlots

The names M21, Carhorn etc are external references to the cfgWeapons / cfgMagazines classes

weaponSlots

Integer:

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

Float Default 2.513 meters

 wheelCircumference = 8;// tractor


wounds

string Array:

 wounds[] = {xicht_a.paa,xicht_a_zranen,...};

this token is used in the man class to show a series of pac/paa files depending on damaged state of the body.