FANDOM


Locating the configuration file Edit

Once A3EAI is properly installed, the configuration file for A3EAI is located in @EpochHive/A3EAI_config.sqf. It is highly recommended to edit this file with Notepad++ (http://notepad-plus-plus.org/) in combination with the Notepad++ SQF Syntax addon (http://www.armaholic.com/page.php?id=8692), or at least C/C#/C++ syntax highlighting to aid editing. Editing with standard text editors such as Notepad is not recommended for users not familiar with editing .sqf files.

Note: Settings are up-to-date as of A3EAI version 0.6.0

General A3EAI settings Edit

Setting Description Acceptable Values
A3EAI_debugLevel Sets level of detail of debug information reported in to the server RPT logs.

Default value: 0.

  • 0: No debug output will be produced.
  • 1: Basic debug output: Brief debug output will be produced, enough to determine to trace basic activity.
  • 2: Extended debug output: Full debug output will be produced. Provides detailed information describing each action that A3EAI performs.


Important: If experiencing bug-related issues with A3EAI, it is highly recommended to enable debugLevel 2 (at least 1) and submit the contents of your server's RPT log using a site such as Pastebin (http://pastebin.com/) and including the link along with your help request.

Number: 0, 1, 2
A3EAI_monitorRate

At an interval defined by A3EAI_monitorRate, A3EAI will periodically report basic information about its activity into the server RPT log.

Default value: 300

Information reported:

  • Server uptime (Hours: Minutes: Seconds)
  • Current server FPS
  • Active AI groups
  • Active Static spawns
  • Number of AI groups queued for respawn
  • Active Dynamic spawns
  • Active Random spawns
  • Active Air vehicle patrols
  • Active Land vehicle patrols



Notes:

  1. "Active AI groups" refers to the number of Resistance-type groups created by A3EAI. These groups may or may not contain active AI units, ie: they may contain groups that are waiting for respawn.
  2. Inactive Static and Dynamic spawns do not count towards their respective counter values.
  3. Random spawns are considered "active" if the spawn areas are available to be triggered by player presence. They might not necessarily have been activated and spawned AI. Random spawns are removed from the counter once the area has been despawned. The counter will be incremented again once a new random spawn has been placed elsewhere.
  4. Custom AI spawns count towards the active Static spawns counter value.
  5. Ejected air vehicle AI count towards the active Static spawns counter value. (One spawn per vehicle crew).
  6. Land vehicle AI with disabled vehicles count towards the active Static spawns counter value. (One spawn per vehicle crew).
Number: Reporting rate in seconds (0 to disable)
A3EAI_verifyClassnames

Enables verification of all classnames used by A3EAI.

Default value: true

Classnames are checked using the following criteria:

  1. The classname exists.
  2. The classname is a usable object.
  3. The classname is not banned. Note: No classnames are currently known to be banned in ArmA 3 Epoch mod.
  4. The classname is of the appropriate class, ie: Vehicles cannot be added to Weapon classname tables.
  5. For vehicles, the vehicle must not contain an "init" statement. Init statements will cause BattlEye kicks unless filter exceptions are added. To allow use of vehicles with "init" statements after filters have been added, disable this setting.


Note: If a classname table is found to to be empty (ie: deleted by user or all classnames found to be invalid), default values will be used instead.

Boolean value (true, false): Enable or disable
A3EAI_checkVehicleInit

Enable filter against vehicles with init statements, which may cause BattlEye kicks. Enable if experiencing BattlEye kicks after adding new vehicle classnames.

Default value: false

Boolean value (true, false): Enable or disable
A3EAI_verifySettings

Enables verification of all settings in A3EAI_config.sqf.

Default value: true

Settings are checked using the following criteria:

  1. The setting value is of correct data type.
  2. The setting value is within acceptable value range.
  3. The setting is defined.



Any settings that are found to be invalid are reset to default values.

Note: Any syntax errors made in the A3EAI_config.sqf will prevent the file from being read properly. As a result, no settings will be read and all settings will be reset to default values.

Boolean value (true, false): Enable or disable
A3EAI_cleanupDelay

Waiting time in seconds before dead AI bodies are removed.

Default value: 900

Deletion will not occur if a player is within close proximity of the object (body or vehicle).

This setting does not affect cleanup of destroyed/abandoned AI vehicles.

Number: Waiting time in seconds
A3EAI_loadCustomFile

Enables loading of A3EAI_custom_defs.sqf file.

Default value: false

The file is for users to define custom spawns and blacklist areas.

Boolean value (true, false): Enable or disable

Headless Client (HC) Settings Edit

A3EAI supports the use of a headless client to offload AI processing from the dedicated server, freeing up server resources and improving AI behavior and responsiveness.

Setting Description Acceptable Values
A3EAI_enableHC

Enables A3EAI headless client support.

Default value: false

Enabling this setting will allow A3EAI to listen and accept a connection request from the A3EAI headless client.

If this setting is disabled, all connection requests by the A3EAI headless client will fail.

Boolean value (true, false): Enable or disable
A3EAI_waitForHC

If HC support enabled, A3EAI will pause during post-initialization until HC has successfully connected.

Default value: false

Note that if this setting is enabled, and the HC fails to connect, A3EAI will be unable to continue loading and will be unable to spawn AI.

Boolean value (true, false): Enable or disable

Dynamic classname settings Edit

The dynamic classname system allows for freedom and flexibility by automatically reading Epoch's own loot tables for classname information regarding items and equipment that AI are able to use. By using Epoch's own loot tables in combination with classname verification, A3EAI ensures that all classnames used are indeed valid classnames that can be used without problems.

Users may also decide to manually define certain types of classnames instead of having them automatically generated. This can be done by disabling the part of the dynamic classname system that is responsible for that item class, and instead editing the corresponding table to manually define classnames in the "AI skin, weapon, loot, and equipment settings" section of A3EAI_config.sqf.

Note: Each part of the dynamic classname system is enabled by default.

Note: Toolbelt items and optics items are not automatically generated. These classnames are manually defined using the following tables: A3EAI_tools0, A3EAI_tools1, A3EAI_gadgets0, A3EAI_gadgets1.

Setting Description Manual Definitions Table Name1
A3EAI_dynamicUniformList Generates list of usable uniform classnames from CfgLootTable >> Uniforms A3EAI_uniformTypes
A3EAI_dynamicWeaponList Generates list of usable weapon classnames from CfgLootTable >> Pistols/Rifle/Machinegun/SniperRifle
  • A3EAI_pistolList
  • A3EAI_rifleList
  • A3EAI_machinegunList
  • A3EAI_sniperList
A3EAI_dynamicOpticsList

Enabled: Use Epoch loot table data as whitelist for AI-usable weapon scopes.

Disabled: Usable scopes will be defined by A3EAI_weaponOpticsList.

A3EAI_weaponOpticsList
A3EAI_dynamicBackpackList Generates list of usable backpack classnames from CfgLootTable >> Backpack
  • A3EAI_backpackTypes0
  • A3EAI_backpackTypes1
  • A3EAI_backpackTypes2
  • A3EAI_backpackTypes3
A3EAI_dynamicVestList Generates list of usable vest classnames from CfgLootTable >> Vests
  • A3EAI_vestTypes0
  • A3EAI_vestTypes1
  • A3EAI_vestTypes2
  • A3EAI_vestTypes3
A3EAI_dynamicHeadgearList Generates list of usable headgear classnames from CfgLootTable >> Headgear A3EAI_headgearTypes
A3EAI_dynamicFoodList Generates list of usable food classnames from CfgLootTable >> Food A3EAI_foodLoot
A3EAI_dynamicLootList Generates list of usable loot classnames from CfgLootTable >> Generic A3EAI_MiscLoot1
A3EAI_dynamicLootLargeList Generates list of usable higher-value loot classnames from CfgLootTable >> GenericLarge A3EAI_MiscLoot2
A3EAI_dynamicWeaponBlacklist Classnames of weapons to ignore from Epoch loot tables N/A

1 In order for A3EAI to read the manual definition table, the corresponding dynamic classname setting must be disabled (set to false).

Shared AI unit settings Edit

These settings will affect AI spawned by A3EAI. Unless specifically noted otherwise, each setting affects all AI spawned by A3EAI.

Setting Description Acceptable Value(s) AI Types Affected
A3EAI_playerCountThreshold

Number of online players required for maximum (or minimum) AI spawn chance, depending on whether upwardsChanceScaling is true or false

If "true": Number of online players required to scale up to full defined spawn probability (ie: A3EAI_spawnChance_village).

If "false": Number of online players required to scale down to spawn probability multiplier defined by 3EAI_chanceScalingThreshold.

Positive number Static, Dynamic, Random Spawns
A3EAI_chanceScalingThreshold

Has different effects depending on whether A3EAI_upwardsChanceScaling is true or false:

If "true": Spawn probability multiplier will start from the number defined by A3EAI_upwardsChanceScaling, scaling up to 1.00, depending on number of online players.

if "false": Spawn probability multiplier will start from 1.00, scaling down to number defined by upwardsChanceScaling, depending on number of online players.

Number above 0.00 to 1.00 Static, Dynamic, Random Spawns
A3EAI_upwardsChanceScaling

Has different effects depending on whether this value is set to true or false.

true: Spawn chance multiplier scales upwards from the above defined value to 1.00. This will allow AI spawn probabilities to remain low when player population is low, and increase as more players enter the game. Useful to ensure that the chance to encounter AI is proportional to chance to encounter players.

false: Spawn chance multiplier scales downwards from 1.00 to the above defined value. This will allow AI spawn probabilities to remain high when player population is low, but decrease once more players come online. Useful to maintain active gameplay and encourage more player-vs-player interactions and less player-vs-AI when more players are online.

true, false Static, Dynamic, Random Spawns
A3EAI_minAI_village Sets minimum number of AI to spawn.

Default value: 2

0-5 Static, Dynamic, Random Spawns
A3EAI_addAI_village Sets maximum additional number of AI to spawn. 

Default value: 1

Note: Actual amount spawned ranges from 0 up to the amount specified.

0-5 Static, Dynamic, Random Spawns
A3EAI_unitLevel_village1 Difficulty level of AI spawned in villages.

Default value: 0

0-3 Static, Dynamic, Random Spawns
A3EAI_spawnChance_village

Probability to spawn AI in villages

Default: 0.40

Number 0.00 to 1.00 Static, Dynamic, Random Spawns
A3EAI_minAI_city Sets minimum number of AI to spawn.

Default value: 1

0-5 Static, Dynamic, Random Spawns
A3EAI_addAI_city Sets maximum additional number of AI to spawn. 

Default value: 2

Note: Actual amount spawned ranges from 0 up to the amount specified.

0-5 SStatic, Dynamic, Random Spawns
A3EAI_unitLevel_city1 Difficulty level of AI spawned in cities.

Default value: 1

0-3 Static, Dynamic, Random Spawns
A3EAI_spawnChance_city

Probability to spawn AI in cities.

Default: 0.60

Number 0.00 to 1.00 Static, Dynamic, Random Spawns
A3EAI_minAI_capitalCity Sets minimum number of AI to spawn.

Default value: 2

0-5 Static, Dynamic, Random Spawns
A3EAI_addAI_capitalCity Sets maximum additional number of AI to spawn. 

Default value: 1

Note: Actual amount spawned ranges from 0 up to the amount specified.

0-5 Static, Dynamic, Random Spawns
A3EAI_unitLevel_capitalCity1 Difficulty level of AI spawned in capital cities.

Default value: 1

0-3 Static, Dynamic, Random Spawns
A3EAI_spawnChance_city

Probability to spawn AI in capital cities.

Default: 0.70

Number 0.00 to 1.00 Static, Dynamic, Random Spawns
A3EAI_minAI_remoteArea Sets minimum number of AI to spawn.

Default value: 2

0-5 Static, Dynamic, Random Spawns
A3EAI_addAI_remoteArea Sets maximum additional number of AI to spawn. 

Default value: 1

Note: Actual amount spawned ranges from 0 up to the amount specified.

0-5 Static, Dynamic, Random Spawns
A3EAI_unitLevel_remoteArea1 Difficulty level of AI spawned in remote areas.

Default value: 2

0-3 Static, Dynamic, Random Spawns
A3EAI_spawnChance_city

Probability to spawn AI in remote areas.

Default: 0.80

Number 0.00 to 1.00 Static, Dynamic, Random Spawns
A3EAI_minAI_wilderness Sets minimum number of AI to spawn.

Default value: 2

Note: A "Wilderness" area is any area that is not within 1000m of any other location type (Village, City, Capital City, Remote Area).

0-5 Static, Dynamic, Random Spawns
A3EAI_addAI_wilderness Sets maximum additional number of AI to spawn. 

Default value: 1

Note: Actual amount spawned ranges from 0 up to the amount specified.

0-5 Static, Dynamic, Random Spawns
A3EAI_unitLevel_wilderness1 Difficulty level of AI spawned in wilderness.

Default value: 2

0-3 Static, Dynamic, Random Spawns
A3EAI_spawnChance_wilderness

Probability to spawn AI in wilderness.

Default: 0.80

Number 0.00 to 1.00 Static, Dynamic, Random Spawns
A3EAI_tempBlacklistTime Defines amount of time in seconds until cleaning up temporary blacklist area.

Default value: 600

While dynamic and random spawns are active, they create a blacklist area that prevents other dynamic/random spawns from being created that intersect their radius (600 meters). This setting defines how long this blacklist area can persist after the spawn has already been deactivated and deleted.

Any number Dynamic and Random spawns
A3EAI_findKiller If a player kills an AI unit, all remaining units that were part of that unit's group will be alerted and will attempt to trace the location of the player responsible. Tracing behavior will not happen if the AI unit was the only member of its group.

Default value: true


Vehicle patrol AI will only engage in tracing behavior if their vehicle has already been disabled (they would be re-categorized as Static-type).

AI will only chase the player as long as the player is still within the AI patrol area.

true, false All infantry AI types (Exception: Dynamic AI in "player-seeker" mode.
A3EAI_tempNVGs

Adds temporary Night Vision Goggles to each AI unit spawned, which will be removed upon death.

Default value: false

Recommended to enable if AI are having difficulty responding properly at night.

Note: Vehicle crew AI always have this option enabled.

true, false All infantry AI types
A3EAI_GLRequirement

Defines minimum AI level to use underslung grenade launchers. Set as -1 to disable grenade launcher use completely.

Default: 2

Note: AI will only be able to use grenade launchers if their weapon has one attached.

Note: Grenade launcher ammunition will be removed upon AI unit death.

Number -1 to 3 All AI types
A3EAI_launcherLevelReq

Defines minimum AI level to use launcher-type weapons. Set as -1 to disable launcher use completely.

Default: -1

Number -1 to 3 All AI types
A3EAI_launcherTypes Defines list of launcher-type weapons (ie: anti-air or anti-armor rockets or missiles) that can be potentially used by AI units.

Note: Launchers and launcher ammunition will be removed upon AI unit death.

Array of strings All AI types
A3EAI_launchersPerGroup Defines the maximum number of launcher-type weapons allowed per AI group.

Default value: 1

Any number All AI types
A3EAI_enableHealing Enables AI self-healing if the unit is badly injured. Number of self-heals depends on the AI unit level (Level 0 AI cannot self-heal).

Default value: true

Note: AI can only heal up to 75% of maximum health.

true, false All infantry AI types, including disembarked vehicle AI.

1Dynamic and Random AI spawns will inherit the level of the nearest location, which will influence the AI group's skill level, loadout, group size, and spawn probability.

Client addon features Edit

Important: These features require the A3EAI client addon to be installed in order to work. Enabling these settings without the A3EAI client addon installed to your mission pbo will result in nothing happening.

Setting Description Acceptable Values
A3EAI_radioMsgs

Enables players with Radio Quartz equipped to intercept AI radio transmissions.

Default value: false

Radio transmissions can be intercepted under the following circumstances:

  • Player has killed an AI unit, and the remaining group members are tracking the player's position
  • Player has triggered a dynamic AI spawn, and the AI are in "player seeking" mode.


Note: If the player is being chased by lone AI unit (no other units in group), then only radio sound effects will be heard. No messages will be displayed.

true, false
A3EAI_deathMessages

Enables death notification messages to be displayed upon AI death.

Default value: false

Messages will be displayed only to the player responsible for killing the AI unit. If the player is inside a vehicle, all players inside the vehicle will also receive the messages if at least one crew member has a Radio Quartz.

true, false

Static AI settings Edit

Static AI spawns are automatically generated by A3EAI using location information found in the map's CfgWorlds. To see where static spawns can be potentially generated, check the map - any named location has the potential to contain a static spawn.

A static spawn will be created if all of the following criteria are met:

  • There are at least 20 buildings in the area, and more than 15 of them are at least the size of a small house.
  • The location is not on a water position.
  • The location is either a Capital City, City, Village, or "Local"-type location (A3EAI refers to these as "Remote").

A3EAI will use building locations as potential spawn points for AI.

Setting Description Acceptable Values
A3EAI_autoGenerateStatic A3EAI automatically generates static AI spawns at named locations on map.

Default: true

If disabled, no static spawns will be automatically generated.

true, false
A3EAI_promoteChances Probability of temporarily increasing an AI group's level upon respawning.

Default: [0.20,0.10,0.10]

  • Element 1: Probability of promoting level 0 to level 1
  • Element 2: Probability of promoting level 1 to level 2
  • Element 3: Probability of promoting level 2 to level 3 (maximum).
Array of 3 decimal numbers, each within 0.00 - 1.00
A3EAI_respawnTimeMin Minimum time to wait in seconds before respawning an AI group.

Default: 300

Actual respawn time = A3EAI_respawnTimeMin to A3EAI_respawnTimeMax

Any number
A3EAI_respawnTimeMax Maximum time in seconds to wait before respawning an AI group.

Default: 600

Actual respawn time = A3EAI_respawnTimeMin to A3EAI_respawnTimeMax

Any number greater than A3EAI_respawnTimeMin
A3EAI_despawnWait Amount of time in seconds to allow static AI to persist on the map without player presence within the spawn area. Default: 120 Any number
A3EAI_respawnLimit_village Sets limit of the number of respawns for static spawns in villages. Set to -1 to disable limit.

Default: -1

Respawn limit is reset upon spawn deactivation.

Any number (Negative numbers will disable respawn limit)
A3EAI_respawnLimit_city Sets limit of the number of respawns for static spawns in cities. Set to -1 to disable limit.

Default: -1

Respawn limit is reset upon spawn deactivation.

Any number (Negative numbers will disable respawn limit)
A3EAI_respawnLimit_capitalCity Sets limit of the number of respawns for static spawns in capital cities. Set to -1 to disable limit.

Default: -1

Respawn limit is reset upon spawn deactivation.

Any number (Negative numbers will disable respawn limit)
A3EAI_respawnLimit_remoteArea Sets limit of the number of respawns for static spawns in remote areas. Set to -1 to disable limit.

Default: -1

Respawn limit is reset upon spawn deactivation.

Any number (Negative numbers will disable respawn limit)
A3EAI_staticBlacklistLocations

Defines names of locations where static spawns should not be automatically generated by A3EAI.

Default: []

Example:

["Aggelochori","Panochori","Zaros"]



Notes:

  • Location names are case-sensitive. Use the location name exactly as it is defined on the map.
  • This blacklist does not block Dynamic or Random AI spawns. Use the blacklisting feature provided by the Editor Tool to create blacklist area for this purpose.
Array of strings

1If spawn probability check fails, the AI group will be sent to the respawn queue as if the AI group was killed. The spawn probability is checked again after respawn timer is complete.

Dynamic AI settings Edit

Dynamic AI spawns are automatically generated by A3EAI when players are online. Every player has a set probability of triggering a dynamic spawn every x minutes (determined by A3EAI_dynCooldownTime) if the following conditions are met:

  1. A probability check passes. Probability is defined by A3EAI_dynSpawnChance.
  2. Player is not in an air vehicle.
  3. Player is not within a blacklisted area.
  4. Player position is not water.
  5. Player is not in a protected trader area or the fresh spawn location.
  6. Player is not within 125m of any modular construction items.
  7. Player has not triggered a dynamic spawn within the past amount of time defined by A3EAI_dynCooldownTime.
  8. The current number of existing dynamic spawns is less than the maximum allowed number defined by A3EAI_dynMaxSpawns.

Dynamic and Random spawns inherit the level setting of the closest location (Capital City, City, Village, Remote), which influences the difficulty level of the AI spawned, their loadout, and the amount of AI spawned.

Setting Description Acceptable Values
A3EAI_dynMaxSpawns Maximum number of dynamic spawns to exist on the map at any one time. Set 0 to disable dynamic spawn system.

Default: 15

Any number
A3EAI_dynCooldownTime Minimum amount of time in seconds that must pass for a player after a dynamic spawn before another dynamic spawn can be triggered.

Default: 900

Any number
A3EAI_dynResetLastSpawn Amount of time in seconds that must pass while a player is offline before the player's last spawn timestamp is reset.

Default: 3600

Explanation: If a player has logged out for more than the defined amount of time, the next time they log in, the amount of time defined by A3EAI_dynCooldownTime must pass before they are eligible to trigger another dynamic spawn. However, if the player logs in and returns before this amount of time has passed, they are eligible to trigger another dynamic spawn at any time.

Any number
A3EAI_huntingChance

Probability of spawning dynamic AI in "player seeking" mode.

Default: 0.60

Dynamic AI spawned in "player seeking" mode will actively track the player's current position and follow until one of the following conditions are met:

  1. Player is killed
  2. Player logs out
  3. Player enters an air vehicle
  4. Player moves out of tracking range






Dynamic AI that do not spawn in "player seeking" mode will have their first waypoint directed towards the player's position at the time the spawn is activated, but will not actively track the player's position. Instead, they will roam around the area until the spawn area is deactivated by lack of players nearby.

Number between 0.00 - 1.00
A3EAI_dynDespawnWait Amount of time in seconds to allow dynamic AI to persist on the map without player presence within the spawn area.

Default: 120

Any number

Random AI settings Edit

Random spawns are preferentially distributed in randomly selected cities, villages, or remote areas, as long as the area is not blacklisted and does not already contain a Dynamic or Random spawn. If such a location cannot be found, they are randomly distributed anywhere on the map as long as the location is not water. If no suitable location can be found, A3EAI will not create the random spawn and will try again at a later time.

Dynamic and Random spawns inherit the level setting of the closest location (Capital City, City, Village, Remote), which influences the difficulty level of the AI spawned, their loadout, and the amount of AI spawned.

Setting Description Acceptable Values
A3EAI_maxRandomSpawns

Maximum number of placed random spawns on map.

Default value: 15

The actual number of placed random spawns on the map may vary at any one time, but will never exceed the value specified.

Any number
A3EAI_randDespawnWait

Time to wait in seconds before despawning all AI units in random spawn area when no players are present.

Default value: 120

Any number
A3EAI_minRandSpawnDist

Minimum distance between a random spawn location and other random spawns.

Default value: 0

Negative values will permit random spawn areas to intersect, while positive values will enforce separation of random spawns.

Any number

Air vehicle AI settings Edit

Setting Description Acceptable Values
A3EAI_maxHeliPatrols

Maximum number of active AI air vehicle patrols. Set 0 to disable air vehicle patrols.

Default: 0

Important: This setting only specifies the maximum number of air vehicle patrols. The actual number of available vehicles is determined by how many AI-usable vehicles are defined in A3EAI_heliList. If you increase A3EAI_maxHeliPatrols but do not notice any increase in the actual number of AI air vehicle patrols, it is because there aren't enough quantities of vehicles defined in A3EAI_heliList.

Any number
A3EAI_levelChancesAir

Probabilities of spawning AI vehicle crew with each unit level.

Default: [0.00,0.50,0.35,0.15]

  • Element 1: Probability of Level 0 vehicle crew
  • Element 2: Probability of Level 1 vehicle crew
  • Element 3: Probability of Level 2 vehicle crew
  • Element 4: Probability of Level 3 vehicle crew
Array of numbers totalling 1.00
A3EAI_respawnTMinA Minimum time to wait in seconds before respawning an Air vehicle AI group.

Default: 300

Actual respawn time = A3EAI_respawnTMinA to A3EAI_respawnTMaxA

Respawn timer begins if one of the following conditions is met:

  1. Vehicle is destroyed
  2. Vehicle is forced to land
  3. Vehicle suffers heavy damage and crew is forced to eject
  4. Pilot is killed and crew is forced to eject
Any number
A3EAI_respawnTMaxA Minimum time to wait in seconds before respawning an Air vehicle AI group.

Default: 900

Actual respawn time = A3EAI_respawnTMinA to A3EAI_respawnTMaxA

Any number greater than A3EAI_respawnTMinA
A3EAI_heliList

List of air vehicle classnames to use, along with the maximum amount of each vehicle type to spawn.

Default:

[
     ["B_Heli_Light_01_armed_F",5],
     ["B_Heli_Transport_01_F",5]
];






Explanation and examples:

A3EAI_heliList contains an array of arrays, each containing a pair of values: a string containing the air vehicle classname, and a number specifying the maximum amount of the vehicle to make available for AI use. In the above example, there would be a maximum amount of 10 helicopters to use: 5x "B_Heli_Light_01_armed_F" and 5x"B_Heli_Transport_01_F".

If A3EAI_maxHeliPatrols was set to 5 (for example), you would have up to 5 air vehicles, randomly selected from the 10 available helicopters above. For example:

  • 1x "B_Heli_Light_01_armed_F" and 4x "B_Heli_Transport_01_F"
  • 2x "B_Heli_Light_01_armed_F" and 3x "B_Heli_Transport_01_F"
  • 3x "B_Heli_Light_01_armed_F" and 2x "B_Heli_Transport_01_F"






If A3EAI_maxHeliPatrols was set to 100 (for example), then you would be limited by the actual number of air vehicles available, and this is what would actually spawn:

  • 5x "B_Heli_Light_01_armed_F" and 5x "B_Heli_Transport_01_F"






If A3EAI_maxHeliPatrols was left at the default value of 0 (for example), then you would be limited by the maximum allowed air vehicle patrols and none will spawn.

See "Explanation and examples" section.
A3EAI_heliGunnerUnits

Maximum number of gunner units per air vehicle. Limited by actual number of available gunner positions.

Default: 2

Explanation:

This setting defines the maximum number of gunners to assign per air vehicle. For example, if a certain helicopter type has 4 gunner seats available and A3EAI_heliGunnerUnits is set to 2, only 2 of 4 gunner positions will be occupied. On the other hand, of a certain helicopter type has 2 gunner seats available and A3EAI_heliGunnerUnits is set to 4, 2 of 2 gunner positions will be occupied.

Any number
A3EAI_removeMissileWeapons

Enable to remove all missile and rocket-type weapons from all air vehicles spawned by A3EAI.

Default: true

Important: Certain helicopters carry HE (High Explosive) ammunition, which are not technically considered missiles or rockets, and will not be removed by this setting.

true, false
A3EAI_detectChance

Probability of AI air vehicles to detect any players within detection range (~275 meters) with unobstructed line-of-sight.

Default: 0.70

AI air vehicles will begin detection phase once they have arrived at a waypoint, and will continue scanning up once they leave until they have traveled more than 700m their previous waypoint. The AI vehicle will begin engaging any players detected.

Note: AI crew may detect players regardless of what this value is set if the player is sufficiently close to the vehicle. Players in vehicles are especially easy to detect even with this setting set to zero probability of detection.

Number between 0.00 - 1.00
A3EAI_paraDropChance

Probability of AI air vehicle sending down a paradrop team if at least one player is within detection range.

Default: 0.50

Notes:

  • Line-of-sight is not necessary to trigger a paradrop team deployment
  • AI air vehicles called to reinforce a Dynamic AI group will always deploy a paradrop team regardless of this setting, if a player is within detection range.
Number between 0.00 - 1.00
A3EAI_paraDropCooldown

Cooldown time in seconds between successive paradrop team deployments.

Default: 1800

Notes:

  • AI air vehicles called to reinforce a Dynamic AI group are not affected by this cooldown.
Any number
A3EAI_paraDropAmount

Size of paradrop team deployed. Limited by actual number of cargo (passenger) seats available in the vehicle.

Default: 3

Notes:

  • Paradrop team will inherit the unit level of the air vehicle crew.
Any number

Land vehicle AI settings Edit

Setting Description Acceptable Values
A3EAI_maxLandPatrols

Maximum number of active AI land vehicle patrols. Set 0 to disable land vehicle patrols.

Default: 0

Important: This setting only specifies the maximum number of land vehicle patrols. The actual number of available vehicles is determined by how many AI-usable vehicles are defined in A3EAI_vehList. If you increase A3EAI_maxLandPatrols but do not notice any increase in the actual number of AI land vehicle patrols, it is because there aren't enough quantities of vehicles defined in A3EAI_vehList.

Any number
A3EAI_levelChancesLand

Probabilities of spawning AI vehicle crew with each unit level.

Default: [0.00,0.50,0.35,0.15]

  • Element 1: Probability of Level 0 vehicle crew
  • Element 2: Probability of Level 1 vehicle crew
  • Element 3: Probability of Level 2 vehicle crew
  • Element 4: Probability of Level 3 vehicle crew
Array of numbers totalling 1.00
A3EAI_respawnTMinL Minimum time to wait in seconds before respawning a Land vehicle AI group.

Default: 300

Actual respawn time = A3EAI_respawnTMinL to A3EAI_respawnTMaxL

Respawn timer begins if one of the following conditions is met:

  1. Vehicle is destroyed.
  2. Vehicle is permanently immobilized.
Any number
A3EAI_respawnTMaxL Minimum time to wait in seconds before respawning an Air vehicle AI group.

Default: 900

Actual respawn time = A3EAI_respawnTMinL to A3EAI_respawnTMaxL

Any number greater than A3EAI_respawnTMinL
A3EAI_vehList

Classnames of land vehicle types to use, with the maximum amount of each type to spawn.

Default:

A3EAI_vehList = [

["C_Van_01_transport_EPOCH",5],
["C_Offroad_01_EPOCH",5],
["C_Hatchback_02_EPOCH",5],
["C_Hatchback_01_EPOCH",5],
["B_Truck_01_transport_EPOCH",5],
["B_Truck_01_mover_EPOCH",5],
["B_Truck_01_covered_EPOCH",5],
["B_Truck_01_box_EPOCH",5]
];

Explanation and examples:

A3EAI_vehList contains an array of arrays, each containing a pair of values: a string containing the land vehicle classname, and a number specifying the maximum amount of the vehicle to make available for AI use. In the above example, there would be a maximum amount of 40 vehicles to use.

If A3EAI_maxLandPatrols was set to 5 (for example), you would have up to 5 land vehicles, randomly selected from the 40 available vehicles above. For example:

  • 1x "C_Van_01_transport_EPOCH" and 4x "C_Offroad_01_EPOCH"
  • 1x "C_Hatchback_02_EPOCH" and 1x and "B_Truck_01_mover_EPOCH"and 2x "B_Truck_01_box_EPOCH"
  • 1x "C_Van_01_transport_EPOCH" and 1x "C_Offroad_01_EPOCH" and 1x "C_Hatchback_01_EPOCH" and 2x "B_Truck_01_covered_EPOCH"






If A3EAI_maxLandPatrols was set to 100 (for example), then you would be limited by the actual number of land vehicles available, and all of the vehicles specified in A3EAI_vehList above would spawn.

If A3EAI_vehList was left at the default value of 0 (for example), then you would be limited by the maximum allowed land vehicle patrols and none will spawn.

See "Explanation and examples" section
A3EAI_vehGunnerUnits

Maximum number of gunner units per land vehicle. Limited by actual number of available gunner positions.

Default: 2

Explanation:

This setting defines the maximum number of gunners to assign per land vehicle. For example, if a certain vehicle type has 2 gunner seats available and A3EAI_vehGunnerUnits is set to 1, only 1 of 2 gunner positions will be occupied. On the other hand, of a certain vehicle type has 1 gunner seat available and A3EAI_vehGunnerUnits is set to 4, the 1 gunner position will be occupied.

Any number
A3EAI_vehCargoUnits

Maximum number of cargo (passenger) units per air vehicle. Limited by actual number of available cargo positions.

Default: 3

Explanation: For more details, see "A3EAI_vehGunnerUnits" Explanation above.

Any number

AI air reinforcement settings Edit

Setting Description Acceptable Values
A3EAI_maxAirReinforcements

Maximum number of active air reinforcement groups at once.

Set to 0 to disable reinforcement system.

Default: 5

Any number
A3EAI_airReinforcementVehicles

List of air-type vehicles to use for air reinforcement groups

Default: ["B_Heli_Transport_01_F","B_Heli_Light_01_armed_F"]

Array of classname strings.
A3EAI_airReinforcementSpawnChance0

Probability for Level 0 AI to summon reinforcements when a group member is killed.

Default: 0.00

Number 0.00 - 1.00
A3EAI_airReinforcementSpawnChance1

Probability for Level 1 AI to summon reinforcements when a group member is killed.

Default: 0.10

Number 0.00 - 1.00
A3EAI_airReinforcementSpawnChance2

Probability for Level 2 AI to summon reinforcements when a group member is killed.

Default: 0.30

Number 0.00 - 1.00
A3EAI_airReinforcementSpawnChance3

Probability for Level 3 AI to summon reinforcements when a group member is killed.

Default: 0.50

Number 0.00 - 1.00
A3EAI_airReinforcementAllowedTypes

Types of AI able to summon reinforcements

["static","dynamic","random"]

List of acceptable AI types:

static: Static AI

dynamic: Dynamic AI

random: Random AI

air: Air vehicle patrols

land: Land vehicle patrols

staticcustom: Custom static AI

aircustom: Custom air vehicle patrols

landcustom: Custom land vehicle patrols

vehiclecrew: Crew of evacuated land/air vehicles (custom and non-custom)

Array of strings
A3EAI_airReinforcementDuration

Duration of reinforcement in seconds. After this time passes, the vehicle (if not destroyed or disabled) will disengage and leave the area to be despawned.

Default: 300

Note: Unarmed reinforcement air vehicles will only deploy a paradrop AI group and leave the area immediately, and will be unaffected by this setting.

Number

Shared vehicle AI settings Edit

Setting Description Acceptable Values
A3EAI_waypointBlacklist

List of location names of locations where AI air and land vehicle patrols cannot use as waypoints.

Default: []

Add name of location as displayed on map as a string value to prevent AI vehicle patrols from travelling to these locations. The following example will prevent Aggelochori, Panochori, and Zaros from being used as destinations for AI vehicle patrols.

Example: ["Aggelochori","Panochori","Zaros"]

Important: While AI vehicles will not use the blacklisted locations as waypoints, they may still travel through these areas and may engage any players found along the way.

Tip: Consult CfgWorlds through Editor if needed to obtain exact location names.

Array of strings

AI skill settings Edit

This section defines the individual skill settings of each unit level from 0 to 3. Format used: ["Skill", Minimum skill value, Maximum skill value]. The actual skill value for each skill type will be randomized between the defined minimum and maximum values.

For an explanation on each skill type, consult this link: https://community.bistudio.com/wiki/AI_Sub-skills

For all skill types, a low number means poor skill, while a higher number means better skill. This is somewhat counter intuitive for skills like "aimingShake": a low aimingShake skill means that the AI unit will have very unsteady aim while a high aimingShake skill means that the AI will have low weapon sway.

Important: Only use values between 0.00 and 1.00. Skill values outside this range can produce very unpredictable results. For this reason, A3EAI limits the maximum skill level to 1.00.

AI weapon type settings Edit

A3EAI categorizes weapons according to Epoch's loot table classification of weapons: Pistols, Rifles, Machine-guns, and Sniper Rifles.

Format used: [Pistol probability, Rifle probability, Machine-gun probability, Sniper Rifle probability]. Probabilities should equal to 1.00 (in order to keep them as percentages).

The settings listed below set the probability of AI to be assigned a certain type of weapon.

Note: All AI units will have a random pistol weapon added to their inventory upon death, except units that were spawned with a pistol as their primary weapon.

Setting Description Acceptable Values
A3EAI_useWeaponChance0

Sets weapon probability distribution for level 0 AI units.

Default: [0.20,0.80,0.00,0.00]

Array of numbers totaling 1.00
A3EAI_useWeaponChance1

Sets weapon probability distribution for level 1 AI units.

Default: [0.00,0.90,0.05,0.05]

Array of numbers totaling 1.00
A3EAI_useWeaponChance2

Sets weapon probability distribution for level 2 AI units.

Default: [0.00,0.80,0.10,0.10]

Array of numbers totaling 1.00
A3EAI_useWeaponChance3

Sets weapon probability distribution for level 3 AI units.

Default: [0.00,0.70,0.15,0.15]

Array of numbers totaling 1.00

AI weapon attachment settings Edit

These settings determine the probability of selecting random weapon attachments for each level AI level.

Upon generating AI loadouts, A3EAI will check the selected weapon if it has any compatible weapon attachments, then if the probability check succeeds, will add the weapon attachment.

The following attachment types may be added to AI weapons, if the attachment is available for the weapon:

  1. Optics attachment (scopes and sights).
  2. Pointer attachment (flashlights and IR pointers).
  3. Muzzle attachment (suppressors).
  4. Underbarrel attachment (bipods).


Optics attachment settings:

Setting Description Acceptable Values
A3EAI_opticsChance0

Probability to select a random optics attachment for level 0 units.

Default: 0.00

Number between 0.00 - 1.00
A3EAI_opticsChance1

Probability to select a random optics attachment for level 1 units.

Default: 0.25

Number between 0.00 - 1.00
A3EAI_opticsChance2

Probability to select a random optics attachment for level 2 units.

Default: 0.50

Number between 0.00 - 1.00
A3EAI_opticsChance3

Probability to select a random optics attachment for level 3 units.

Default: 0.75

Number between 0.00 - 1.00


Pointer attachment settings:

Setting Description Acceptable Values
A3EAI_pointerChance0

Probability to select a random pointer attachment for level 0 units.

Default: 0.00

Number between 0.00 - 1.00
A3EAI_pointerChance1

Probability to select a random pointer attachment for level 1 units.

Default: 0.25

Number between 0.00 - 1.00
A3EAI_pointerChance2

Probability to select a random pointer attachment for level 2 units.

Default: 0.50

Number between 0.00 - 1.00
A3EAI_pointerChance3

Probability to select a random pointer attachment for level 3 units.

Default: 0.75

Number between 0.00 - 1.00


Muzzle attachment settings:

Setting Description Acceptable Values
A3EAI_muzzleChance0

Probability to select a random muzzle attachment for level 0 units.

Default: 0.00

Number between 0.00 - 1.00
A3EAI_muzzleChance1

Probability to select a random muzzle attachment for level 1 units.

Default: 0.25

Number between 0.00 - 1.00
A3EAI_muzzleChance2

Probability to select a random muzzle attachment for level 2 units.

Default: 0.50

Number between 0.00 - 1.00
A3EAI_muzzleChance3

Probability to select a random muzzle attachment for level 3 units.

Default: 0.75

Number between 0.00 - 1.00

Underbarrel attachment settings:

Setting Description Acceptable Values
A3EAI_underbarrelChancee0

Probability to select a random underbarrel attachment for level 0 units.

Default: 0.00

Number between 0.00 - 1.00
A3EAI_underbarrelChance

Probability to select a random underbarrel attachment for level 1 units.

Default: 0.25

Number between 0.00 - 1.00
A3EAI_underbarrelChance2

Probability to select a random underbarrel attachment for level 2 units.

Default: 0.50

Number between 0.00 - 1.00
A3EAI_underbarrelChance3

Probability to select a random underbarrel attachment for level 3 units.

Default: 0.75

Number between 0.00 - 1.00

AI loot quantity settings Edit

Loot items are gradually added to a randomly selected unit of each AI group as time passes. Therefore, the longer amount of time that an AI group survives, the higher chance that they are carrying more and better loot items. The probability of each loot item being added to AI inventory can be configured, for more details, see the "AI loot probability settings" section further below.

Setting Description Acceptable Values
A3EAI_kryptoAmount0

Maximum amount of Krypto generated for level 0 AI upon AI death.

Default: 25

Note: Actual Krypto amount is randomized between 0 and the defined amount.

Any number
A3EAI_kryptoAmount1

Maximum amount of Krypto generated for level 1 AI upon unit death.

Default: 50

Note: Actual Krypto amount is randomized between 0 and the defined amount.

Any number
A3EAI_kryptoAmount2

Maximum amount of Krypto generated for level 2 AI upon unit death.

Default: 75

Note: Actual Krypto amount is randomized between 0 and the defined amount.

Any number
A3EAI_kryptoAmount3

Maximum amount of Krypto generated for level 3 AI upon unit death.

Default: 100

Note: Actual Krypto amount is randomized between 0 and the defined amount.

Any number
A3EAI_foodLootCount

Maximum amount of food items generated for AI group per unit.

Default: 1

Any number
A3EAI_miscLootCount1

Maximum amount of loot items generated for AI group per unit.

Default: 1

Any number
A3EAI_miscLootCount2

Maximum amount of loot items generated for AI group per unit.

Default: 1

Any number

AI loot probability settings Edit

How loot items are generated for AI units:

  1. A3EAI generates a list of loot items that the AI will eventually carry and adds it to the AI group "loot pool". If the AI group survives long enough, eventually all items from the group loot pool will be distributed to the group's units.
    1. The probability of each item being successfully added to the loot pool is determined by the probability setting for that item type. For example, A3EAI_chanceFirstAidKit will determine the chance that there will be 1 First Aid Kit added to the group loot pool for each unit in the group.
  2. Every 60 seconds (30 for Dynamic and Random-type AI), a probability check is rolled and if it succeeds, a random item is selected from the group loot pool and is transferred to a randomly selected AI unit. The chance of an item being transferred from the group loot pool is determined by the setting A3EAI_lootPullChanceX, where "X" is the AI group's level.
  3. Items will be gradually transferred from the group loot pool to the group's units until either the pool is emptied or all units of the group are killed or despawned.
Setting Description Acceptable Values
A3EAI_chanceFirstAidKit

Probability to add a single First Aid Kit to the AI group loot pool per unit.

Default: 0.20

Number between 0.00 - 1.00
A3EAI_chanceFoodLoot

Probability to add a food item to the AI group loot pool per unit.

Default: 0.40

Number between 0.00 - 1.00
A3EAI_chanceMiscLoot1

Probability to add a loot item to the AI group loot pool per unit.

Default: 0.40

Number between 0.00 - 1.00
A3EAI_chanceMiscLoot2

Probability to add a large loot item to the AI group loot pool per unit.

Default: 0.30

Number between 0.00 - 1.00
A3EAI_lootPullChance0

Probability to add a loot item from AI group pool to a randomly selected AI unit's inventory space for level 0 AI.

Default: 0.30

Number between 0.00 - 1.00
A3EAI_lootPullChance1

Probability to add a loot item from AI group pool to a randomly selected AI unit's inventory space for level 1 AI.

Default: 0.40

Number between 0.00 - 1.00
A3EAI_lootPullChance2

Probability to add a loot item from AI group pool to a randomly selected AI unit's inventory space for level 2 AI.

Default: 0.50

Number between 0.00 - 1.00
A3EAI_lootPullChance3

Probability to add a loot item from AI group pool to a randomly selected AI unit's inventory space for level 3 AI.

Default: 0.60

Number between 0.00 - 1.00

AI uniform, loot, and equipment settings Edit

These settings are responsible for the manual definition of AI-usable weapons, equipment, loot, and other items. The default classname tables are compiled from Epoch's loot tables.

Important: In order for changes to take effect, you must first disable the dynamic classname setting related to the item type you're editing. See the "Requires disabling" column to find the dynamic classname setting that must first be disabled (set to false). If the dynamic classname setting is enabled, then classnames will be retrieved from Epoch's loot tables instead.

Note: If A3EAI_dynamicWeaponList is disabled, all weapon classname tables (pistol, rifle, machinegun, sniper) must be manually defined.

Setting Description Requires disabling setting
A3EAI_uniformTypes Defines list of AI-usable uniform classnames. A3EAI_dynamicUniformList
A3EAI_pistolList Defines list of AI-usable pistol classnames. A3EAI_dynamicWeaponList
A3EAI_rifleList Defines list of AI-usable rifle classnames. A3EAI_dynamicWeaponList
A3EAI_machinegunList Defines list of AI-usable machinegun classnames. A3EAI_dynamicWeaponList
A3EAI_sniperList Defines list of AI-usable sniper rifle classnames. A3EAI_dynamicWeaponList
A3EAI_weaponOpticsList Defines list of AI-usable scope classnames. A3EAI_dynamicOpticsList
A3EAI_backpackTypes0 Defines list of AI-usable backpack classnames for level 0 AI. A3EAI_dynamicBackpackList
A3EAI_backpackTypes1 Defines list of AI-usable backpack classnames for level 1 AI. A3EAI_dynamicBackpackList
A3EAI_backpackTypes2 Defines list of AI-usable backpack classnames for level 2 AI. A3EAI_dynamicBackpackList
A3EAI_backpackTypes3 Defines list of AI-usable backpack classnames for level 3 AI. A3EAI_dynamicBackpackList
A3EAI_vestTypes0 Defines list of AI-usable vest classnames for level 0 AI. A3EAI_dynamicVestList
A3EAI_vestTypes1 Defines list of AI-usable vest classnames for level 1 AI. A3EAI_dynamicVestList
A3EAI_vestTypes2 Defines list of AI-usable vest classnames for level 2 AI. A3EAI_dynamicVestList
A3EAI_vestTypes3 Defines list of AI-usable vest classnames for level 3 AI. A3EAI_dynamicVestList
A3EAI_headgearTypes Defines list of AI-usable headgear classnames. A3EAI_dynamicHeadgearList
A3EAI_foodLoot Defines list of food items. A3EAI_dynamicFoodList
A3EAI_MiscLoot1 Defines list of loot items. A3EAI_dynamicLootList
A3EAI_MiscLoot2 Defines list of large loot items. A3EAI_dynamicLootLargeList