Targeting config reference – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(Created page with "== A3 Locking Review == === New tech === New means with TKOH (Hinds) and A3. Or new since A2/OA. ==== CfgAmmo ==== ===== lockSeekRadius ===== lockSeekRadius = floa...")
 
(→‎airLock: add link to aiAmmoUsageFlags)
 
(72 intermediate revisions by 10 users not shown)
Line 1: Line 1:
== A3 Locking Review ==
{{ConfigPage|start}}
{{ConfigPage|abc}}
{{Feature | Informative | Note that this is the relevant page for {{arma3}} targeting. Implementations for older Arma titles differ somewhat, but are irrelevant for {{arma3}}.}}




== [[CfgAmmo_Config_Reference|CfgAmmo]] ==


=== A ===


=== New tech ===
==== airLock ====
Limits locking to specific target category. Also says if the AI will be "able" to engage these certain types with the given ammo
(for the actual AI target preference use [[CfgAmmo_Config_Reference#aiAmmoUsageFlags|aiAmmoUsageFlags]]).


New means with TKOH (Hinds) and A3. Or new since A2/OA.
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
airLock = 0; // Cannot target air units
airLock = 1; // Can target air and ground units
airLock = 2; // Can target air units ONLY
</syntaxhighlight>


==== artilleryLock ====
Can lock onto ArtilleryTarget object (created when commanding an AI that operates an artillery piece). Warning: With artilleryLock = 1 the airfriction gets forced to 0 ingame.


[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
artilleryLock = 0;
artilleryLock = 1;
</syntaxhighlight>


==== autoSeekTarget ====
If set to true the missile flies towards a marked target and after reaching [[A3_Targeting_config_reference#lockSeekRadius|lockSeekRadius]] it searches for the best target (can be still the marked target) and homes in on it.
If set to false the missile needs a valid lock first and will only guide towards the locked target.
The property is used for example for guided artillery shells.


==== CfgAmmo ====


[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
autoSeekTarget = 0;
autoSeekTarget = 1;
</syntaxhighlight>


=== C ===


==== cameraViewAvailable ====
Says whether the missile can provide [[Arma_3_Custom_Info|camera feed]] after being launched.


===== lockSeekRadius =====
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
cameraViewAvailable = 1; // pilot can see the missile's flight from missile's perspective
</syntaxhighlight>


lockSeekRadius = float;
==== cmImmunity ====
Defines the guidance sensitivity to countermeasures (flares, chaff, smoke). Range 0...1. The higher the number the more chance missile will ignore CM.
1 makes it completely ignore CM while 0 makes the projectile lose its target immediately after first CM is fired.


Specifies the maximum distance from the position at which it was shot, in which the automatic search for suitable targets.
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
cmImmunity = 0; // Projectile loses its target immediately after CM launch
cmImmunity = 1; // Projectile is immune to countermeasures
</syntaxhighlight>


===== autoSeekTarget =====
=== F ===


autoSeekTarget = bool;
==== flightProfiles ====
Array of flight profiles (guidance specifics) the missile is allowed to use as a fire mode.
Each entry references a flight profile class defined in the ammo and is paired with [[CfgWeapons_Config_Reference#Modes|fire modes]] of the weapon.
The naming has to be exactly the same in ammo flight profile class, weapon fire mode class, modes[] and flightProfiles[].
Classes that are defined in the ammo but which are not included in the flightProfiles at the same time will be ignored.


Disable automatic search goals. If set to false, the missile guides only for location / destination that was specified at the time of the shot.
More info in [[Arma 3 Missile flight profiles]]


===== lockType =====
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
flightProfiles[] = {Direct}; // added by default - if the ammo does not specify any flight profile OR if the weapon has more player fire modes (other than for flight profiles)
flightProfiles[] = {TopDown}; // top attack fire mode, can be used with [[autoSeekTarget]]
flightProfiles[] = {LOALDistance}; // lock-on after launch fire mode - missile will autonomously find a target after traveling specified distance, requires [[autoSeekTarget]]
flightProfiles[] = {LOALAltitude}; // lock-on after launch fire mode - for bombs - bomb will autonomously find a target after dropping to specified altitude, requires [[autoSeekTarget]]
flightProfiles[] = {Overfly}; // overfly top attack fire mode - the missile will overfly the target in specified height, best used with submunitions
flightProfiles[] = {Cruise}; // terrain following fire mode, can be used with [[autoSeekTarget]]
flightProfiles[] = {Direct, TopDown}; // a missile supporting two flight profiles - direct and top attack
</syntaxhighlight>


lockType = [0,1,2];
=== I ===


For guided missiles
==== irLock ====
* 0 = fireAndForgetLT (current system)
''Property is unused if the ammo uses the new [[Arma_3_Sensors|Sensors (Radar, IR...)]] system.''
* 1 = keepLockedLT (not yet done)
* 2 = manualLT (manualy guided)


===== airLock =====
Can lock air/ground vehicles (target vehicle must have irTarget=1).


airLock = [0,1,2];
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
irLock = 0;
irLock = 1;
</syntaxhighlight>


Can target flying objects.
=== L ===
* 0 = lockGroundTT (air lock disabled)
* 1 = lockAirGroundTT (air and ground lock)
* 2 = lockAirTT (air only lock ('''NEW'''))


Requires irLock = 1; to work. Also makes AI to track air units with the given the ammo (weapon). This may not be desirable for non heavy MG weapons as it the AI gunner to focus on air targets - first while ground targets are ignored meanwhile even though the ground target may actually be the bigger threat.
==== laserLock ====
''Property is unused if the ammo uses the new [[Arma_3_Sensors|Sensors (Radar, IR...)]] system.''


Can lock on LaserTarget objects (laserTarget = 1).


[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
laserLock = 0;
laserLock = 1;
</syntaxhighlight>


==== lockSeekRadius ====
Specifies the maximum distance from the initial target position where the missile will search for suitable targets if it has [[A3_Targeting_config_reference#autoSeekTarget|autoSeekTarget]] enabled.


==== CfgWeapons ====
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
lockSeekRadius = 100; // Current value for all
</syntaxhighlight>


Nothing new so far.
==== lockType ====
Defines ammo dependance on weapon lock. Only works for missiles.


[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
lockType = 0; // Fire and Forget (currently all guided weapons)
lockType = 1; // Manual - beamriding guidance (use together with manualControl true)
lockType = 2; // Manual - point guidance
</syntaxhighlight>


=== M ===


==== maneuvrability ====
Defines how much the missile is able to turn / how well it can be controlled during the flight.


==== CfgVehicles ====
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
maneuvrability = 1; // Default value
maneuvrability = 20; // MissileBase
maneuvrability = 16; // BombCore
maneuvrability = 4; // NLAW missile
maneuvrability = 14; // SCALPEL missile
</syntaxhighlight>


==== manualControl ====
Missile follows the cursor (unless locked onto a target). maxControlRange, maneuvrability and missile speed are very important for manual control. AI is able to guide missiles manually too.


[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
manualControl = 0; // Default value
manualControl = 1; // Titan AT missile
</syntaxhighlight>


==== maxControlRange ====
Defines the distance in meters from the firing platform at which manual control over the missile is lost and it flies in a straight path.


===== allowTabLock =====
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
maxControlRange = 4000; // MissileBase
maxControlRange = 5000; // Titan AT missile
</syntaxhighlight>


allowTabLock = bool;
==== missileManualControlCone ====
Defines the in-flight maximum cone from the missile where the player has to aim in order to retain manual guidance.
Missile can re-gain the control if the player's aim goes outside of the cone for a moment and reappears later.


Vehicle turret setting. Determines if TAB lock is enabled.
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
missileManualControlCone = 45; // Titan AT
</syntaxhighlight>


===== showAllTargets =====
==== missileKeepLockedCone ====
Defines the in-flight maximum cone (field of regard) from the missile where the missile can still track the target. Missile can re-gain tracking if target disappears for a moment and reappears later within the cone.


showAllTargets = [0,1,2];
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
missileKeepLockedCone = 90; // can only follow targets as long as it stays in 90° infront of the missile
missileKeepLockedCone = 360; // off-boresight capabilities, missile can attempt a full turn in order to hunt targets behind
</syntaxhighlight>


Vehicle turret setting. Displays/marks all known lockable targets in the HUD as rectangles.
==== missileLockCone ====
Defines the in-flight maximum cone from the missile where the target has to be and remain so the missile can lock it.


* 0 = showAllNo (current system)
This doesn't affect missile's [[Arma_3_Sensors|Sensor]] so in theory a missile can "know about" a target outside of its locking range.
* 1 = showAllCadet (show extended if HUD is enabled)
* 2 = showAllYes (always show)


[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
missileLockCone = 5; // DAGR
missileLockCone = 180; // GBU-12
missileLockCone = 50; // Default (MissileCore)
</syntaxhighlight>


==== missileLockMaxDistance ====
Specifies the maximum distance at which the missile is able to lock a target.
This doesn't affect missile's [[Arma_3_Sensors|Sensor]] so in theory a missile can detect and track a target outside of its locking range.


[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
missileLockMaxDistance = 2000; // missile won't be able to lock targets further than than 2km away
</syntaxhighlight>


=== Existing tech ===
==== missileLockMinDistance ====
Specifies the minimum distance at which the missile is able to lock a target.
This doesn't affect missile's [[Arma_3_Sensors|Sensor]] so in theory a missile can detect and track a target outside of its locking range.


[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
missileLockMinDistance = 50; // missile won't be able to lock a target closer than 50m
</syntaxhighlight>


==== missileLockMaxSpeed ====
Specifies the maximum speed (m/s) at which the target can be travelling to be still lockable by the missile.
This doesn't affect missile's [[Arma 3 Sensors|Sensor]] so in theory a missile can detect and track a faster target than it can lock.


[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
missileLockMaxSpeed = 42; // missile won't be able to lock a target closer that is moving faster than 151km/h
</syntaxhighlight>


==== CfgAmmo ====
=== N ===


==== nvLock ====
''Property is unused if the ammo uses the new [[Arma_3_Sensors|Sensors (Radar, IR...)]] system.''


Can lock onto NVTarget objects (IR-Grenades thrown by infantry).


[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
nvLock = 0; // Default
nvLock = 1; // GBU-12
</syntaxhighlight>


===== irLock =====
=== S ===


irLock = bool;
==== sideAirFriction ====
 
Indirectly affects missiles turning / the flight path once the missile changes its orientation. The higher the side friction the more accurate is the maneuvring with the missile.
Can lock vehicle with irTarget=1/true.
 
===== laserLock =====
 
laserLock = bool;
 
Can lock onto LaserTarget object (which are created using laser Designator - both by infantry or vehicles).
 
===== nvLock =====
 
nvLock = bool;
 
Can lock onto NVTarget object (ie NVG marker that infantry can throw a grenade).
 
===== artilleryLock =====


artilleryLock = bool;
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
sideAirFriction = 0.001; // Default (MissileBase)
sideAirFriction = 0.1; // Titan AA
</syntaxhighlight>


Can lock onto ArtilleryTarget object (creates the Fire command).
=== T ===
 
===== manualControl =====
 
manualControl = bool;
 
Missile follows the cursor, if not locked onto a target (canLock = 1/2). maxControlRange, maneuvrability and missile speed are very important for manual control. AI is able to guide missiles manually too.
 
===== maxControlRange =====
 
maxControlRange = float;
 
How far one can manually control the missile - during maxControlRange <10 unguided rockets are all
 
===== maneuvrability =====
 
maneuvrability = float;
 
Defines how much the missile is able to turn / how well it can be controlled during the flight.
 
===== trackLead =====
 
trackLead = [0,1];


==== trackLead ====
​​Range 0-1, how much is the missile performing "smart" tracking, which assumes onboard computer computing predicted target position at the impact time, resulting in a mostly straight flight trajectory.
​​Range 0-1, how much is the missile performing "smart" tracking, which assumes onboard computer computing predicted target position at the impact time, resulting in a mostly straight flight trajectory.


* 1 = Means this computation result is used 100%
[[TokenNameValueTypes|Float]]
* 0 = Means it is not used at all
<syntaxhighlight lang="cpp">
 
trackLead = 1; // Missile intercepts
===== trackOversteer =====
trackLead = 0; // Missile follows
 
</syntaxhighlight>
trackOversteer = float;
 
Simulates the analogue controls used in missiles, where it reacts directly to the target's relative position by adjusting its flight direction.
 
* 1 = no oversteer / Means the missile always tries to direct itself directly at the target.
* 0 = ???
 
===== sideAirFriction =====
 
sideAirFriction = float;
 
Indirectly affects missiles turning / the flight path once the missile changes its orientation. The higher the side friction the more accurate is the maneuvring with the missile.
 
 
 
 
==== CfgWeapons ====
 
 
 


===== ballisticsComputer =====
==== trackOversteer ====
Simulates manoeuvering errors of the missile.


ballisticsComputer = [0,1,2];
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
trackOversteer = 1; // Missiles flies straight to its target
trackOversteer = 0; // Missile never hits its target
</syntaxhighlight>


Weapon attempts to calculate and shift the aimpoint to hit a locked target based on range, target movement, own movement, and ballistics of selected ammo type.
=== W ===


* 0 = disabled
==== weaponLockSystem ====
* 1 = Arma2 TAB lock results in zeroed scope,  Arrowhead: added also manual zeroing (PgUp/PgDwn)
Defines which
* 2 = Arrowhead: only manual zeroing (PgUp/PgDwn)
* target vehicle's [[A3_Targeting_config_reference#lockDetectionSystem|lockDetectionSystem]] will be able to detect being locking by this ammo
* target vehicle's [[A3_Targeting_config_reference#incomingMissileDetectionSystem|incomingMissileDetectionSystem]] will be able to detect this ammo when it is in-flight and guided towards the target vehicle
* countermeasures' [[A3_Targeting_config_reference#weaponLockSystem|weaponLockSystem]] will break this ammo's lock or guidance. (Same property is used also on flares and chaff to define the opposite match.)


===== canLock =====
More details in [[Arma 3 Countermeasures]]


canLock = [0,1,2];
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
weaponLockSystem = 0; // Undetectable
weaponLockSystem = 1; // Visual/Contrast
weaponLockSystem = 2; // Infra-red
weaponLockSystem = 4; // Laser
weaponLockSystem = 8; // Radar
weaponLockSystem = 16; // Missile
weaponLockSystem = "2+4"; // Lock types can be combined (in this case, IR and Laser lock)
</syntaxhighlight>


Determines if the weapon can lock onto targets.


* 0 = can not lock
== [[CfgWeapons_Config_Reference|CfgWeapons]] ==
* 1 = can be targeted at a lower/cadett difficulty (Recruit + Regular)
* 2 = can always lock


===== lockAcquire =====
=== B ===


lockAcquire = bool;
==== ballisticsComputer ====
[[File:ballisticsComputer.jpg|thumb|upright=1|Fire control and aids]]
Various fire control systems and ballistic aids can be defined (and combined) in a weapon system. Aids based on target motion prediction (1 and 4) require a [[Arma_3_Sensors|Sensor (Radar, IR...)]] to be able to track the target (Since Arma 3 1.60 they are no longer dependable canLock > 0. You can mark anything what your sensors are able to detect and use the gained information for fire control.)


Determines if rocket launcher locks automatically a target or player has to use RMB.
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
ballisticsComputer = 0; // Disabled
ballisticsComputer = 1; // Automatic zeroing and lead on a sensor-tracked target (Weapon attempts to calculate and shift the aimpoint to hit a locked target based on range, target movement, own movement, and ballistics of selected ammo type.)
ballisticsComputer = 2; // Manual zeroing
ballisticsComputer = 4; // Target Lead indication; since Arma 3 1.60
ballisticsComputer = 8; // Predicted Impact Point indication; since Arma 3 1.60
ballisticsComputer = 16; // FCS, Prediction based on laser distance and speed measurement; since Arma 3 1.70
</syntaxhighlight>


* 0 = automaticLA (current rocket launcher system)
=== C ===
* 1 = manually (use RMB)


===== weaponLockDelay =====
==== canLock ====
Determines if the weapon can lock onto targets allowed by the ammunition it uses.


weaponLockDelay = float;
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
canLock = 0; // Disabled
canLock = 1; // Locks only on lower difficulties (Recruit, Cadet), disabled since Arma 3 1.58
canLock = 2; // Always locks
</syntaxhighlight>


Determines in seconds how long it takes before the gun reaches LOCKED after marking targets with TAB/RMB.
==== cmImmunity ====
Defines how well the weapon can maintain lock if the target fires countermeasures (flares, chaff, smoke).


===== weaponLockSystem =====
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
cmImmunity = 0; // Lock breakes whenever target fires CM
cmImmunity = 1; // Lock never breaks
</syntaxhighlight>


weaponLockSystem = [0-15];
=== F ===


Set the weapon's locking technology - determines which signature a CM system can notice. Can be multiple at the same time.
==== FCSMaxLeadSpeed ====
Maximum target speed (m/s) to which the gun can still adjust zeroing/deflection


* 0 = None
[[TokenNameValueTypes|Integer]]
* 1 = CM_Lock_Visual
<syntaxhighlight lang="cpp">
* 2 = CM_Lock_IR
FCSMaxLeadSpeed = 27.7; // ~100km/h
* 4 = CM_Lock_Laser
</syntaxhighlight>
* 8 = CM_Lock_Radar


===== cmImmunity =====
=== L ===


cmImmunity = [0-1];
==== lockAcquire ====
Determines if weapons locks automatically a target within its lock cone or player has to use Lock Target action while pointing at a target.


Determines the probability of not getting distracting by a CM. Flares and chaffs are dropped in pairs, while smokes are single.
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
lockAcquire = 0; // player has to select a target himself
lockAcquire = 1; // automatic acquisition of the closest target in missileLockCone
</syntaxhighlight>


* CMImmunity_GOOD = 0.8 (for pair of flares its 0.64, for four 0.4)
==== lockingTargetSound ====
* CMImmunity_MIDDLE = 0.65 (for pair of flares its 0.4, for four 0.16)
Determines sound played once the selected weapon starts locking a target. The sound is played in a loop while locking.
* CMImmunity_BAD = 0.5 (for pair of flares its 0.25 , for four 0.06)
Note the sound is only played if the weapon is a missile.


Sound array : {"path/to/file.wss",<volume priority>,<sound pitch>}
<syntaxhighlight lang="cpp">
lockingTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1",0.562341,1}; // Used in missiles_DAGR
</syntaxhighlight>


==== lockedTargetSound ====
Determines sound played once the selected weapon locked its target. The sound is played in a loop until the weapon maintains a lock and is able to fire.
Note the sound is only played if the weapon is a missile.


Sound array : {"path/to/file.wss",<volume priority>,<sound pitch>}
<syntaxhighlight lang="cpp">
lockedTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1",0.562341,4};
</syntaxhighlight>


==== CfgVehicles ====
=== W ===


==== weaponLockDelay ====
Once the locking conditions are met (target is marked, can be locked by this projectile and is in missileLockCone), how much time in seconds would it take for the lock to be achieved.


[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
weaponLockDelay = 0; // Immediate lock if the locking conditions are met
weaponLockDelay = 3; // Most of the guided weapons
</syntaxhighlight>


==== weaponLockSystem ====
Defines which target vehicle's [[A3_Targeting_config_reference#lockDetectionSystem|lockDetectionSystem]] will be able to detect being marked/tracked by this weapon.


===== radarType =====
More details in [[Arma 3 Countermeasures]]


radarType = [0,1,2,4];
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
weaponLockSystem = 0; // Undetectable
weaponLockSystem = 4; // Laser
weaponLockSystem = 8; // Radar
weaponLockSystem = 12; // Lock types can be combined (in this case, Radar and Laser)
</syntaxhighlight>


* 0 = none
== [[CfgVehicles_Config_Reference|CfgVehicles]] ==
* 1 = tactical display
* 2 = vehicle radar
* 4 = air radar


===== lockDetectionSystem =====
=== A ===


lockDetectionSystem = [0-15];
==== allowTabLock ====
If true, allows the usage of automatic cycling of targets using Tab (Next Target key assignment - default "R" in Arma 3).
Can be used for driver, or each individual turret.


Determines which weapon's lock type the vehicle can detect.
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
allowTabLock = 0; // Tab-lock disabled (man-pads)
allowTabLock = 1; // Most of the vehicles
</syntaxhighlight>


* 0 = None
==== alwaysTarget ====
* 1 = CM_Lock_Visual
Defines if the vehicle is considered as a training target by AI and IFF sensors (always enemy).
* 2 = CM_Lock_IR
* 4 = CM_Lock_Laser
* 8 = CM_Lock_Radar


===== incomingMissileDetectionSystem =====
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
alwaysTarget = 0;
alwaysTarget = 1; // VR Targets
</syntaxhighlight>


incomingMissileDetectionSystem = [0,16];
==== artilleryScanner ====
Enables the Artillery Computer feature and allows the usage of artillery-type weapons more efficiently.


Determines what type of incoming missile can be detected (and shown on the radar?).
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
artilleryScanner = 0;
artilleryScanner = 1; // Artillery vehicles/mortars
</syntaxhighlight>


* 0 = None
==== artilleryTarget ====
* 16 = CM_Missile
Only used by ArtilleryTarget class objects.
ArtilleryTarget gets created temporarily on the position designated by a player leader for a subordinate AI artillery operator (Fire Artillery command).
Can be locked by projectiles with artilleryLock = 1;


===== xxxCanSee =====
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
artilleryTarget = 0;
artilleryTarget = 1;
</syntaxhighlight>


xxxCanSee = [0-65];
=== C ===
 
UNKOWN


==== xxxCanSee ====
Defines specific tools/sensors for the AI/players when on a specific seat.
* 1 = CanSeeRadar
* 1 = CanSeeRadar
* 2 = CanSeeEye
* 2 = CanSeeEye
Line 274: Line 436:
* 1+16 = CanSeeRadarC
* 1+16 = CanSeeRadarC
* 31 = CanSeeAll
* 31 = CanSeeAll
* 32 = CanSeePeripheral
* 32 = CanSeePeripheral // Enables small colored blobs at the edge of the screen that indicate nearby units.


===== irScanXXX =====
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
driverCanSee = 2+8+16; // The driver of this vehicle can see and hear enemies and use its compass
gunnerCanSee = 1+4+16; // The gunner of this vehicle can detect enemies with optics or radar, and sees a compass
commanderCanSee = 31; // The commander of this vehicle can see and use all its tools
</syntaxhighlight>


irScanToEyeFactor = float;
==== canUseScanners ====
irScanRangeMin = float;
Can be defined per individual turret. Useful to restrict access to vehicle sensors (target marking) on some positions in vehicles (i.e. door gunners)
irScanRangeMax = float;


Those settings can be used instead of irScanRange to make IR scan dange depend on the visibility distance. If there is irScanRange, fixed value is used. The same thing can also be acomplished by setting both irScanRangeMin and irScanRangeMax to the same value.
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
canUseScanner = 0; // can't use the vehicle's Sensors
</syntaxhighlight>


If there is no irScanRange, IR scan range is calculated as:
==== countermeasureActivationRadius ====
Defines how far the vehicle can detect incoming missiles (see [[#incomingMissileDetectionSystem|incomingMissileDetectionSystem]])


scanRange = visibility_range * irScanToEyeFactor;
More details in [[Arma 3 Countermeasures]]
if (scanRange<irScanRangeMin) scanRange = irScanRangeMin;
if (scanRange>irScanRangeMax) scanRange = irScanRangeMax;


Where visiblity_range is basically a drawing distance, but may be shortenet by rain or fog.
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
countermeasureActivationRadius = 2000; // Ground vehicles
countermeasureActivationRadius = 10000; // Air vehicles


===== irScanGround =====
</syntaxhighlight>


irScanGround = bool;
=== I ===


UNKOWN
==== incomingMissileDetectionSystem ====
Defines which munitions guided towards the vehicle the vehicle can detect.
Checks a bit flag match with the incoming ammo's [[A3_Targeting_config_reference#weaponLockSystem|weaponLockSystem]].


More details in [[Arma 3 Countermeasures]]


[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
incomingMissileDetectionSystem = 0; // No missile-in-flight detection
incomingMissileDetectionSystem = 8; // Active Radar Homing missile-in-flight detection
incomingMissileDetectionSystem = 16; // Detects all missiles (Missile Approach Warning)
</syntaxhighlight>


==== irScanXXX ====
''Property is unused if the vehicle uses the new [[Arma_3_Sensors|Sensors (Radar, IR...)]] system.''


=== Suggestions ===
Those settings can be used instead of irScanRange to make IR+Radar scan range depend on the visibility distance. If there is irScanRange, fixed value is used. The same thing can also be accomplished by setting both irScanRangeMin and irScanRangeMax to the same value.


If there is no irScanRange,IR+Radar scan range is calculated as:


scanRange = visibility_range * irScanToEyeFactor;
if (scanRange<irScanRangeMin) scanRange = irScanRangeMin;
if (scanRange>irScanRangeMax) scanRange = irScanRangeMax;


Where visiblity_range is basically a drawing distance, but may be shortened by rain or fog.
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
irScanToEyeFactor = 1;
irScanRangeMin = 200;
irScanRangeMax = 1000;
</syntaxhighlight>


==== Config only work ====
==== irScanGround ====
 
''Property is unused if the vehicle uses the new [[Arma_3_Sensors|Sensors (Radar, IR...)]] system.''
 
 
===== Disable locking of all non guided weapons with AutoGuideAT disabled =====
 
URL: [https://dev-heaven.net/issues/27763]
 
HowTo: set canLock=1 to all weapons with canLock=2 except for guided missiles. Ref:
 
laser/wire/radio guidances = manual aiming until impact
radar/auto tracking/IR guidances = autolock (current tablock/mouse 2) fire and forget style
 
===== Add cursor to driver/pilot view in vehicles like in OFP to ease commanding the gunner or troops =====
 
URL: [https://dev-heaven.net/issues/13218]
 
HowTo: Is in TKOH (Hinds). Should only to assign a cursor text for the right config key.
 
===== Remove radar infos for non-radar equiped Vehicles and Aircrafts =====
 
URL: [https://dev-heaven.net/issues/37779]
 
HowTo: radar (1) removal from xxxCanSee of the given vehicle position (driver/gunner/commander).
 
===== Static weapon (TOW, MK19, M2, ASG-30) are visible on radars =====
 
URL: [https://dev-heaven.net/issues/43765]
 
HowTo: Set irTarget=0 for in StaticWeapon (and maybe leave it own/set to 1 for StaticAAWeapon).
 
===== Tanks with auxilary Power Generators turn on main motor when turning the turret =====
 
URL: [https://dev-heaven.net/issues/2649]
 
HowTo: Set startEngine=0 in given turret when the turret does not operate on main motor.
 
===== Make it possible to have a weapon able to lock air units only =====
 
URL: [https://dev-heaven.net/issues/11086]
 
HowTo: Set airLock=2 for AA missiles (and AAA guns?).
 
===== Airplanes survive too many AA missile hits =====
 
URL: [https://dev-heaven.net/issues/15980]
 
HowTo: tweak armor/armorStructural for planes.
 
===== FFARs should be operated by pilot =====
 
URL: [https://dev-heaven.net/issues/28753]
 
HowTo: Move unguided missiles from gunner turret to pilot weapon/magazine definition.
 
===== Improve helicopter main gun dispersion =====
 
URL: [https://dev-heaven.net/issues/50161]
 
HowTo: Tweak dispersion value.
 
===== Many missiles are flying too fast =====
 
URL: [https://dev-heaven.net/issues/28705]
 
HowTo: Tweak initTime, thrustTime, thrust (cfgAmmo) and initSpeed (cfgMagazines) of missiles. Ref: [http://www.armaholic.com/page.php?id=14008 GLT Real Air Weapons (RAW)]
 
===== CH-29 missiles burn out too quickly =====
 
URL: [https://dev-heaven.net/issues/2920]
 
HowTo: Tweak initTime, thrustTime, thrust (cfgAmmo) and initSpeed (cfgMagazines) of missiles. Ref: [http://www.armaholic.com/page.php?id=14008 GLT Real Air Weapons (RAW)]
 
===== Vikhr Missiles CfgAmmo should be changed to make the Vikhr Ground-Attack only =====
 
URL: [https://dev-heaven.net/issues/8890]
 
HowTo: Set airLock=0 for M_Vikhr_AT (cfgAmmo). For A3 these might be relevant: M_Titan_AT, M_NLAW_AT, M_Air_AA and subclasses.
 
===== Simulate laser guidance by helicopter weapons (like Hellfire for AH-64 Apache and AH-1Z Cobra) =====
 
URL: [https://dev-heaven.net/issues/14454]
 
HowTo: Set canLock=1 and manualControl=1 or add Laserdesignator_mounted and irLock=0 (or [https://dev-heaven.net/issues/50107 Make laserLock and nvLock independant to canLock]).
 
See also: [https://dev-heaven.net/issues/13380 Cannot acquire laser target for BAF Wildcat CRV-7 PG rockets if "Auto guide AT" is turned off in difficulty]
 
===== Beeping noise when acquiring missile lock is WAY too loud =====
 
URL: [https://dev-heaven.net/issues/20489]
 
HowTo: Improve soundLocked[] sound file.
 
===== Rockets 9M117M1 Arkan / 9M113 Konkurs / 9M119M Refleks not laser/wire-guided =====
 
URL: [https://dev-heaven.net/issues/11200]
 
HowTo: Set manualControl=1, canLock=1 and not too high missile speed.
 
===== Refleks and arkan missiles cannot be guided manually, only with auto-guiding =====
 
URL: [https://dev-heaven.net/issues/14436]
 
HowTo: Set manualControl=1, canLock=1 and not too high missile speed.
 
===== Locking delay is too short for most missile launchers =====
 
URL: [https://dev-heaven.net/issues/45984]
 
HowTo: Adjust weaponLockDelay from 3 to higher values per missile.
 
===== Equip more vehicles with a laser weapon - Laser FCS (Firing Control System) =====
 
URL: [https://dev-heaven.net/issues/27346]
 
HowTo: Add Laserdesignator_mounted weapon to more vehicles.
 
 
==== Require engine changes ====
 
Ordered by assumed priority (first is highest) and hopefully limited effort.
 
===== Add option to restrict radar locking (TAB target cycling) of vehicles =====
 
URL: [https://dev-heaven.net/issues/14094]
 
Comment: Could be done with canLock=1 for all non Fire-And-Forget (FNF) guided missiles as AutoGuideAT makes it a difficulty setting.


===== Add difficulty option to disable radar of vehicles (that don't have one in reality) =====
Can be used to limit target detection to air or groun targets.


URL: [https://dev-heaven.net/issues/17965]
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
irScanGround = 0; // Can detect and track aerial irTargets only (AAA)
irScanGround = 1; // Can detect and track any irTargets (multirole)
irScanGround = 2; // Can detect and track ground irTargets only (air-to-surface radar, gunships)
</syntaxhighlight>


Comment: Needs a new config value like hasRadar, link it to difficulty level or a new setting and disable it for vehicles with hasRadar=1 in Veteran/Expert. This way new players could still play with "always radar" in lower difficulty.
==== irTarget ====
Says whether the vehicle - once heated up - can be detected and tracked by an IR [[Arma_3_Sensors|Sensor]] system.
Vehicle heats up mainly from a running engine (~ 6 sec to heat up after engine start, 1h to cool down).
Firing a weapon or wheels friction also builds up the vehicle's heat signature.


===== Add option to disable friend-foe radar signature (difficulty setting) =====
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
irTarget = 0; // Buildings, men, static defenses, etc...
irTarget = 1; // Ground/Air vehicles
</syntaxhighlight>


URL: [https://dev-heaven.net/issues/16719]
==== irTargetSize ====
Says how big the vehicle's heat signature is once heated up. Works as a coefficient of IR [[Arma_3_Sensors|Sensor]]'s range within the given combat situation.


Comment: To keep it for lower difficulty, but allow more realistic and better gameplay in Veteran Expert. Could be linked closely with the suggested IFF changes.
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
irTargetSize = 0.1; // heated vehicle will be detected by an IR sensor only at 1/10 of the sensors range in the given tactical situation
irTargetSize = 2.0; // maximum value, vehicle can be detected at 2x the sensor's range
</syntaxhighlight>


===== Add difficulty option to hide the locking cursor =====
=== L ===


URL: [https://dev-heaven.net/issues/45979]
==== laserScanner ====
''Property is unused if the vehicle uses the new [[Arma_3_Sensors|Sensors (Radar, IR...)]] system.''


Comment: To make player rely on locking sound only. Defined in CfgInGameUI-Cursor/lock/target/select_target.
Defines if the vehicle has a ''Laser Spot Tracker'' and is able to detect and lock laser targets (for example, CAS jets, gunships).


===== Radar targets and locking ability needs to be limited by object drawing distance for units/vehicles with irScanToEyeFactor=1 =====
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
laserScanner = 0;
laserScanner = 1;
</syntaxhighlight>


URL: [https://dev-heaven.net/issues/37331]
==== laserTarget ====
Defines if the vehicle can be detected by vehicles equipped with a laser sensor (laserScanner). Used only by LaserTarget and Land_VR_Target.. classes.
LaserTarget gets created at the position of laser spot painted by a laser designator.


Comment: To reduce/remove locking abuse. Only with irScanToEyeFactor>1, radar detection/locking should go beyond viewable distance.
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
laserTarget = 0;
laserTarget = 1;
</syntaxhighlight>


===== Airborne chopper to be rendered in larger distances =====
==== lockDetectionSystem ====
Defines what type of locking or marking the vehicle can detect.
Checks a bit flag match with the locking ammo's [[A3_Targeting_config_reference#weaponLockSystem|weaponLockSystem]] and/or weapon's [[A3_Targeting_config_reference#weaponLockSystem_2|weaponLockSystem]] (when marked).


URL: [https://dev-heaven.net/issues/27584]
More details in [[Arma 3 Countermeasures]]


Comment: Ondrej: The rationale why only planes and not helis that planes are mostly flying higher, and there are less planes in the mission, but in principle the solution can be easily extended for helis as well later.
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
weaponLockSystem = 0; // Undetectable
weaponLockSystem = 4; // Laser
weaponLockSystem = 8; // Radar
weaponLockSystem = "2+4"; // Lock types can be combined (in this case, IR and Laser lock)
</syntaxhighlight>


===== Improve radar and friend-foe-identification (IFF) simulation =====
=== N ===


URL: [https://dev-heaven.net/issues/2251]
==== nvScanner ====
''Property is unused if the vehicle uses the new [[Arma_3_Sensors|Sensors (Radar, IR...)]] system.''


Comment: Picks up ideas from Hladas in the BI forum discussion. Improvements here would help big time.
Defines if the vehicle is able to detect and lock Night-Vision targets (used by IR-Grenades).


===== irScanGround = 0/false does not limit radar/target identification to air vehicles =====
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
nvScanner = 0;
nvScanner = 1;
</syntaxhighlight>


URL: [https://dev-heaven.net/issues/46368]
==== nvTarget ====
Defines if the vehicle can be detected by vehicles equipped with a night-vision sensor (nvScanner). Used only by NVTarget and Land_VR_Target.. classes.
NV target gets created on the position of ammo with
simulation = "shotNVGMarker";


Comment: Seems like a bug or functionality is different. No (for me accessible) information available about it.
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
nvTarget = 0;
nvTarget = 1;
</syntaxhighlight>


===== Simulation shotRocket ignores ballistic profile (gravity) after rocket burn out =====
=== P ===


URL: [https://dev-heaven.net/issues/18809]
==== class pilotCamera ====
Gives the pilot access to a targeting pod (or some CCTV) and control over it in a full screen display feed (via *Multifunction camera* action, Ctrl+RMB by default).
<syntaxhighlight lang="cpp">
class pilotCamera
{
class OpticsIn
{
// different optics mode, same as in turrets
}
minTurn = -90; // yaw limits
maxTurn =  90; // yaw limits
initTurn =  0; // initial yaw angle
minElev = -90; // pitch limits
maxElev =  90; // pitch limits
initElev =  0; // initial pitch angle
maxXRotSpeed = 0.5; // yawing speed
maxYRotSpeed = 0.5; // pitching speed
pilotOpticsShowCursor = 1; // to show aimCursor (is useful to see plane direction)
controllable = 1; // set false to have static camera
};
</syntaxhighlight>
Related commands: [[:Category:Command Group: Pilot Camera|Command Group: Pilot Camera]]


Comment: Makes rockets way too easy to shoot distant targets. Not realistic and looks weird too.
=== R ===


===== Disperion for rockets =====
==== radarTarget ====
Says whether the vehicle can be detected and tracked by a RADAR [[Arma_3_Sensors|Sensor]].


URL: [https://dev-heaven.net/issues/50156]
[[A3_Targeting_config_reference#irTarget|IRTarget]] is used if undefined for backwards compatibility.


Comment: Lack of dispersion makes especially for air units hard to hit targets. Not realistic and bad for gameplay.
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
radarTarget = 1; // can be detected by RADAR
</syntaxhighlight>


===== Disable auto locking of infantry launchers or reduce automatic lock area =====
==== radarTargetSize ====
Radar cross-section coefficient of the vehicle. Works as a coefficient of RADAR [[Arma_3_Sensors|Sensor]]'s range within the given combat situation.


URL: [https://dev-heaven.net/issues/16255]


Comment: While both should be realistic, with the visible locking cursor it makes them too easy to use and strong. Could be solved with the option to hide the locking cursor, or make (some) launchers require RMB use to lock onto a target.
* ''0.1 - fully stealth (<0.0005m2 RCS) (not recommended)''
* ''0.7 - small aircrafts, semi-stealth (~1m2 RCS)''
* ''1.0 - mid sized aircraft, car (~5m2 RCS)''
* ''1.2 - tanks, trucks (~10m2 RCS)''
* ''2.0 - large bomber, small ship and bigger (>80m2 RCS)''


===== Improve countermeasures and warning system =====
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
radarTargetSize = 0.1; // vehicle will be detected by a Radar sensor only at 1/10 of the sensors range in the given tactical situation
radarTargetSize = 2.0 // maximum value, vehicle can be detected at 2x the sensor's range
</syntaxhighlight>


URL: [https://dev-heaven.net/issues/12692]
==== radarType ====
[[File:Arma3radarTargetTypes.png|thumb|upright=0.5|Old Radar and targets indication]]


Comment: cmImmunity should be tweaked, but AI use needs be improved as well as MP issues.
* ''Property is no longer used for the game HUD UI''
* AI is only able to utilize ''sensors'' (Radar, IR, LST...) if value 1, 2 or 4 is used


===== Missiles don't lead moving optical/laser targets =====


URL: [https://dev-heaven.net/issues/4812]
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
radarType = 0; // No radar (used for infantry)
radarType = 1; // Tactical display (not used)
radarType = 2; // Vehicle radar (used for AAA) - shows compass, turret directions and targets
radarType = 4; // Air radar (used for jets and gunships) - shows compass, turret directions and targets
radarType = 8; // Compass + turret directions (used for majority of vehicles and their turret positions) - shows compass and turret directions
</syntaxhighlight>


Comment: Very important for manual guidance of missiles.
==== receiveRemoteTargets ====
Says if the vehicle is able to receive targets and positions from friendly vehicles with [[A3_Targeting_config_reference#reportRemoteTargets|reportRemoteTargets]].


===== SACLOS guidance unrealistic =====
This feature can be added/removed to/from any vehicle or soldier via EDEN editor object attribute "Data Link Receive" under "Electronics & Sensors".


URL: [https://dev-heaven.net/issues/29706]
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
receiveRemoteTargets = true;
</syntaxhighlight>


Comment: Very important for manual guidance of missiles.
==== reportRemoteTargets ====
Says if the vehicle is able to broadcast targets acquired by own sensors.


===== ballisticsComputer calculation uses inverted target lateral velocity when facing south =====
This feature can be added/removed to/from any vehicle or soldier via EDEN editor object attribute "Data Link Send" under "Electronics & Sensors".


URL: [https://dev-heaven.net/issues/6823]
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
reportRemoteTargets = true;
</syntaxhighlight>


Comment: This bug should be finally fixed.
==== reportOwnPosition ====
Says if the vehicle is able to broadcast its own position.


===== Locking of _guided missiles_ does not work as pilot without gunner =====
This feature can be added/removed to/from any vehicle or soldier via EDEN editor object attribute "Data Link Position" under "Electronics & Sensors".


URL: [https://dev-heaven.net/issues/12299]
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
reportOwnPosition = true;
</syntaxhighlight>


Comment: Useful for lower difficulty settings.
=== S ===


===== Add additional "preparation" time when selecting launchers =====
==== showAllTargets ====
[[File:showAllTargets.png|thumb|upright=0.5|showAllTargets indication]]
Vehicle/turret setting. Displays all targets known to vehicle sensors in via the ingame UI.
Values can be combined.


URL: [https://dev-heaven.net/issues/16104]
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
showAllTargets = 0; //LockNo
showAllTargets = 1; //LockCadet, show targets from all sensors, but only on lower difficulty; disabled since Arma 3 1.58
showAllTargets = 2; //LockYes, show targets from all sensors
showAllTargets = 4; //LockLaser, show only targets from laser spot tracker (laserScanner); since Arma 3 1.60
</syntaxhighlight>


Comment: To make infantry launcher use non as simplistic/gamey.
==== showCrewAim ====
[[File:showCrewAim.jpg|thumb|upright=1|showCrewAim indication]]
Vehicle/turret setting. Displays gunner/commander turret aimpoints on the in-game UI. Disabled when crosshair is turned off in difficulty since Arma 3 1.68


===== Make fuseDistance config entry working for Rockets/Missiles/RPGs =====
[[TokenNameValueTypes|Integer]]
<syntaxhighlight lang="cpp">
showCrewAim = 0; // disabled
showCrewAim = 1; // show primary gunner
showCrewAim = 2; // show commander
showCrewAim = 4; // show all
showCrewAim = 1+2+4; // values can be combined
</syntaxhighlight>


URL: [https://dev-heaven.net/issues/9614]
=== V ===


Comment: Useful tweak.
==== visualTarget ====
Says whether the vehicle can be detected and tracked by a Visual [[Arma_3_Sensors|sensor]] (electro-optical sensors in vis. spectrum, contrast seekers).


===== Add more damagable systems and indicators for fixed-wing-aircraft =====
[[A3_Targeting_config_reference#irTarget|IRTarget]] is used if undefined for backwards compatibility.


URL: [https://dev-heaven.net/issues/12203]
[[TokenNameValueTypes|Boolean]]
<syntaxhighlight lang="cpp">
visualTarget = 1; // can be detected by visual sensor
</syntaxhighlight>


Comment: Should be present already in A3, yet further tweaks/improvements would be useful.
==== visualTargetSize ====
Contrast and visual distinguishability properties of the vehicle. Works as a coefficient of Visual [[Arma_3_Sensors|Sensor]]'s range within the given combat situation.


==== Related ====
[[TokenNameValueTypes|Float]]
<syntaxhighlight lang="cpp">
visualTargetSize = 0.1; // vehicle will be detected by a visual spectrum sensor only at 1/10 of the sensors range in the given tactical situation
visualTargetSize = 2.0; // maximum value, vehicle can be detected at 2x the sensor's range
</syntaxhighlight>


* [https://dev-heaven.net/issues/18356 Extended IR lasers]
{{ConfigPage|end}}
* [https://dev-heaven.net/issues/11837 AN/PEQ-15 Laser cannot be seen (from) farther than 150m]
* [https://dev-heaven.net/issues/13283 Laser Designator/SOFLAM IR Beam]
* [https://dev-heaven.net/issues/14810 Option to have daylight visible lasers]
* [https://dev-heaven.net/issues/11671 Laser beam end to glow where it hits the ground]
* [https://dev-heaven.net/issues/23436 Laser beam is way too thick with higher HDR levels]
* [https://dev-heaven.net/issues/10452 Expand IR laser simulation]
* [https://dev-heaven.net/issues/28784 Realistic rangefinders]
* [https://dev-heaven.net/issues/6299 Implement ARENA / SHTORA / ERA systems for tanks]




== See Also ==


=== BIF discussions ===
* [[CfgAmmo Config Reference|CfgAmmo]]
* [[CfgWeapons Config Reference|CfgWeapons]]
* [[CfgVehicles Config Reference|CfgVehicles]]
* [[Arma 3 Sensors|Sensors (Radar, IR...)]]
* [[Arma 3 Targeting]]
* [[Arma 3 Missile flight profiles]]
* {{Link|link= https://forums.bistudio.com/topic/200467-jets-sensor-overhaul/|text= Sensor Overhaul (Forums)}}
* {{Link|link= https://forums.bistudio.com/topic/189734-targeting-improvements/|text= Targeting improvements (Forums)}}


* http://forums.bistudio.com/showthread.php?124994-quot-Tab-quot-targeting-issues
* http://forums.bistudio.com/showthread.php?128475-A-workable-compromise-for-the-locking-issue-input-needed
* http://forums.bistudio.com/showthread.php?122580-AA-missiles-locking-on-ground-vehicles
* http://forums.bistudio.com/showthread.php?115491-RADAR-new-idea
* http://forums.bistudio.com/showthread.php?106045-Variable-missile-lock-delay
* http://forums.bistudio.com/showthread.php?89553-Free-Fall-Bombs-Lock
* http://forums.bistudio.com/showthread.php?82146-More-variables-for-guided-missiles
* http://forums.bistudio.com/showthread.php?74407-ultra-realistic-mode
* http://forums.bistudio.com/showthread.php?102950-Stinger-missiles-seem-useless
* http://forums.bistudio.com/showthread.php?101994-Lock-on-with-wire-guided-Missiles
* http://forums.bistudio.com/showthread.php?72072-Air-to-Air-Ordnance-Effectiveness


* http://forums.bistudio.com/showthread.php?77891-Aircraft-Should-Be-Visible-at-Great-Distances
{{GameCategory|arma3|Reference Lists}}
* http://forums.bistudio.com/showthread.php?117418-Add-radar-for-BTR-90-gunner-driver
* http://forums.bistudio.com/showthread.php?44981-Active-Protection-Systems
* http://forums.bistudio.com/showthread.php?88823-T-90-Vulnerable-to-Javelin-why
* http://forums.bistudio.com/showthread.php?82441-Picture-in-picture-rendering-for-helicopters-planes-and-tanks-BIS-please-add!

Latest revision as of 15:39, 21 April 2023

Note that this is the relevant page for Arma 3 targeting. Implementations for older Arma titles differ somewhat, but are irrelevant for Arma 3.


CfgAmmo

A

airLock

Limits locking to specific target category. Also says if the AI will be "able" to engage these certain types with the given ammo (for the actual AI target preference use aiAmmoUsageFlags).

Integer

airLock = 0; // Cannot target air units
airLock = 1; // Can target air and ground units
airLock = 2; // Can target air units ONLY

artilleryLock

Can lock onto ArtilleryTarget object (created when commanding an AI that operates an artillery piece). Warning: With artilleryLock = 1 the airfriction gets forced to 0 ingame.

Boolean

artilleryLock = 0;
artilleryLock = 1;

autoSeekTarget

If set to true the missile flies towards a marked target and after reaching lockSeekRadius it searches for the best target (can be still the marked target) and homes in on it. If set to false the missile needs a valid lock first and will only guide towards the locked target. The property is used for example for guided artillery shells.


Boolean

autoSeekTarget = 0;
autoSeekTarget = 1;

C

cameraViewAvailable

Says whether the missile can provide camera feed after being launched.

Boolean

cameraViewAvailable = 1; // pilot can see the missile's flight from missile's perspective

cmImmunity

Defines the guidance sensitivity to countermeasures (flares, chaff, smoke). Range 0...1. The higher the number the more chance missile will ignore CM. 1 makes it completely ignore CM while 0 makes the projectile lose its target immediately after first CM is fired.

Float

cmImmunity = 0; // Projectile loses its target immediately after CM launch
cmImmunity = 1; // Projectile is immune to countermeasures

F

flightProfiles

Array of flight profiles (guidance specifics) the missile is allowed to use as a fire mode. Each entry references a flight profile class defined in the ammo and is paired with fire modes of the weapon. The naming has to be exactly the same in ammo flight profile class, weapon fire mode class, modes[] and flightProfiles[]. Classes that are defined in the ammo but which are not included in the flightProfiles at the same time will be ignored.

More info in Arma 3 Missile flight profiles

Float

flightProfiles[] = {Direct};		// added by default - if the ammo does not specify any flight profile OR if the weapon has more player fire modes (other than for flight profiles)
flightProfiles[] = {TopDown};		// top attack fire mode, can be used with [[autoSeekTarget]]
flightProfiles[] = {LOALDistance};	// lock-on after launch fire mode - missile will autonomously find a target after traveling specified distance, requires [[autoSeekTarget]]
flightProfiles[] = {LOALAltitude};	// lock-on after launch fire mode - for bombs - bomb will autonomously find a target after dropping to specified altitude, requires [[autoSeekTarget]]
flightProfiles[] = {Overfly};		// overfly top attack fire mode - the missile will overfly the target in specified height, best used with submunitions
flightProfiles[] = {Cruise};		// terrain following fire mode, can be used with [[autoSeekTarget]]
flightProfiles[] = {Direct, TopDown};	// a missile supporting two flight profiles - direct and top attack

I

irLock

Property is unused if the ammo uses the new Sensors (Radar, IR...) system.

Can lock air/ground vehicles (target vehicle must have irTarget=1).

Boolean

irLock = 0;
irLock = 1;

L

laserLock

Property is unused if the ammo uses the new Sensors (Radar, IR...) system.

Can lock on LaserTarget objects (laserTarget = 1).

Boolean

laserLock = 0;
laserLock = 1;

lockSeekRadius

Specifies the maximum distance from the initial target position where the missile will search for suitable targets if it has autoSeekTarget enabled.

Float

lockSeekRadius = 100; // Current value for all

lockType

Defines ammo dependance on weapon lock. Only works for missiles.

Integer

lockType = 0; // Fire and Forget (currently all guided weapons)
lockType = 1; // Manual - beamriding guidance (use together with manualControl true)
lockType = 2; // Manual - point guidance

M

maneuvrability

Defines how much the missile is able to turn / how well it can be controlled during the flight.

Float

maneuvrability = 1;		// Default value
maneuvrability = 20;	// MissileBase
maneuvrability = 16;	// BombCore
maneuvrability = 4;		// NLAW missile
maneuvrability = 14;	// SCALPEL missile

manualControl

Missile follows the cursor (unless locked onto a target). maxControlRange, maneuvrability and missile speed are very important for manual control. AI is able to guide missiles manually too.

Boolean

manualControl = 0; // Default value
manualControl = 1; // Titan AT missile

maxControlRange

Defines the distance in meters from the firing platform at which manual control over the missile is lost and it flies in a straight path.

Float

maxControlRange = 4000; // MissileBase
maxControlRange = 5000; // Titan AT missile

missileManualControlCone

Defines the in-flight maximum cone from the missile where the player has to aim in order to retain manual guidance. Missile can re-gain the control if the player's aim goes outside of the cone for a moment and reappears later.

Float

missileManualControlCone = 45; // Titan AT

missileKeepLockedCone

Defines the in-flight maximum cone (field of regard) from the missile where the missile can still track the target. Missile can re-gain tracking if target disappears for a moment and reappears later within the cone.

Float

missileKeepLockedCone = 90;		// can only follow targets as long as it stays in 90° infront of the missile
missileKeepLockedCone = 360;	// off-boresight capabilities, missile can attempt a full turn in order to hunt targets behind

missileLockCone

Defines the in-flight maximum cone from the missile where the target has to be and remain so the missile can lock it.

This doesn't affect missile's Sensor so in theory a missile can "know about" a target outside of its locking range.

Float

missileLockCone = 5;	// DAGR
missileLockCone = 180;	// GBU-12
missileLockCone = 50;	// Default (MissileCore)

missileLockMaxDistance

Specifies the maximum distance at which the missile is able to lock a target. This doesn't affect missile's Sensor so in theory a missile can detect and track a target outside of its locking range.

Float

missileLockMaxDistance = 2000; // missile won't be able to lock targets further than than 2km away

missileLockMinDistance

Specifies the minimum distance at which the missile is able to lock a target. This doesn't affect missile's Sensor so in theory a missile can detect and track a target outside of its locking range.

Float

missileLockMinDistance = 50; // missile won't be able to lock a target closer than 50m

missileLockMaxSpeed

Specifies the maximum speed (m/s) at which the target can be travelling to be still lockable by the missile. This doesn't affect missile's Sensor so in theory a missile can detect and track a faster target than it can lock.

Float

missileLockMaxSpeed = 42; // missile won't be able to lock a target closer that is moving faster than 151km/h

N

nvLock

Property is unused if the ammo uses the new Sensors (Radar, IR...) system.

Can lock onto NVTarget objects (IR-Grenades thrown by infantry).

Boolean

nvLock = 0; // Default
nvLock = 1; // GBU-12

S

sideAirFriction

Indirectly affects missiles turning / the flight path once the missile changes its orientation. The higher the side friction the more accurate is the maneuvring with the missile.

Float

sideAirFriction = 0.001;	// Default (MissileBase)
sideAirFriction = 0.1;		// Titan AA

T

trackLead

​​Range 0-1, how much is the missile performing "smart" tracking, which assumes onboard computer computing predicted target position at the impact time, resulting in a mostly straight flight trajectory.

Float

trackLead = 1; // Missile intercepts
trackLead = 0; // Missile follows

trackOversteer

Simulates manoeuvering errors of the missile.

Float

trackOversteer = 1; // Missiles flies straight to its target
trackOversteer = 0; // Missile never hits its target

W

weaponLockSystem

Defines which

  • target vehicle's lockDetectionSystem will be able to detect being locking by this ammo
  • target vehicle's incomingMissileDetectionSystem will be able to detect this ammo when it is in-flight and guided towards the target vehicle
  • countermeasures' weaponLockSystem will break this ammo's lock or guidance. (Same property is used also on flares and chaff to define the opposite match.)

More details in Arma 3 Countermeasures

Integer

weaponLockSystem = 0; // Undetectable
weaponLockSystem = 1; // Visual/Contrast
weaponLockSystem = 2; // Infra-red
weaponLockSystem = 4; // Laser
weaponLockSystem = 8; // Radar
weaponLockSystem = 16; // Missile
weaponLockSystem = "2+4"; // Lock types can be combined (in this case, IR and Laser lock)


CfgWeapons

B

ballisticsComputer

Fire control and aids

Various fire control systems and ballistic aids can be defined (and combined) in a weapon system. Aids based on target motion prediction (1 and 4) require a Sensor (Radar, IR...) to be able to track the target (Since Arma 3 1.60 they are no longer dependable canLock > 0. You can mark anything what your sensors are able to detect and use the gained information for fire control.)

Integer

ballisticsComputer = 0;		// Disabled
ballisticsComputer = 1;		// Automatic zeroing and lead on a sensor-tracked target (Weapon attempts to calculate and shift the aimpoint to hit a locked target based on range, target movement, own movement, and ballistics of selected ammo type.)
ballisticsComputer = 2;		// Manual zeroing
ballisticsComputer = 4;		// Target Lead indication; since Arma 3 1.60
ballisticsComputer = 8;		// Predicted Impact Point indication; since Arma 3 1.60
ballisticsComputer = 16;	// FCS, Prediction based on laser distance and speed measurement; since Arma 3 1.70

C

canLock

Determines if the weapon can lock onto targets allowed by the ammunition it uses.

Integer

canLock = 0; // Disabled
canLock = 1; // Locks only on lower difficulties (Recruit, Cadet), disabled since Arma 3 1.58
canLock = 2; // Always locks

cmImmunity

Defines how well the weapon can maintain lock if the target fires countermeasures (flares, chaff, smoke).

Float

cmImmunity = 0; // Lock breakes whenever target fires CM
cmImmunity = 1; // Lock never breaks

F

FCSMaxLeadSpeed

Maximum target speed (m/s) to which the gun can still adjust zeroing/deflection

Integer

FCSMaxLeadSpeed = 27.7; // ~100km/h

L

lockAcquire

Determines if weapons locks automatically a target within its lock cone or player has to use Lock Target action while pointing at a target.

Boolean

lockAcquire = 0; // player has to select a target himself
lockAcquire = 1; // automatic acquisition of the closest target in missileLockCone

lockingTargetSound

Determines sound played once the selected weapon starts locking a target. The sound is played in a loop while locking. Note the sound is only played if the weapon is a missile.

Sound array : {"path/to/file.wss",<volume priority>,<sound pitch>}

lockingTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1",0.562341,1}; // Used in missiles_DAGR

lockedTargetSound

Determines sound played once the selected weapon locked its target. The sound is played in a loop until the weapon maintains a lock and is able to fire. Note the sound is only played if the weapon is a missile.

Sound array : {"path/to/file.wss",<volume priority>,<sound pitch>}

lockedTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1",0.562341,4};

W

weaponLockDelay

Once the locking conditions are met (target is marked, can be locked by this projectile and is in missileLockCone), how much time in seconds would it take for the lock to be achieved.

Float

weaponLockDelay = 0; // Immediate lock if the locking conditions are met
weaponLockDelay = 3; // Most of the guided weapons

weaponLockSystem

Defines which target vehicle's lockDetectionSystem will be able to detect being marked/tracked by this weapon.

More details in Arma 3 Countermeasures

Integer

weaponLockSystem = 0;	// Undetectable
weaponLockSystem = 4;	// Laser
weaponLockSystem = 8;	// Radar
weaponLockSystem = 12;	// Lock types can be combined (in this case, Radar and Laser)

CfgVehicles

A

allowTabLock

If true, allows the usage of automatic cycling of targets using Tab (Next Target key assignment - default "R" in Arma 3). Can be used for driver, or each individual turret.

Boolean

allowTabLock = 0; // Tab-lock disabled (man-pads)
allowTabLock = 1; // Most of the vehicles

alwaysTarget

Defines if the vehicle is considered as a training target by AI and IFF sensors (always enemy).

Boolean

alwaysTarget = 0;
alwaysTarget = 1; // VR Targets

artilleryScanner

Enables the Artillery Computer feature and allows the usage of artillery-type weapons more efficiently.

Boolean

artilleryScanner = 0;
artilleryScanner = 1; // Artillery vehicles/mortars

artilleryTarget

Only used by ArtilleryTarget class objects. ArtilleryTarget gets created temporarily on the position designated by a player leader for a subordinate AI artillery operator (Fire Artillery command). Can be locked by projectiles with artilleryLock = 1;

Boolean

artilleryTarget = 0;
artilleryTarget = 1;

C

xxxCanSee

Defines specific tools/sensors for the AI/players when on a specific seat.

  • 1 = CanSeeRadar
  • 2 = CanSeeEye
  • 4 = CanSeeOptics
  • 8 = CanSeeEar
  • 16 = CanSeeCompass
  • 1+16 = CanSeeRadarC
  • 31 = CanSeeAll
  • 32 = CanSeePeripheral // Enables small colored blobs at the edge of the screen that indicate nearby units.

Integer

driverCanSee	= 2+8+16;	// The driver of this vehicle can see and hear enemies and use its compass
gunnerCanSee	= 1+4+16;	// The gunner of this vehicle can detect enemies with optics or radar, and sees a compass
commanderCanSee	= 31;		// The commander of this vehicle can see and use all its tools

canUseScanners

Can be defined per individual turret. Useful to restrict access to vehicle sensors (target marking) on some positions in vehicles (i.e. door gunners)

Boolean

canUseScanner = 0; // can't use the vehicle's Sensors

countermeasureActivationRadius

Defines how far the vehicle can detect incoming missiles (see incomingMissileDetectionSystem)

More details in Arma 3 Countermeasures

Integer

countermeasureActivationRadius = 2000;	// Ground vehicles
countermeasureActivationRadius = 10000;	// Air vehicles

I

incomingMissileDetectionSystem

Defines which munitions guided towards the vehicle the vehicle can detect. Checks a bit flag match with the incoming ammo's weaponLockSystem.

More details in Arma 3 Countermeasures

Integer

incomingMissileDetectionSystem = 0;		// No missile-in-flight detection
incomingMissileDetectionSystem = 8;		// Active Radar Homing missile-in-flight detection
incomingMissileDetectionSystem = 16;	// Detects all missiles (Missile Approach Warning)

irScanXXX

Property is unused if the vehicle uses the new Sensors (Radar, IR...) system.

Those settings can be used instead of irScanRange to make IR+Radar scan range depend on the visibility distance. If there is irScanRange, fixed value is used. The same thing can also be accomplished by setting both irScanRangeMin and irScanRangeMax to the same value.

If there is no irScanRange,IR+Radar scan range is calculated as:

scanRange = visibility_range * irScanToEyeFactor;
if (scanRange<irScanRangeMin) scanRange = irScanRangeMin;
if (scanRange>irScanRangeMax) scanRange = irScanRangeMax;

Where visiblity_range is basically a drawing distance, but may be shortened by rain or fog. Float

irScanToEyeFactor	= 1;
irScanRangeMin		= 200;
irScanRangeMax		= 1000;

irScanGround

Property is unused if the vehicle uses the new Sensors (Radar, IR...) system.

Can be used to limit target detection to air or groun targets.

Integer

irScanGround = 0; // Can detect and track aerial irTargets only (AAA)
irScanGround = 1; // Can detect and track any irTargets (multirole)
irScanGround = 2; // Can detect and track ground irTargets only (air-to-surface radar, gunships)

irTarget

Says whether the vehicle - once heated up - can be detected and tracked by an IR Sensor system. Vehicle heats up mainly from a running engine (~ 6 sec to heat up after engine start, 1h to cool down). Firing a weapon or wheels friction also builds up the vehicle's heat signature.

Boolean

irTarget = 0; // Buildings, men, static defenses, etc...
irTarget = 1; // Ground/Air vehicles

irTargetSize

Says how big the vehicle's heat signature is once heated up. Works as a coefficient of IR Sensor's range within the given combat situation.

Float

irTargetSize = 0.1; // heated vehicle will be detected by an IR sensor only at 1/10 of the sensors range in the given tactical situation
irTargetSize = 2.0; // maximum value, vehicle can be detected at 2x the sensor's range

L

laserScanner

Property is unused if the vehicle uses the new Sensors (Radar, IR...) system.

Defines if the vehicle has a Laser Spot Tracker and is able to detect and lock laser targets (for example, CAS jets, gunships).

Boolean

laserScanner = 0;
laserScanner = 1;

laserTarget

Defines if the vehicle can be detected by vehicles equipped with a laser sensor (laserScanner). Used only by LaserTarget and Land_VR_Target.. classes. LaserTarget gets created at the position of laser spot painted by a laser designator.

Boolean

laserTarget = 0;
laserTarget = 1;

lockDetectionSystem

Defines what type of locking or marking the vehicle can detect. Checks a bit flag match with the locking ammo's weaponLockSystem and/or weapon's weaponLockSystem (when marked).

More details in Arma 3 Countermeasures

Integer

weaponLockSystem = 0; // Undetectable
weaponLockSystem = 4; // Laser
weaponLockSystem = 8; // Radar
weaponLockSystem = "2+4"; // Lock types can be combined (in this case, IR and Laser lock)

N

nvScanner

Property is unused if the vehicle uses the new Sensors (Radar, IR...) system.

Defines if the vehicle is able to detect and lock Night-Vision targets (used by IR-Grenades).

Boolean

nvScanner = 0;
nvScanner = 1;

nvTarget

Defines if the vehicle can be detected by vehicles equipped with a night-vision sensor (nvScanner). Used only by NVTarget and Land_VR_Target.. classes. NV target gets created on the position of ammo with

simulation = "shotNVGMarker";

Boolean

nvTarget = 0;
nvTarget = 1;

P

class pilotCamera

Gives the pilot access to a targeting pod (or some CCTV) and control over it in a full screen display feed (via *Multifunction camera* action, Ctrl+RMB by default).

class pilotCamera
{
 
	class OpticsIn
	{
		// different optics mode, same as in turrets
	}
 
	minTurn		= -90;	// yaw limits
	maxTurn		=  90;	// yaw limits
	initTurn	=   0;	// initial yaw angle
	minElev		= -90;	// pitch limits
	maxElev		=  90;	// pitch limits
	initElev	=   0;	// initial pitch angle
	maxXRotSpeed = 0.5;	// yawing speed
	maxYRotSpeed = 0.5;	// pitching speed
	pilotOpticsShowCursor = 1; // to show aimCursor (is useful to see plane direction)
	controllable = 1;	// set false to have static camera
 };

Related commands: Command Group: Pilot Camera

R

radarTarget

Says whether the vehicle can be detected and tracked by a RADAR Sensor.

IRTarget is used if undefined for backwards compatibility.

Boolean

radarTarget = 1; // can be detected by RADAR

radarTargetSize

Radar cross-section coefficient of the vehicle. Works as a coefficient of RADAR Sensor's range within the given combat situation.


  • 0.1 - fully stealth (<0.0005m2 RCS) (not recommended)
  • 0.7 - small aircrafts, semi-stealth (~1m2 RCS)
  • 1.0 - mid sized aircraft, car (~5m2 RCS)
  • 1.2 - tanks, trucks (~10m2 RCS)
  • 2.0 - large bomber, small ship and bigger (>80m2 RCS)

Float

radarTargetSize = 0.1; // vehicle will be detected by a Radar sensor only at 1/10 of the sensors range in the given tactical situation
radarTargetSize = 2.0 // maximum value, vehicle can be detected at 2x the sensor's range

radarType

Old Radar and targets indication
  • Property is no longer used for the game HUD UI
  • AI is only able to utilize sensors (Radar, IR, LST...) if value 1, 2 or 4 is used


Integer

radarType = 0; // No radar (used for infantry)
radarType = 1; // Tactical display (not used)
radarType = 2; // Vehicle radar (used for AAA) - shows compass, turret directions and targets
radarType = 4; // Air radar (used for jets and gunships) - shows compass, turret directions and targets
radarType = 8; // Compass + turret directions (used for majority of vehicles and their turret positions) - shows compass and turret directions

receiveRemoteTargets

Says if the vehicle is able to receive targets and positions from friendly vehicles with reportRemoteTargets.

This feature can be added/removed to/from any vehicle or soldier via EDEN editor object attribute "Data Link Receive" under "Electronics & Sensors".

Integer

receiveRemoteTargets = true;

reportRemoteTargets

Says if the vehicle is able to broadcast targets acquired by own sensors.

This feature can be added/removed to/from any vehicle or soldier via EDEN editor object attribute "Data Link Send" under "Electronics & Sensors".

Integer

reportRemoteTargets = true;

reportOwnPosition

Says if the vehicle is able to broadcast its own position.

This feature can be added/removed to/from any vehicle or soldier via EDEN editor object attribute "Data Link Position" under "Electronics & Sensors".

Integer

reportOwnPosition = true;

S

showAllTargets

showAllTargets indication

Vehicle/turret setting. Displays all targets known to vehicle sensors in via the ingame UI. Values can be combined.

Integer

showAllTargets = 0; //LockNo
showAllTargets = 1; //LockCadet, show targets from all sensors, but only on lower difficulty; disabled since Arma 3 1.58
showAllTargets = 2; //LockYes, show targets from all sensors 
showAllTargets = 4; //LockLaser, show only targets from laser spot tracker (laserScanner); since Arma 3 1.60

showCrewAim

showCrewAim indication

Vehicle/turret setting. Displays gunner/commander turret aimpoints on the in-game UI. Disabled when crosshair is turned off in difficulty since Arma 3 1.68

Integer

showCrewAim = 0; // disabled
showCrewAim = 1; // show primary gunner
showCrewAim = 2; // show commander
showCrewAim = 4; // show all
showCrewAim = 1+2+4; // values can be combined

V

visualTarget

Says whether the vehicle can be detected and tracked by a Visual sensor (electro-optical sensors in vis. spectrum, contrast seekers).

IRTarget is used if undefined for backwards compatibility.

Boolean

visualTarget = 1; // can be detected by visual sensor

visualTargetSize

Contrast and visual distinguishability properties of the vehicle. Works as a coefficient of Visual Sensor's range within the given combat situation.

Float

visualTargetSize = 0.1; // vehicle will be detected by a visual spectrum sensor only at 1/10 of the sensors range in the given tactical situation
visualTargetSize = 2.0; // maximum value, vehicle can be detected at 2x the sensor's range


See Also