CfgVehicles Config Reference: Difference between revisions
No edit summary |
(changed links to what floats etc are to keep away from comref) |
||
Line 22: | Line 22: | ||
<u>Legend:</u> | <u>Legend:</u> | ||
'''[[Integer | '''[[IntegerTokenNames|Integer]]:''' A signed value to 65k. | ||
'''[[Boolean | '''[[BooleanTokenNames|Boolean]]:''' An [[IntegerTokenNames|Integer]] value of 0 or 1 | ||
'''[[Array | '''[[ArrayTokenNames|Array]]:''' An array []= | ||
'''[[String | '''[[StringTokenNames|String]]:''' Any string value. ''ALL STRINGS MUST BE ENCLOSED IN QUOTES'' for Elite. These strings are misinterpreted as '''#defines''' otherwise. | ||
Line 39: | Line 39: | ||
Used in: cfg'''Non'''AiVehicles | Used in: cfg'''Non'''AiVehicles | ||
''[[Array | ''[[ArrayTokenNames|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}; | ||
Line 45: | Line 45: | ||
Used in: cfg'''Non'''AiVehicles | Used in: cfg'''Non'''AiVehicles | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' metres per second | ||
acceleration = 7; | acceleration = 7; | ||
==accuracy== | ==accuracy== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' | ||
accuracy = 0.5; | accuracy = 0.5; | ||
==aileronSensitivity== | ==aileronSensitivity== | ||
[[Float]] | [[FloatTokenNames|Float]] | ||
aileronsensitivity = 0.66; | aileronsensitivity = 0.66; | ||
==ambient== | ==ambient== | ||
[[Array | [[ArrayTokenNames|Array]: Used by reflectors | ||
ambient[] = {0.070000,0.070000,0.070000,1.000000}; | ambient[] = {0.070000,0.070000,0.070000,1.000000}; | ||
==animationOpen== | ==animationOpen== | ||
[[String | [[StringTokenNames|String] | ||
animationOpen = "\AnyAddon\AnyRTM(.rtm)"; | animationOpen = "\AnyAddon\AnyRTM(.rtm)"; | ||
==animationDrop == | ==animationDrop == | ||
[[String | [[StringTokenNames|String] | ||
animationDrop = "\AnyAddon\AnyRTM(.rtm)"; | animationDrop = "\AnyAddon\AnyRTM(.rtm)"; | ||
==animationSource...== | ==animationSource...== | ||
===animationSourceBody=== | ===animationSourceBody=== | ||
[[String | [[StringTokenNames|String] | ||
animationSourceBody = "Turret_2"; | animationSourceBody = "Turret_2"; | ||
===animationSourceGun=== | ===animationSourceGun=== | ||
[[String | [[StringTokenNames|String] | ||
animationSourceGun = "Gun_2"; | animationSourceGun = "Gun_2"; | ||
===animationSourceHatch=== | ===animationSourceHatch=== | ||
[[String | [[StringTokenNames|String] | ||
animationSourceHatch = ""; | animationSourceHatch = ""; | ||
==armor== | ==armor== | ||
''[[Float]]'': A strength value of how much external damage can be taken before 'destruction'. | ''[[FloatTokenNames|Float]]'': A strength value of how much external damage can be taken before 'destruction'. | ||
armor = 1.400000; // a bee | armor = 1.400000; // a bee | ||
armor = 50; // a helicopter | armor = 50; // a helicopter | ||
==audible== | ==audible== | ||
[[Integer | [[IntegerTokenNames|Integer] | ||
audible = 8; | audible = 8; | ||
Line 86: | Line 86: | ||
Used in: cfg'''Non'''AiVehicles | Used in: cfg'''Non'''AiVehicles | ||
''[[Integer | ''[[IntegerTokenNames|Integer]: ''height in metres above sealevel. See [[#minHeight]] , [[#maxHeight]] | ||
avgHeight = 10; | avgHeight = 10; | ||
<hr> | <hr> | ||
Line 93: | Line 93: | ||
=B= | =B= | ||
==brightness== | ==brightness== | ||
[[Float]]: | [[FloatTokenNames|Float]]: | ||
brightness = 1.000000; | brightness = 1.000000; | ||
==body== | ==body== | ||
[[String | [[StringTokenNames|String]: | ||
body = "mainTurret"; | body = "mainTurret"; | ||
Line 107: | Line 107: | ||
Used in: cfg'''Non'''AiVehicles | Used in: cfg'''Non'''AiVehicles | ||
''[[Boolean | ''[[BooleanTokenNames|Boolean]]:'' Declares whether bullets have any effect | ||
canBeShot = 1; | canBeShot = 1; | ||
==cargoAction== | ==cargoAction== | ||
[[Array | [[ArrayTokenNames|Array]: see [[#driverAction]] | ||
cargoAction[] = {"TestDriver"}; | cargoAction[] = {"TestDriver"}; | ||
Line 116: | Line 116: | ||
==cargoIsCoDriver== | ==cargoIsCoDriver== | ||
[[Boolean]] [[Array | [[Boolean]] [[ArrayTokenNames|Array] | ||
cargoIsCoDriver[] = {false,false,false,false,true};// 5th position in this vehicle | cargoIsCoDriver[] = {false,false,false,false,true};// 5th position in this vehicle | ||
==cast...Shadow== | ==cast...Shadow== | ||
Line 130: | Line 130: | ||
castGunnerShadow = 1; | castGunnerShadow = 1; | ||
==cobraLight== | ==cobraLight== | ||
[[String | [[StringTokenNames|String] : Used as a core model for all other 'air' craft. | ||
cobraLight = "AnyAddon\AnyP3d(.p3d)"; | cobraLight = "AnyAddon\AnyP3d(.p3d)"; | ||
==color== | ==color== | ||
[[Array | [[ArrayTokenNames|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== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]'': part of Turret class | ||
commanding = -1; | commanding = -1; | ||
==cost== | ==cost== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]'': This value reflects the attractiveness of the target to the enemu ai. _when_ all other considerations are equal. A soldier eg is not interested in Air, despite it's highly attractive cost values. On the other hand, he is interested in a medic, since a medic (in normal configs) has a (whiel small) a higher cost, than others in the group, including the officer. | ||
cost = 10000000;// an air vehicle is tyoically this value | cost = 10000000;// an air vehicle is tyoically this value | ||
Line 151: | Line 151: | ||
==crew== | ==crew== | ||
''[[String | ''[[StringTokenNames|String]'': Reflects whether vehicle is manned, and what. | ||
crew = "SoldierWPilot"; | crew = "SoldierWPilot"; | ||
Line 160: | Line 160: | ||
<hr> | <hr> | ||
==dammageHalf== | ==dammageHalf== | ||
[[Array | [[ArrayTokenNames|Array]: of varable number of strings | ||
dammageHalf[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...}; | dammageHalf[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...}; | ||
Line 166: | Line 166: | ||
===dammageFull=== | ===dammageFull=== | ||
[[Array | [[ArrayTokenNames|Array]: of varable number of strings | ||
dammageFull[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...}; | dammageFull[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...}; | ||
see [[#dammageHalf]] for the self evident difference. | see [[#dammageHalf]] for the self evident difference. | ||
==direction== | ==direction== | ||
[[Float]]: | [[FloatTokenNames|Float]]: | ||
direction = "konec L svetla"; | direction = "konec L svetla"; | ||
==displayName== | ==displayName== | ||
[[String | [[StringTokenNames|String]: This value is used to select the unit in the Mission Editor, as well as when pointing your team to an object in the game. | ||
Ordinaruly it is good practice to acess the stringtable.csv that accompanies the addont so that | Ordinaruly it is good practice to acess the stringtable.csv that accompanies the addont so that | ||
Line 184: | Line 184: | ||
===displayNameShort=== | ===displayNameShort=== | ||
[[String | [[StringTokenNames|String]: | ||
displayNameShort = "$STR_DN_UH60"; | displayNameShort = "$STR_DN_UH60"; | ||
==driverAction== | ==driverAction== | ||
[[String | [[StringTokenNames|String]: see [[gunnerAction]] | ||
driverAction = "ManActTestDriver"; | driverAction = "ManActTestDriver"; | ||
==driverCanSee== | ==driverCanSee== | ||
[[String | [[StringTokenNames|String] (math formula) | ||
driverCanSee = "2+8"; | driverCanSee = "2+8"; | ||
Line 201: | Line 201: | ||
<hr> | <hr> | ||
==ejectDamageLimit== | ==ejectDamageLimit== | ||
[[Float]]: You can get hurt, but you can't die with vals less than 1.0 | [[FloatTokenNames|Float]]: You can get hurt, but you can't die with vals less than 1.0 | ||
ejectDamageLimit = 0.750000; | ejectDamageLimit = 0.750000; | ||
==ejectSpeed== | ==ejectSpeed== | ||
[[Array | [[ArrayTokenNames|Array] | ||
ejectSpeed[] = {0,0,0}; | ejectSpeed[] = {0,0,0}; | ||
==ejectDeadCargo== | ==ejectDeadCargo== | ||
Line 215: | Line 215: | ||
==envelope== | ==envelope== | ||
[[Float]] [[Array | [[FloatTokenNames|Float]] [[ArrayTokenNames|Array] | ||
envelope[] = {0.000000,0.000000,0.300000,1.000000,2.500000,3.300000,3.500000,3.200000,2.500000,2.000000,1.500000,1.000000}; | 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== | ||
[[Float]] | [[FloatTokenNames|Float]] | ||
elevatorSensitivity = 0.2; | elevatorSensitivity = 0.2; | ||
==extCameraPosition[]== | ==extCameraPosition[]== | ||
[[Array | [[ArrayTokenNames|Array] | ||
extCameraPosition[] = {0,2,-15}; | extCameraPosition[] = {0,2,-15}; | ||
<hr><hr> | <hr><hr> | ||
Line 230: | Line 230: | ||
<hr> | <hr> | ||
==fired== | ==fired== | ||
''[[String | ''[[StringTokenNames|String]'': | ||
fired = "_this exec ""\AnyAddon\AnySQS.sqs"""; // note the "" | fired = "_this exec ""\AnyAddon\AnySQS.sqs"""; // note the "" | ||
==flapsFrictionCoef== | ==flapsFrictionCoef== | ||
[[Integer | [[IntegerTokenNames|Integer] | ||
flapsFrictionCoef = 2; | flapsFrictionCoef = 2; | ||
==fov== | ==fov== | ||
[[Float]] | [[FloatTokenNames|Float]] | ||
fov = 0.500000; | fov = 0.500000; | ||
==flySound== | ==flySound== | ||
[[Array | [[ArrayTokenNames|Array] | ||
flySound[] = {"\AddonName\AnySound.wss",0.000000,1,1}; | flySound[] = {"\AddonName\AnySound.wss",0.000000,1,1}; | ||
Line 252: | Line 252: | ||
<hr> | <hr> | ||
==gun== | ==gun== | ||
[[String | [[StringTokenNames|String]: | ||
gun = "mainGun"; | gun = "mainGun"; | ||
==gearRetracting== | ==gearRetracting== | ||
Line 259: | Line 259: | ||
==gunnerAction== | ==gunnerAction== | ||
''[[String | ''[[StringTokenNames|String]'': | ||
gunnerAction = "ManActAH1Gunner"; | gunnerAction = "ManActAH1Gunner"; | ||
see [[#driverAction]] | see [[#driverAction]] | ||
==gunAimDown== | ==gunAimDown== | ||
[[Float]] | [[FloatTokenNames|Float]] | ||
gunAimDown = 0.07; | gunAimDown = 0.07; | ||
Line 274: | Line 274: | ||
==gunnerOpticsModel== | ==gunnerOpticsModel== | ||
''[[String | ''[[StringTokenNames|String]'': part of NewTurret class | ||
gunnerOpticsModel = "\AnyAddon\AnyP3d(.p3d)"; | gunnerOpticsModel = "\AnyAddon\AnyP3d(.p3d)"; | ||
==gunnerName== | ==gunnerName== | ||
[[String | [[StringTokenNames|String] | ||
gunnerName = "$STR_POSITION_CREWCHIEF"; | gunnerName = "$STR_POSITION_CREWCHIEF"; | ||
Line 289: | Line 289: | ||
<hr> | <hr> | ||
==hitpoint== | ==hitpoint== | ||
[[String | [[StringTokenNames|String]: | ||
hitpoint = "L svetlo"; | hitpoint = "L svetlo"; | ||
Line 301: | Line 301: | ||
<hr> | <hr> | ||
==icon== | ==icon== | ||
[[String | [[StringTokenNames|String]: | ||
This value us used exclusively by the map editor to show the building or vehicle when editing. It is not normally visible during game play. | This value us used exclusively by the map editor to show the building or vehicle when editing. It is not normally visible during game play. | ||
Line 310: | Line 310: | ||
==init== | ==init== | ||
''[[String | ''[[StringTokenNames|String]'': | ||
init = "[(_this select 0)] exec ""\AnyAddon\AnySqs.sqs"""; // note the "" | init = "[(_this select 0)] exec ""\AnyAddon\AnySqs.sqs"""; // note the "" | ||
==initAngleX== | ==initAngleX== | ||
[[Integer | [[IntegerTokenNames|Integer] Degrees | ||
initAngleX = 0; | initAngleX = 0; | ||
===minAngleX=== | ===minAngleX=== | ||
[[Integer | [[IntegerTokenNames|Integer] Degrees | ||
minAngleX = -30; | minAngleX = -30; | ||
===maxAngleX=== | ===maxAngleX=== | ||
[[Integer | [[IntegerTokenNames|Integer] Degrees | ||
maxAngleX = 30; | maxAngleX = 30; | ||
==initAngleY== | ==initAngleY== | ||
[[Integer | [[IntegerTokenNames|Integer] Degrees | ||
initAngleY = 0; | initAngleY = 0; | ||
===minAngleY=== | ===minAngleY=== | ||
[[Integer | [[IntegerTokenNames|Integer] Degrees | ||
minAngleY = -30; | minAngleY = -30; | ||
===maxAngleY=== | ===maxAngleY=== | ||
[[Integer | [[IntegerTokenNames|Integer] Degrees | ||
maxAngleY = 30; | maxAngleY = 30; | ||
==initCargoAngleY== | ==initCargoAngleY== | ||
[[Integer | [[IntegerTokenNames|Integer]: | ||
initCargoAngleY = 10; | initCargoAngleY = 10; | ||
===minCargoAngleY === | ===minCargoAngleY === | ||
[[Integer | [[IntegerTokenNames|Integer]: In Degrees. | ||
minCargoAngleY = -60; | minCargoAngleY = -60; | ||
===maxCargoAngleY=== | ===maxCargoAngleY=== | ||
[[Integer | [[IntegerTokenNames|Integer]: In Degrees. | ||
maxCargoAngleY = 120; | maxCargoAngleY = 120; | ||
==initElev== | ==initElev== | ||
[[Integer | [[IntegerTokenNames|Integer]:Degrees | ||
initElev = -80; | initElev = -80; | ||
===minElev=== | ===minElev=== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' Signed degrees | ||
minElev = -60; | minElev = -60; | ||
===maxElev=== | ===maxElev=== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' signed degrees max angle of elevation. | ||
maxElev = 10; | maxElev = 10; | ||
==initFov== | ==initFov== | ||
Line 359: | Line 359: | ||
maxFov = 1.200000; | maxFov = 1.200000; | ||
==initTurn== | ==initTurn== | ||
[[Integer | [[IntegerTokenNames|Integer] Degrees | ||
initTurn = 90; | initTurn = 90; | ||
===minTurn=== | ===minTurn=== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' signed degrees angle of turning. | ||
minTurn= -70; | minTurn= -70; | ||
===maxTurn=== | ===maxTurn=== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' signed degrees max angle of turning. | ||
maxTurn = 70; | maxTurn = 70; | ||
Line 374: | Line 374: | ||
<hr> | <hr> | ||
==killed== | ==killed== | ||
''[[String | ''[[StringTokenNames|String]'': | ||
killed = "[(_this select 0),1,1,0,0] exec ""\AnyAddon\AnySQS.sqs""";// note the "" | killed = "[(_this select 0),1,1,0,0] exec ""\AnyAddon\AnySQS.sqs""";// note the "" | ||
Line 386: | Line 386: | ||
laserScanner = true; | laserScanner = true; | ||
==landingSpeed== | ==landingSpeed== | ||
[[Integer | [[IntegerTokenNames|Integer] | ||
landingSpeed = 75; | landingSpeed = 75; | ||
==landingAoa== | ==landingAoa== | ||
[[String | [[StringTokenNames|String] (math formula) Landing Angle of Approach | ||
landingAoa = "3.5*3.1415/180"; | landingAoa = "3.5*3.1415/180"; | ||
==library== | ==library== | ||
[[String | [[StringTokenNames|String]: This TokenName is associated with the library class of a vehicle (if any). It is used to give a 'memo' style full screen info on the given object. Example of use: | ||
class Library | class Library | ||
{ | { | ||
Line 405: | Line 405: | ||
<hr> | <hr> | ||
==magazines== | ==magazines== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': variable strings | ||
magazines[] = {"750Rnd_M197_AH1","38Rnd_FFAR","8Rnd_Hellfire"}; | magazines[] = {"750Rnd_M197_AH1","38Rnd_FFAR","8Rnd_Hellfire"}; | ||
== marker== | == marker== | ||
[[String | [[StringTokenNames|String] : used as a core for all other air craft when looking on map. | ||
marker = "\AnyAddon\AnyP3d.(p3d")"; | marker = "\AnyAddon\AnyP3d.(p3d")"; | ||
==material== | ==material== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]'': | ||
material = 50; | material = 50; | ||
==mainRotorSpeed== | ==mainRotorSpeed== | ||
[[Integer | [[IntegerTokenNames|Integer]: | ||
mainRotorSpeed = -1; | mainRotorSpeed = -1; | ||
===backRotorSpeed=== | ===backRotorSpeed=== | ||
[[Integer | [[IntegerTokenNames|Integer] | ||
backRotorSpeed = 1.0; | backRotorSpeed = 1.0; | ||
Line 426: | Line 426: | ||
Used in: cfg'''Non'''AiVehicles | Used in: cfg'''Non'''AiVehicles | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' Min height in metres above sealevel. See [[#avgHeight]] , [[#maxHeight]] | ||
minHeight = 5; | minHeight = 5; | ||
===maxHeight=== | ===maxHeight=== | ||
Used in: cfg'''Non'''AiVehicles | Used in: cfg'''Non'''AiVehicles | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' max height above sea level. See [[#avgHeight]] , [[#minHeight]] | ||
maxHeight = 50; | maxHeight = 50; | ||
==minSpeed== | ==minSpeed== | ||
Used in: cfg'''Non'''AiVehicles | Used in: cfg'''Non'''AiVehicles | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' In Kph. | ||
minSpeed = -0.500000; range 0->1 | minSpeed = -0.500000; range 0->1 | ||
===maxSpeed=== | ===maxSpeed=== | ||
''[[Integer | ''[[IntegerTokenNames|Integer]:'' In kph. | ||
maxSpeed = 20; | maxSpeed = 20; | ||
==memoryPointsGetInGunner== | ==memoryPointsGetInGunner== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointsGetInGunner = "pos gunner"; | memoryPointsGetInGunner = "pos gunner"; | ||
===memoryPointsGetInGunnerDir=== | ===memoryPointsGetInGunnerDir=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointsGetInGunnerDir = "pos gunner dir"; | memoryPointsGetInGunnerDir = "pos gunner dir"; | ||
==memoryPointsGetInDriver== | ==memoryPointsGetInDriver== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointsGetInDriver = "pos_driver"; | memoryPointsGetInDriver = "pos_driver"; | ||
===memoryPointsGetInDriverDir=== | ===memoryPointsGetInDriverDir=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointsGetInDriverDir = "pos_driver_dir"; | memoryPointsGetInDriverDir = "pos_driver_dir"; | ||
==memoryPointGun== | ==memoryPointGun== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointGun = "machinegun"; | memoryPointGun = "machinegun"; | ||
==memoryPointGunnerOptics== | ==memoryPointGunnerOptics== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointGunnerOptics = "gunnerview"; | memoryPointGunnerOptics = "gunnerview"; | ||
==memoryPointLMissile== | ==memoryPointLMissile== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointLMissile = "Missile_1"; | memoryPointLMissile = "Missile_1"; | ||
===memoryPointRMissile=== | ===memoryPointRMissile=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointRMissile = "Missile_2"; | memoryPointRMissile = "Missile_2"; | ||
==memoryPointLRocket== | ==memoryPointLRocket== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointLRocket = "Rocket_1"; | memoryPointLRocket = "Rocket_1"; | ||
===memoryPointRRocket=== | ===memoryPointRRocket=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
memoryPointRRocket = "Rocket_2"; | memoryPointRRocket = "Rocket_2"; | ||
==model== | ==model== | ||
''[[String | ''[[StringTokenNames|String]:'' Location in the addon where the p3d model resides. Can be subfolder | ||
model = "\AddonName\anyp3d(.p3d)"; // can be "" | model = "\AddonName\anyp3d(.p3d)"; // can be "" | ||
Line 482: | Line 482: | ||
<hr> | <hr> | ||
==name== | ==name== | ||
''[[String | ''[[StringTokenNames|String]'': | ||
name = "motor"; | name = "motor"; | ||
==nameSound == | ==nameSound == | ||
''[[String | ''[[StringTokenNames|String]'': Namesound is used by the AI audio to indicate verbally where to go, what 'vehicle' to attack. This the audio speech "move to 'rock' 3 o'clock' is derived from the namesound. | ||
nameSound = "rock"; | nameSound = "rock"; | ||
Line 504: | Line 504: | ||
==noseDownCoef== | ==noseDownCoef== | ||
[[Float]] | [[FloatTokenNames|Float]] | ||
noseDownCoef = 0.025; | noseDownCoef = 0.025; | ||
Line 515: | Line 515: | ||
===driverOpticsModel=== | ===driverOpticsModel=== | ||
[[String | [[StringTokenNames|String] | ||
driverOpticsModel = "\AnyPbo\AnyP3d(.p3d)"; | driverOpticsModel = "\AnyPbo\AnyP3d(.p3d)"; | ||
===gunnerOpticsModel=== | ===gunnerOpticsModel=== | ||
[[String | [[StringTokenNames|String] | ||
gunnerOpticsModel= "\AnyPbo\AnyP3d(.p3d)"; | gunnerOpticsModel= "\AnyPbo\AnyP3d(.p3d)"; | ||
===commanderOpticsModel=== | ===commanderOpticsModel=== | ||
[[String | [[StringTokenNames|String] | ||
commanderOpticsModel= "\AnyPbo\AnyP3d(.p3d)"; | commanderOpticsModel= "\AnyPbo\AnyP3d(.p3d)"; | ||
==outGunnerMayFire== | ==outGunnerMayFire== | ||
Line 534: | Line 534: | ||
passThrough = 1; | passThrough = 1; | ||
==picture == | ==picture == | ||
[[String | [[StringTokenNames|String]: I think this is for briefing Information icon click | ||
picture = "\AnyAddon\AnyPAA(.paa)"; | picture = "\AnyAddon\AnyPAA(.paa)"; | ||
==primary== | ==primary== | ||
Line 541: | Line 541: | ||
primary = true; | primary = true; | ||
==proxyIndex== | ==proxyIndex== | ||
[[Integer | [[IntegerTokenNames|Integer] | ||
proxyIndex = 2; | proxyIndex = 2; | ||
==position== | ==position== | ||
[[String | [[StringTokenNames|String]: | ||
position = "L svetlo"; | position = "L svetlo"; | ||
Line 558: | Line 558: | ||
Used in: cfg'''Non'''AiVehicles | Used in: cfg'''Non'''AiVehicles | ||
''[[Boolean | ''[[BooleanTokenNames|Boolean]]:'' Normally, models ARE reversed with respect to how they present on the screen after editing with tools like oxygen (eg) This overrides the default. See [[#model]] | ||
reversed = 0; | reversed = 0; | ||
==rotor...== | ==rotor...== | ||
===rotorBig=== | ===rotorBig=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
rotorBig = "vrtule_velka"; | rotorBig = "vrtule_velka"; | ||
====rotorBigBlend==== | ====rotorBigBlend==== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
rotorBigBlend = "vrtule_velka_bl"; | rotorBigBlend = "vrtule_velka_bl"; | ||
===rotorSmall=== | ===rotorSmall=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
rotorSmall = "vrtule_mala"; | rotorSmall = "vrtule_mala"; | ||
====rotorSmallBlend==== | ====rotorSmallBlend==== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
rotorSmallBlend = "vrtule_mala_bl"; | rotorSmallBlend = "vrtule_mala_bl"; | ||
Line 632: | Line 632: | ||
<hr> | <hr> | ||
==selection== | ==selection== | ||
[[String | [[StringTokenNames|String]: | ||
selection = "L svetlo"; | selection = "L svetlo"; | ||
==Selection...== | ==Selection...== | ||
===selectionFireAnim=== | ===selectionFireAnim=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
selectionFireAnim = "muzzleflash"; | selectionFireAnim = "muzzleflash"; | ||
===selectionHRotorStill=== | ===selectionHRotorStill=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
selectionHRotorStill= "mainRotorStatic"; | selectionHRotorStill= "mainRotorStatic"; | ||
====selectionHRotorMove==== | ====selectionHRotorMove==== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
selectionHRotorMove = "mainRotorBlurred"; | selectionHRotorMove = "mainRotorBlurred"; | ||
===selectionVRotorStill=== | ===selectionVRotorStill=== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
selectionVRotorStill = "tailRotorStatic"; | selectionVRotorStill = "tailRotorStatic"; | ||
====selectionVRotorMove==== | ====selectionVRotorMove==== | ||
''[[String | ''[[StringTokenNames|String]:'' | ||
selectionVRotorMove = "tailRotorBlurred"; | selectionVRotorMove = "tailRotorBlurred"; | ||
==size== | ==size== | ||
[[Float]]: | [[FloatTokenNames|Float]]: | ||
size = 0.500000; | size = 0.500000; | ||
==side== | ==side== | ||
[[Integer | [[IntegerTokenNames|Integer]: The side, when declared, sets the 'vehicle' on east west resistance civilian. The effect differs according to the 'vehicle' itself. Eg soldiers, versus hospitals or repair trucks that can only be used by same side, if specifically sided. | ||
Well written missions (and configs) use defines at top of file to make this more legible. | Well written missions (and configs) use defines at top of file to make this more legible. | ||
Line 669: | Line 669: | ||
==simulation== | ==simulation== | ||
''[[String | ''[[StringTokenNames|String]]: '' The engine behaviour with this [[#model]]. | ||
simulation = "SeaGull";// campfire,house, etc | simulation = "SeaGull";// campfire,house, etc | ||
==singSound== | ==singSound== | ||
[[Array | [[ArrayTokenNames|Array]]: normally for a bird see [[#sound...]] | ||
singSound[] = {"\AddonName\SoundFile.ogg",0.031623,1,1}; | singSound[] = {"\AddonName\SoundFile.ogg",0.031623,1,1}; | ||
Line 682: | Line 682: | ||
also see [[#flySound]] , [[#singSound]] | also see [[#flySound]] , [[#singSound]] | ||
===soundCrash=== | ===soundCrash=== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': | ||
soundCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | soundCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | ||
===soundDammage=== | ===soundDammage=== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': | ||
soundDammage[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | soundDammage[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | ||
===soundEngine=== | ===soundEngine=== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': | ||
soundEngine[] = {"\AnyAddon\AnySound(.wss)",5.623414,1}; | soundEngine[] = {"\AnyAddon\AnySound(.wss)",5.623414,1}; | ||
===soundEnviron=== | ===soundEnviron=== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': | ||
soundEnviron[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000}; | soundEnviron[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000}; | ||
===SoundGetIn=== | ===SoundGetIn=== | ||
[[Array | [[ArrayTokenNames|Array]: | ||
SoundGetIn[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | SoundGetIn[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | ||
===soundGetOut=== | ===soundGetOut=== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': | ||
soundGetOut[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | soundGetOut[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | ||
===soundLandCrash=== | ===soundLandCrash=== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': | ||
soundLandCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | soundLandCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | ||
===soundServo=== | ===soundServo=== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': | ||
soundServo[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000}; | soundServo[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000}; | ||
===soundWaterCrash=== | ===soundWaterCrash=== | ||
[[Array | [[ArrayTokenNames|Array] | ||
soundWaterCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | soundWaterCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1}; | ||
==source== | ==source== | ||
''[[String | ''[[StringTokenNames|String]'': found in animationSources | ||
source = "reload"; | source = "reload"; | ||
==straightDistance== | ==straightDistance== | ||
Line 719: | Line 719: | ||
straightDistance = 50; | straightDistance = 50; | ||
==supplyRadius == | ==supplyRadius == | ||
[[Float]]: '''new''' In meters. This token-name lets cars (eg) fill from petrol stations (eg) without having to bang into them, or be at 'exact' angles. | [[FloatTokenNames|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 731: | Line 731: | ||
Used in: cfg<u>Non</u>AiVehicles | Used in: cfg<u>Non</u>AiVehicles | ||
''[[Boolean | ''[[BooleanTokenNames|Boolean]]:'' (i think) | ||
turning = 1; | turning = 1; | ||
==threat== | ==threat== | ||
[[Array | [[ArrayTokenNames|Array]: This three element array reperesents the threat this 'vehicle' has to the enemy ai. | ||
The 3 components of the 'threat' are land threat, air threat, sea threat. In the exampe below for a cobra. It is not too dangerous for land 'vehicles' (men and machines) bit deadly against other air vehicles and nasty to boats. | The 3 components of the 'threat' are land threat, air threat, sea threat. In the exampe below for a cobra. It is not too dangerous for land 'vehicles' (men and machines) bit deadly against other air vehicles and nasty to boats. | ||
Line 746: | Line 746: | ||
==transport...== | ==transport...== | ||
===transportAmmo=== | ===transportAmmo=== | ||
[[Integer | [[IntegerTokenNames|Integer]: Amount of difffernt ammo types this vehicle can carry. | ||
transportAmmo = 0; | transportAmmo = 0; | ||
===transportSoldier=== | ===transportSoldier=== | ||
[[Integer | [[IntegerTokenNames|Integer]: Number of units this vehicle can carry. | ||
transportSoldier = 13; | transportSoldier = 13; | ||
===transportMaxMagazines === | ===transportMaxMagazines === | ||
[[Integer | [[IntegerTokenNames|Integer]: | ||
transportMaxMagazines = 150; | transportMaxMagazines = 150; | ||
===transportMaxWeapons === | ===transportMaxWeapons === | ||
[[Integer | [[IntegerTokenNames|Integer]: | ||
transportMaxWeapons = 30; | transportMaxWeapons = 30; | ||
==typicalCargo== | ==typicalCargo== | ||
[[Array | [[ArrayTokenNames|Array]: variable strings. Preloads veicle with units (if auto) | ||
typicalCargo[] = {"Soldier","Soldier","SoldierLAW","SoldierLAW"}; | typicalCargo[] = {"Soldier","Soldier","SoldierLAW","SoldierLAW"}; | ||
Line 766: | Line 766: | ||
==type== | ==type== | ||
[[Integer | [[IntegerTokenNames|Integer]: this indicates the threat type of the 'vehicle' in well written configs, the 3 possible values are declared as defines at top of file for legibility | ||
#define LAND 0 | #define LAND 0 | ||
#define SEA 1 | #define SEA 1 | ||
Line 785: | Line 785: | ||
viewGunnerShadow = 1; | viewGunnerShadow = 1; | ||
==vehicleClass== | ==vehicleClass== | ||
[[String | [[StringTokenNames|String]: Used for Mission Editor basic category selection | ||
vehicleClass = "Air"; | vehicleClass = "Air"; | ||
<hr> | <hr> | ||
Line 793: | Line 793: | ||
<hr> | <hr> | ||
==weapon== | ==weapon== | ||
''[[String | ''[[StringTokenNames|String]'': found in animationSources | ||
weapon = "M197"; | weapon = "M197"; | ||
==weapons[]== | ==weapons[]== | ||
''[[Array | ''[[ArrayTokenNames|Array]'': an array of selectable weaponry for the given 'vehicle' | ||
weapons[] = {"FFARLauncher","TwinM134"}; | weapons[] = {"FFARLauncher","TwinM134"}; | ||
==wheelSteeringSensitivity== | ==wheelSteeringSensitivity== | ||
[[Float]] | [[FloatTokenNames|Float]] | ||
wheelSteeringSensitivity = 0.500000; | wheelSteeringSensitivity = 0.500000; |
Revision as of 07:00, 1 July 2006
Introduction
TokenName Reference
Simply put, Token Name & Value pairs are as follows
SomeName = SomeValue;
Token Names are used extensively throughout ofp 'text' files.
This article details the token-names available in Config.cpp , description.ext and mission.sqm. The primary focus of this document is the TokenNames used for various aspects of controlling models within Addons. Description.ext and mission.sqm are included because many of the 'tokens' are common to all.
For instance, when creating a model using class statemens inside a config.cpp, to access it later, via the mission editor
scope=2;
This article lists token names, their value ranges, and their type.
Where not specifcally specified, the 'useage'of the token name is within config.cpp, class CfgVehicles.
Legend:
Integer: A signed value to 65k.
Boolean: An Integer value of 0 or 1
Array: An array []=
String: Any string value. ALL STRINGS MUST BE ENCLOSED IN QUOTES for Elite. These strings are misinterpreted as #defines otherwise.
Notes: For Models and other items using p3d files, the .p3d extension is not reguired. Similar comment for pac/paa files, and wss (sound) files where appropriate
A
airFriction
Used in: cfgNonAiVehicles
Array: 3 separate tokens, airFriction0[],airFriction1[],airFriction2[] that define the X Y and Z component respectively.
airFriction2[] = {25,12,2.500000};
acceleration
Used in: cfgNonAiVehicles
[[IntegerTokenNames|Integer]: metres per second
acceleration = 7;
accuracy
[[IntegerTokenNames|Integer]:
accuracy = 0.5;
aileronSensitivity
aileronsensitivity = 0.66;
ambient
[[ArrayTokenNames|Array]: Used by reflectors
ambient[] = {0.070000,0.070000,0.070000,1.000000};
animationOpen
[[StringTokenNames|String]
animationOpen = "\AnyAddon\AnyRTM(.rtm)";
animationDrop
[[StringTokenNames|String]
animationDrop = "\AnyAddon\AnyRTM(.rtm)";
animationSource...
animationSourceBody
[[StringTokenNames|String]
animationSourceBody = "Turret_2";
animationSourceGun
[[StringTokenNames|String]
animationSourceGun = "Gun_2";
animationSourceHatch
[[StringTokenNames|String]
animationSourceHatch = "";
armor
Float: A strength value of how much external damage can be taken before 'destruction'.
armor = 1.400000; // a bee armor = 50; // a helicopter
audible
[[IntegerTokenNames|Integer]
audible = 8;
avgHeight
Used in: cfgNonAiVehicles
[[IntegerTokenNames|Integer]: height in metres above sealevel. See #minHeight , #maxHeight
avgHeight = 10;
B
brightness
brightness = 1.000000;
body
[[StringTokenNames|String]:
body = "mainTurret";
C
canBeShot
Used in: cfgNonAiVehicles
Boolean: Declares whether bullets have any effect
canBeShot = 1;
cargoAction
[[ArrayTokenNames|Array]: see #driverAction
cargoAction[] = {"TestDriver"};
note that unlike #driverAction and #gunnerAction this is an array. (for multiple positions)
cargoIsCoDriver
Boolean [[ArrayTokenNames|Array]
cargoIsCoDriver[] = {false,false,false,false,true};// 5th position in this vehicle
cast...Shadow
castCargoShadow
castCargoShadow = true;
castDriverShadow
castDriverShadow = 1;
castGunnerShadow
Boolean: part of Turret class
castGunnerShadow = 1;
cobraLight
[[StringTokenNames|String] : Used as a core model for all other 'air' craft.
cobraLight = "AnyAddon\AnyP3d(.p3d)";
color
[[ArrayTokenNames|Array]: of floats. Used by reflectors
color[] = {0.800000,0.800000,1.000000,1.000000};
commanding
[[IntegerTokenNames|Integer]: part of Turret class
commanding = -1;
cost
[[IntegerTokenNames|Integer]: This value reflects the attractiveness of the target to the enemu ai. _when_ all other considerations are equal. A soldier eg is not interested in Air, despite it's highly attractive cost values. On the other hand, he is interested in a medic, since a medic (in normal configs) has a (whiel small) a higher cost, than others in the group, including the officer.
cost = 10000000;// an air vehicle is tyoically this value cost = 8; // a medic; cost = 1; // a grunt cost = 4; // an officer cost = 0; // most buildings;
crew
[[StringTokenNames|String]: Reflects whether vehicle is manned, and what.
crew = "SoldierWPilot";
D
dammageHalf
[[ArrayTokenNames|Array]: of varable number of strings
dammageHalf[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};
When 'vehicle' is considered at least half way to destruction, the series of pictures is applied to the model.
dammageFull
[[ArrayTokenNames|Array]: of varable number of strings
dammageFull[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};
see #dammageHalf for the self evident difference.
direction
direction = "konec L svetla";
displayName
[[StringTokenNames|String]: This value is used to select the unit in the Mission Editor, as well as when pointing your team to an object in the game.
Ordinaruly it is good practice to acess the stringtable.csv that accompanies the addont so that
- all names and labels are in one place
- for language differences
displayName = "$STR_DN_AH1Z";
displayNameShort
[[StringTokenNames|String]:
displayNameShort = "$STR_DN_UH60";
driverAction
[[StringTokenNames|String]: see gunnerAction
driverAction = "ManActTestDriver";
driverCanSee
[[StringTokenNames|String] (math formula)
driverCanSee = "2+8";
E
ejectDamageLimit
Float: You can get hurt, but you can't die with vals less than 1.0
ejectDamageLimit = 0.750000;
ejectSpeed
[[ArrayTokenNames|Array]
ejectSpeed[] = {0,0,0};
ejectDeadCargo
ejectDeadCargo = 1;
enableSweep
enableSweep = false;
envelope
Float [[ArrayTokenNames|Array]
envelope[] = {0.000000,0.000000,0.300000,1.000000,2.500000,3.300000,3.500000,3.200000,2.500000,2.000000,1.500000,1.000000};
elevatorSensitivity
elevatorSensitivity = 0.2;
extCameraPosition[]
[[ArrayTokenNames|Array]
extCameraPosition[] = {0,2,-15};
F
fired
[[StringTokenNames|String]:
fired = "_this exec ""\AnyAddon\AnySQS.sqs"""; // note the ""
flapsFrictionCoef
[[IntegerTokenNames|Integer]
flapsFrictionCoef = 2;
fov
fov = 0.500000;
flySound
[[ArrayTokenNames|Array]
flySound[] = {"\AddonName\AnySound.wss",0.000000,1,1};
see #sound...
G
gun
[[StringTokenNames|String]:
gun = "mainGun";
gearRetracting
gearRetracting = 1;
gunnerAction
[[StringTokenNames|String]:
gunnerAction = "ManActAH1Gunner";
see #driverAction
gunAimDown
gunAimDown = 0.07;
gunBeg
gunBeg = "muzzle_1";
gunEnd
gunEnd = "chamber_1";
gunnerOpticsModel
[[StringTokenNames|String]: part of NewTurret class
gunnerOpticsModel = "\AnyAddon\AnyP3d(.p3d)";
gunnerName
[[StringTokenNames|String]
gunnerName = "$STR_POSITION_CREWCHIEF";
gunnerUsesPilotView
gunnerUsesPilotView = 1;
H
hitpoint
[[StringTokenNames|String]:
hitpoint = "L svetlo";
hasGunnerr
hasGunner = 0;
I
icon
[[StringTokenNames|String]:
This value us used exclusively by the map editor to show the building or vehicle when editing. It is not normally visible during game play.
The icon can be any jpg, paa, or pac file. paa is default.
icon = "\AnyAddon\AnyPAA(.paa)";
init
[[StringTokenNames|String]:
init = "[(_this select 0)] exec ""\AnyAddon\AnySqs.sqs"""; // note the ""
initAngleX
[[IntegerTokenNames|Integer] Degrees
initAngleX = 0;
minAngleX
[[IntegerTokenNames|Integer] Degrees
minAngleX = -30;
maxAngleX
[[IntegerTokenNames|Integer] Degrees
maxAngleX = 30;
initAngleY
[[IntegerTokenNames|Integer] Degrees
initAngleY = 0;
minAngleY
[[IntegerTokenNames|Integer] Degrees
minAngleY = -30;
maxAngleY
[[IntegerTokenNames|Integer] Degrees
maxAngleY = 30;
initCargoAngleY
[[IntegerTokenNames|Integer]:
initCargoAngleY = 10;
minCargoAngleY
[[IntegerTokenNames|Integer]: In Degrees.
minCargoAngleY = -60;
maxCargoAngleY
[[IntegerTokenNames|Integer]: In Degrees.
maxCargoAngleY = 120;
initElev
[[IntegerTokenNames|Integer]:Degrees
initElev = -80;
minElev
[[IntegerTokenNames|Integer]: Signed degrees
minElev = -60;
maxElev
[[IntegerTokenNames|Integer]: signed degrees max angle of elevation.
maxElev = 10;
initFov
initFov = 0.100000;
minFov
minFov = 0.030000;
maxFov
maxFov = 1.200000;
initTurn
[[IntegerTokenNames|Integer] Degrees
initTurn = 90;
minTurn
[[IntegerTokenNames|Integer]: signed degrees angle of turning.
minTurn= -70;
maxTurn
[[IntegerTokenNames|Integer]: signed degrees max angle of turning.
maxTurn = 70;
K
killed
[[StringTokenNames|String]:
killed = "[(_this select 0),1,1,0,0] exec ""\AnyAddon\AnySQS.sqs""";// note the ""
L
laserscanner
Boolean: Determines if a vehicle has laser capability.
laserScanner = true;
landingSpeed
[[IntegerTokenNames|Integer]
landingSpeed = 75;
landingAoa
[[StringTokenNames|String] (math formula) Landing Angle of Approach
landingAoa = "3.5*3.1415/180";
library
[[StringTokenNames|String]: This TokenName is associated with the library class of a vehicle (if any). It is used to give a 'memo' style full screen info on the given object. Example of use:
class Library { libTextDesc = "$STR_LIB_AH1Z"; };
M
magazines
[[ArrayTokenNames|Array]: variable strings
magazines[] = {"750Rnd_M197_AH1","38Rnd_FFAR","8Rnd_Hellfire"};
marker
[[StringTokenNames|String] : used as a core for all other air craft when looking on map.
marker = "\AnyAddon\AnyP3d.(p3d")";
material
[[IntegerTokenNames|Integer]:
material = 50;
mainRotorSpeed
[[IntegerTokenNames|Integer]:
mainRotorSpeed = -1;
backRotorSpeed
[[IntegerTokenNames|Integer] backRotorSpeed = 1.0;
hmmm, that's curious, it accepts floats or ints.
minHeight
Used in: cfgNonAiVehicles
[[IntegerTokenNames|Integer]: Min height in metres above sealevel. See #avgHeight , #maxHeight
minHeight = 5;
maxHeight
Used in: cfgNonAiVehicles
[[IntegerTokenNames|Integer]: max height above sea level. See #avgHeight , #minHeight
maxHeight = 50;
minSpeed
Used in: cfgNonAiVehicles
[[IntegerTokenNames|Integer]: In Kph.
minSpeed = -0.500000; range 0->1
maxSpeed
[[IntegerTokenNames|Integer]: In kph.
maxSpeed = 20;
memoryPointsGetInGunner
[[StringTokenNames|String]:
memoryPointsGetInGunner = "pos gunner";
memoryPointsGetInGunnerDir
[[StringTokenNames|String]:
memoryPointsGetInGunnerDir = "pos gunner dir";
memoryPointsGetInDriver
[[StringTokenNames|String]:
memoryPointsGetInDriver = "pos_driver";
memoryPointsGetInDriverDir
[[StringTokenNames|String]:
memoryPointsGetInDriverDir = "pos_driver_dir";
memoryPointGun
[[StringTokenNames|String]:
memoryPointGun = "machinegun";
memoryPointGunnerOptics
[[StringTokenNames|String]:
memoryPointGunnerOptics = "gunnerview";
memoryPointLMissile
[[StringTokenNames|String]:
memoryPointLMissile = "Missile_1";
memoryPointRMissile
[[StringTokenNames|String]:
memoryPointRMissile = "Missile_2";
memoryPointLRocket
[[StringTokenNames|String]:
memoryPointLRocket = "Rocket_1";
memoryPointRRocket
[[StringTokenNames|String]:
memoryPointRRocket = "Rocket_2";
model
[[StringTokenNames|String]: Location in the addon where the p3d model resides. Can be subfolder
model = "\AddonName\anyp3d(.p3d)"; // can be ""
N
name
[[StringTokenNames|String]:
name = "motor";
nameSound
[[StringTokenNames|String]: Namesound is used by the AI audio to indicate verbally where to go, what 'vehicle' to attack. This the audio speech "move to 'rock' 3 o'clock' is derived from the namesound.
nameSound = "rock";
typically, a collection of buildings (eg) will be configured as follows
class GenBuilding : NonStrategic { scope=private; // internal use only VehicleClass="Some Editor Group Name"; namesound="house"; }; class YellowBuilding: GenBuilding { scope=public; name="YellowBuilding"; model="Some yellow building.p3d"; };
noseDownCoef
noseDownCoef = 0.025;
O
...OpticsModel
driverOpticsModel
[[StringTokenNames|String]
driverOpticsModel = "\AnyPbo\AnyP3d(.p3d)";
gunnerOpticsModel
[[StringTokenNames|String]
gunnerOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
commanderOpticsModel
[[StringTokenNames|String]
commanderOpticsModel= "\AnyPbo\AnyP3d(.p3d)";
outGunnerMayFire
Boolean: partof NewTurrent class
outGunnerMayFire = 1;
P
passThrough
passThrough = 1;
picture
[[StringTokenNames|String]: I think this is for briefing Information icon click
picture = "\AnyAddon\AnyPAA(.paa)";
primary
Boolean: For models that can have, (but don't necessarily do have) multiple internal objects of the same type (turrets eg). One of them, is declated the main, or primary turret. There may indeed be only one 'turret'.
primary = true;
proxyIndex
[[IntegerTokenNames|Integer]
proxyIndex = 2;
position
[[StringTokenNames|String]:
position = "L svetlo";
R
reversed
Used in: cfgNonAiVehicles
Boolean: Normally, models ARE reversed with respect to how they present on the screen after editing with tools like oxygen (eg) This overrides the default. See #model
reversed = 0;
rotor...
rotorBig
[[StringTokenNames|String]:
rotorBig = "vrtule_velka";
rotorBigBlend
[[StringTokenNames|String]:
rotorBigBlend = "vrtule_velka_bl";
rotorSmall
[[StringTokenNames|String]:
rotorSmall = "vrtule_mala";
rotorSmallBlend
[[StringTokenNames|String]:
rotorSmallBlend = "vrtule_mala_bl";
S
scope
Used in: cfgNonAiVehicles
scope = public;
Scope in concept is the same as the C++ reserved words of public, protected and private.
defines normally exist at the top of a well written config.cpp to make meanings clearer.
#define private 0 #define protected 1 #define public 2
The meaning of each is as follows
private:
only other classes within the same config cpp can access, or 'inherit' this class.
protected:
Identical to public, except the class will not be listed in the mission editor. A very common form of use for this is
class vegetables { scope=protected; VehicleClass="Vegetables. namesound= whatever; icon= "vegetableIcon.paa"; /// put any other common characteristics in here }; class GreenOnions : vegetables { scope = public; name="Green Onion; } class PurpleOnion : vegetables { ....
The effect here is to reduce (considerably) not only the amount of tyoing, but memory storage too. It is only the public classes that are listed in the editor, and this, you would expect, that each one of these has a separate name=, wheras, they are ALL grouped' in the Editor's 'Vegetables'
Protected classes are CamCreatble in the mission.sqm.
Protected classes are immensely useful to 'hide' obsolete models that are still required to maintain compatibility with older missions.
public:
Any classes declared public are CamCreateabale, and selectable via the Editor.
selection
[[StringTokenNames|String]:
selection = "L svetlo";
Selection...
selectionFireAnim
[[StringTokenNames|String]:
selectionFireAnim = "muzzleflash";
selectionHRotorStill
[[StringTokenNames|String]:
selectionHRotorStill= "mainRotorStatic";
selectionHRotorMove
[[StringTokenNames|String]:
selectionHRotorMove = "mainRotorBlurred";
selectionVRotorStill
[[StringTokenNames|String]:
selectionVRotorStill = "tailRotorStatic";
selectionVRotorMove
[[StringTokenNames|String]:
selectionVRotorMove = "tailRotorBlurred";
size
size = 0.500000;
side
[[IntegerTokenNames|Integer]: The side, when declared, sets the 'vehicle' on east west resistance civilian. The effect differs according to the 'vehicle' itself. Eg soldiers, versus hospitals or repair trucks that can only be used by same side, if specifically sided.
Well written missions (and configs) use defines at top of file to make this more legible.
#define WEST 0 #define EAST 1 #define CIVILIAN 2 #define NOSIDE 3 etc...
side = EAST;
simulation
String: The engine behaviour with this #model.
simulation = "SeaGull";// campfire,house, etc
singSound
Array: normally for a bird see #sound...
singSound[] = {"\AddonName\SoundFile.ogg",0.031623,1,1};
showgunneroptics
showgunneroptics = 0;
sound...
also see #flySound , #singSound
soundCrash
[[ArrayTokenNames|Array]:
soundCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
soundDammage
[[ArrayTokenNames|Array]:
soundDammage[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
soundEngine
[[ArrayTokenNames|Array]:
soundEngine[] = {"\AnyAddon\AnySound(.wss)",5.623414,1};
soundEnviron
[[ArrayTokenNames|Array]:
soundEnviron[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000};
SoundGetIn
[[ArrayTokenNames|Array]:
SoundGetIn[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
soundGetOut
[[ArrayTokenNames|Array]:
soundGetOut[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
soundLandCrash
[[ArrayTokenNames|Array]:
soundLandCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
soundServo
[[ArrayTokenNames|Array]:
soundServo[] = {"\AnyAddon\AnySound(.wss)",0.100000,1.000000};
soundWaterCrash
[[ArrayTokenNames|Array]
soundWaterCrash[] = {"\AnyAddon\AnySound(.wss)",0.010000,1};
source
[[StringTokenNames|String]: found in animationSources
source = "reload";
straightDistance
Used in: cfgNonAiVehicles
straightDistance = 50;
supplyRadius
Float: new In meters. This token-name lets cars (eg) fill from petrol stations (eg) without having to bang into them, or be at 'exact' angles.
supplyRadius = 2.500000;
T
turning
Used in: cfgNonAiVehicles
Boolean: (i think)
turning = 1;
threat
[[ArrayTokenNames|Array]: This three element array reperesents the threat this 'vehicle' has to the enemy ai.
The 3 components of the 'threat' are land threat, air threat, sea threat. In the exampe below for a cobra. It is not too dangerous for land 'vehicles' (men and machines) bit deadly against other air vehicles and nasty to boats.
The ai for this model selects targets of opportunity, based on these values.
threat[] = {0.300000,1,0.800000};
see #type
transport...
transportAmmo
[[IntegerTokenNames|Integer]: Amount of difffernt ammo types this vehicle can carry.
transportAmmo = 0;
transportSoldier
[[IntegerTokenNames|Integer]: Number of units this vehicle can carry.
transportSoldier = 13;
transportMaxMagazines
[[IntegerTokenNames|Integer]:
transportMaxMagazines = 150;
transportMaxWeapons
[[IntegerTokenNames|Integer]:
transportMaxWeapons = 30;
typicalCargo
[[ArrayTokenNames|Array]: variable strings. Preloads veicle with units (if auto)
typicalCargo[] = {"Soldier","Soldier","SoldierLAW","SoldierLAW"};
type
[[IntegerTokenNames|Integer]: this indicates the threat type of the 'vehicle' in well written configs, the 3 possible values are declared as defines at top of file for legibility
#define LAND 0 #define SEA 1 #define AIR 2
type = AIR;
see #threat
V
viewGunnerShadow
Boolean: part of Turret class
viewGunnerShadow = 1;
vehicleClass
[[StringTokenNames|String]: Used for Mission Editor basic category selection
vehicleClass = "Air";
W
weapon
[[StringTokenNames|String]: found in animationSources
weapon = "M197";
weapons[]
[[ArrayTokenNames|Array]: an array of selectable weaponry for the given 'vehicle'
weapons[] = {"FFARLauncher","TwinM134"};
wheelSteeringSensitivity
wheelSteeringSensitivity = 0.500000;