Jump to content

Recommended Posts

AI enhancement mod for Arma3.

Download link: ASR AI3 v1.1.9

Mirrors: Armaholic, PWS, Steam

Older versions can be found here: https://github.com/robalo/mods/releases
This mod requires latest CBA.

To install, extract userconfig from the archive into your main Arma 3 directory, extract @ASR_AI3 into your favorite mod folder location (usually same place, main Arma 3 directory).

Issue tracker on GitHub

It was primarily developed with dedicated server / coop gameplay in mind, although it works well for single player use.
I have played both campaign episodes with zero issues having this mod enabled (in fact, I probably would not have played them at all otherwise).

For best experience, install the mod on server and all clients connecting to it, headless or not.

 

Feature Summary

 

main
- common functions and definitions, required by all other components

cfgammo
- config tweaks for increased projectile and explosion detection range
- allow low level rockets to be used by infantry against aircraft and infantry

cfgweapons
- tweaks configs for weapon shooting by AI to make them appear more human-like
- consistent dispersion coefficients
- rate of fire based on engagement range
- weapon and fire mode selection
- variable, randomized bursts of automatic fire

control
- option to disable stamina for AI in player's group
- option to become group leader after using teamswitch to control another playable unit
- hot key for AI to follow player stance
- hot key for AI to hold fire until player fires

danger
- adds various reactions on danger events
- share target info with near groups on contact
- use near vehicle and static weapons when available
- move to cover
- search or take cover inside buildings
- lay down to shoot when there is no cover
- machinegunners shoot more bullets at the enemy
- units unable to find any cover near get suppressed faster (then throw smoke)

greenrico
- adds groups of SF units to Greek army faction

hitreactions
- adds some reactions and effects to units when they're hit
- maximum suppression when hit
- fall when hit
- move to cover
- use first aid kits when it's safe
- killed or injured units get out of static weapons

incognito
- adaptation of Rydygier's incognito
- makes units harder to identify as enemies based on few conditions
- carrying and using a weapon
- traveling inside a civilian or allied faction vehicle
- movement stance and speed
- time of day
- line of sight

rearming
- units check if they have enough primary ammo and first aid kits
- automatically rearm from near containers vehicles, bodies or backpacks of AI teammates when needed

skills
- tweaks cfgAISkill interpolation for aiming and spotting
- unit camouflage (detectability) is based on actual gear (uniform, vest, ruck and launcher)
- advanced skill settings (see more below)
- wear NVG on head only when needed
- reduced reporting spam (unknowns no longer called)
- foot units less audible
- more likely to crouch in combat
- harder to be seen in the dark



Advanced skill settings

The units skills are automatically configured based on their unit type, faction and the settings that can be changed in the userconfig. The skills are randomized but
given in between a minimum and a maximum value based on the skill level each unit is assigned in. This way you can have regular unit better then guerilla but spec ops
or snipers a lot better then all so you're able to customize but also keep the diversity. You can configure for each unit class values for their aiming, spotting and general
skills. You can also apply global coefficients per faction. The skills are applied after the start of the mission for present units or for any units that may spawn in
later.

 

 

F.A.Q.

Q: Should I install this mod on servers, clients, both ? What about headless clients ?
A: For this mod to work 100% as designed since v1.0.0 it has to be installed everywhere.

Q: Where do I put all these files ?
A: Add the @ASR_AI3 dir to your mod collection (directory of choice, can be main Arma 3 dir or another place you load mods from); The userconfig files should always be placed into <main Arma 3 dir>\userconfig\asr_ai3\; The bikey file is required only for hosting a MP game, goes into <main Arma 3 dir>\keys. Always make sure to do a clean install, removing any files from previous versions.
 

Q: My settings in  <arma3>\userconfig\asr_ai3\asr_ai3_config.sqf are ignored.

A: Launch the game with file patching enabled (tick the option in the official launcher or add -filePatching to command line parameters). This is only required in single player or on servers (not required on clients connecting to a multiplayer game).

 

Q: How does one manage dedicated server settings ?
A: There are 2 types of settings:

 

1. Server side skill related settings
- Modify settings in <arma3>\userconfig\asr_ai3\asr_ai3_config.sqf
- The parameters that can be modified here are: asr_ai3_skills_sets, asr_ai3_skills_levels_units, asr_ai3_skills_factions

2. Other settings
- Make sure latest CBA and ASR AI3 are active on the admin's client computer
- Log in on the dedicated server as admin
- Start a mission
- Press Escape -> CONFIGURE -> GAME -> CONFIGURE ADDONS -> SERVER
- When done, click on SAVE. This will allow saving an existing preset or creating a new one.
- These settings will be saved in the server's profile namespace and they will be reused automatically after server restarts

 

Q: Why are there 2 files in userconfig ? Do I need them ?
A: In MP, the configuration is loaded on the server into a public variable and sent to all connecting clients so that server settings are always enforced. Some settings are only applicable on servers so they were split into a separate file (ends with _ss - server side) because it would be a waste of traffic to send those to clients that don't need them. All these files are required for servers and single player games.
See change notes for 0.9.30.

 

License
APL-SA.png
I do not demand any express permission request but it would be nice to know when someone is enhancing it so I can maybe use that as well per licensing terms.

Changes

 

1.1.9
Have you even noticed after teamswitch the unit left in place often fucks off to some cover spot, not responding to any commands ?
With added fun when you were in a high tower before switching to another unit ?
This version has a fix for that (need more testing to confirm it's 100% gone).
Some other changes:
- ammo detection tweaks
- vehicle dispersion adjustments
- copy my stance works only for nearby teammates
- stay up when player in vehicle on copy my stance, faster mounting
- add some nasty temporary weapon sway to falling units
- bunch of code performance improvements, making sure some loops exit when they should
- improve the unfreeze unit command (the one that has a shortcut key in control settings)
- tweak the aiming and spotting skill interpolation curves

 

1.1.8

[cfgammo][config]
- (mod) detection tweaks, increased distances
[cfgweapons][config]
- (mod) decrease AI dispersion coefficients for vehicle weapons
[hitreactions][script]
- (fix) units fall and get suppressed again when hit

 

1.1.7

This version integrates Pooter's enhanced ASR AI as optional features among other things.

[settings]
- (mod) in-game settings organized with subcategories
[main][script]
- (mod) automatically exclude civilian factions (contributed by 654wak654, thanks!)
[cfgammo][config]
- (mod) detection tweaks, tracers more visible to AI than non-tracers
- (mod) use HE ammo for Vorona and MRAWS against infantry and vehicles
[cfgweapons][config]
- (mod) update class relationship to match with 1.82
- (mod) use variable full auto burst lengths for SMGs
[control][config]
- (mod) adjust gear actions to show before the take actions (which can clutter commanding menus a lot)
[control][script]
- (mod) copy my stance can be used for selected units (defaults to all when none selected)
- (mod) remove stamina handling completely
- (add) shortcut keys to toggle AI flashlights and lasers - works under certain conditions (MRT compatible)
- (add) shortcut key to attempt to unfreeze AI units in team
[danger][script]
- (add) advanced cover and counter-attack from Raptoer/Pooter's fork (thanks!)
- (mod) removed unneeded setvariable flags
[hitreactions][script]
- (mod) optionally keep AI inside immobile vehicles with working weapons (by Raptoer, thanks again!)
[skills][config]
- (mod) support tanks DLC for dynamic camouflage
- (mod) minor spotting skill decrease
[skills][script]
- (mod) performance optimisation for dynamic camo (contributed by Dedmen, thanks!)
 

1.1.6
This version splits the main addon into several independent modules, making it easier to maintain but also
easier on user side when it comes to modifying, mixing with other mods or other experiments.

[config]
- (mod) config support for new tacops dlc assets (units, uniforms)
- (mod) update ammo configs for compatibility with patch 1.78
- (mod) random bursts for automatic fire modes (use burstRangeMax)
[script]
- (mod) performance optimisation
- (mod) shared target info accuracy depends on sender's commanding skill
- (mod) can reset team super AI option after mission start with immediate effect
[settings]
- (mod) variables changed in userconfig

 

1.1.5
[config]
- (mod) make dispersion coefs vary with optic types again
- (mod) match explosive detection skills of green recon with post-LoW vanilla
- (mod) slight spotting distance increase overall
[script]
- (mod) re-add: dead units detach from static weapons
- (mod) auto-disable random fall when hit if ACE3 hitreactions used
- (mod) auto-disable AI self-heal if ACE3 medical used
- (add) option for team superAI
[settings]
- (mod) add CIV_IDAP_F to skipped factions in default userconfig

 

1.1.4

[config]
- (mod) reduced grenade usage and accuracy
- (add) camouflage settings for LOW DLC gear
[script]
- (fix) incognito settings had player setCaptive false on init
- (mod) removed killed event handler (no longer reduces morale)
- (mod) removed damage eh which ejected dead units from static weapons (fixed in vanilla)

 

1.1.3

[config]
- (mod) hearing range of passing bullets, grenade and hi-caliber hits decreased
- (mod) fix AI preference for using binocs in close battles
[script]
- (mod) disable leader sending units to attack on groups of less than 6

 

1.1.2

[config]
- (mod) reduce grenade usage and accuracy
[script]
- (mod) keep units closer to leader on moving to cover
[settings]
- (mod) bump general skills in userconfig defaults

 

1.1.1

[script]
- (mod) fix typo in NVG script (thanks dystopian1 for reporting)
[settings]
- (mod) incognito mode disabled by default

 

1.1.0

[config]
- (mod) slight decrease in ammo hit/pass detection range
- (mod) minor decrease of camo penalty for backpacks (lower coefficient)
- (mod) reduce use of handguns in favor of primary weapon use
- (mod) tweaks for full/burst rate of fire, weapon/mode selection, engagement ranges
- (mod) reduce default AI aiming speed
- (rem) remove all unit cost tweaks
[scripting]
- (new) integrated Incognito by Rydygier (single player only for now)
- (new) wounded AI patch themselves once they think it's clear
- (rem) no longer take away eyewear at night
- (mod) don't try to equip NVG if already wearing NV helmet
- (mod) improve times for unequipping/reusing NVGs by AI
- (mod) prevent AI from jumping into vehicle person turrets
- (mod) prevent teammate AI from going prone with no weapons when using copy my stance (they'd get stuck)
- (mod) remove hints from "fire on my shot" commands
- (mod) prevent sending units to cover or searching buildings when they have HOLD type waypoint
- (mod) carrying a big launcher affects camouflage (bigger stick more visible to AI)
[settings]
- (new) in-game option to disable stamina handling completely
- (new) in-game settings for Incognito
- (mod) tweak userconfig defaults

 

1.0.0
[config]
- (new) updated green recon units (sof groups for green army)
- (new) remove reporting of "unknown contact"
- (new) full auto bursts can be interrupted (requires 1.66+)
- (new) custom camouflage coefficients added for uniform, vest and backpacks
- (mod) per unit camouflage values set to a unique base value on which the dynamic camo coef will be applied
- (mod) ammo config tweaked so shots are heard at longer distances
- (mod) reworked handheld automatic weapons shooting - slightly shorter bursts but increased intensity
- (mod) increase AI rate of fire for single shots
- (mod) reduce chance of switching to handguns
[scripting]
- (new) camouflage depends on actual items soldiers are wearing (uniform, vest and backpack)
- (new) can set team to hold fire until I (or another when forced to) shoot with configurable keybind
- (new) units inside vehicles can report contacts to near groups too
- (new) vehicle gunners may keep manning their weapons even after their vehicle was immobilized
- (rem) removed scripted shot detection for performance reasons in favor of config level detection
- (rem) removed loners joining other groups
- (rem) removed limping units dismissed from their group
- (mod) spend less time stationary while shooting
- (mod) removed AI teammate speed limiting (potential cause for them getting stuck in place)
- (mod) vehicles with ammo cookoff not good for cover (ACE)
- (mod) added a few more falling animations (credit: tpw)
- (mod) suppression effect for AI when taking hits so they no longer shoot back so accurately
- (mod) units caught in the open may throw smoke in panic
- (mod) improve units following/regrouping on leader after moving to cover
- (mod) prevent units from same side occupying same house position at a time
- (mod) re-equip nvg earlier (no longer wait till completely dark)
- (mod) medic check uses getUnitTrait
- (mod) a great deal of code optimisation
[settings]
- (new) debug dynamic camouflage into RPT
- (mod) default radioing range extended to 700m
- (mod) allow up to 10 minute delays on radio reporting
- (mod) tweaked default skills in userconfig; meant for regular difficulty (skill 0.7, precision 0.5)
 

0.9.34
- engagement ranges extended for non-zoomed sights (experimental change in cfgweapons)
- handle hits on static weapons - units fall out of them when shot or things blow up nearby
- fix bug causing units to remain in prone position
- when copy my stance is enabled and player is moving slowly, following units will also slow down
- units in static weapons fall out of them when killed (so they can be looted)
- in single player games scripted reactions to danger are skipped if player not the cause and farther than 2000m
 

0.9.33
- fix bug in finding cover which could get groups stuck in place
- shot hearing and radioing range defaults decreased a bit
- units slightly harder to be heard and spot at night
- fire rate for semi auto slightly increased
- aiming speed and spotting increased back by a little
- disable goofy hand signals if laying down when enemy detected
- go prone when engaging distant units and there is no cover
- minor code optimisation
 

0.9.32
- renamed settings file in userconfig to asr_ai3_config.sqf
- ammo tweaked to improve detection
- hearing aid enabled by default to further improve shot detection
- fire modes and rate of fire tweaked
- reduced spotting skills a bit
- units may fall when hit (based on tmr_hiteffects)
- allow rearming in combat if empty
- extended cover search distance a bit
- can now exclude units by faction by adding them into asr_ai3_main_skip_factions (userconfig)
- improved odds of using houses
 

0.9.31

- updated configs for Arma3 v1.64
- fix AK12 fire modes
- separate debugging options
- split ammo, vehicle, weapon configs into separate addons
 

0.9.30
- configs updated for new 1.62/APEX content
- added config fix to prevent this from becoming dependency when editing
- tweaked configs for shot detection; scripted fired event handler disabled by default
- tweaked detection related config parameters (AI was too good at detecting things in the jungle)
- reduced aiming abilities for lower skilled units
- removed shooting stance tweaks (were slowing down unit moves too much)
- improved code (made a bit prettier and more efficient using newer sqf syntax and commands)
- improve debug logging by tagging each line in RPT
- settings overhauled; moved most user configurable options to the CBA settings framework (in game)
- asr_ai3_settings.sqf no longer used
- these settings can't be set in game and remain configurable by editing asr_ai3_settings_ss.sqf: asr_ai3_main_sets, asr_ai3_main_levels_units, asr_ai3_main_factions
- added options for radioing delays (prevent enemy calling your position to ther groups by shooting leader in less than x time since detected)
- added options for how many mags and first aid kits units are trying to maintain (rearming)
- allowed changing settings on the fly using in game settings dialogue (rearming for example)
 

0.9.29
- updated configs for Arma3 1.60
- fix author related error message
- UAV_AI units have max skill by default
- remove CAManBase::{audible,spotableDarkNightLightsOff,spotableNightLightsOff}, cfgAISkill::spotDistance tweaks in favor to updated vanilla settings; may need to re-evaluate and tweak these again.
- minor tweaks to userconfig defaults
- allow usage of base classes in class level overrides; Example: asr_ai3_main_levels_units[10] pushBack "B_Soldier_sniper_base_F";
 

0.9.28
- configs updated for 1.56
- audiblefire tweaks for ammo
- sensitivity parameters removed
- optimisation using params
- prevent AI in player groups from jumping into weapons on their own
- decrease morale faster when losing team members
- raise reaction to danger helper limit from twice to thrice per minute per unit
- units will not mount near weapons if suppressed (under heavy fire)
- suppressed units move between house positions a lot slower
- fail loading userconfig settings gracefully when filepatching is not enabled (warn in RPT)
- copy my stance now disabled by default but can be toggled with configurable key (controls -> configure addons)
- default aiming skills tweaked
- fix NVG handling by AI only done at startup (now properly reuse them when it gets dark)
 

0.9.27
- AI copy stance of player group leader
- very small tweak for detection of soldier (slightly harder to detect)
- use time instead of diag_ticktime for various interval checks
- rearming checks for ACE3 bandages instead of vanilla first aid kits if ace medical is used

0.9.26
- tweaked audio signature and night visibility for soldiers (harder to spot/hear, works better for stealth)
- queue unit initialization - instead of running unit's init code directly, now unit is just added to a queue which is then processed sequentially at regular intervals; eliminates any load spikes resulting from spawning multiple units at once
- some tiny aiming and spotting rebalance tweaks
- danger.fsm tweaks: some optimisation; allow vehicle crews to send target info to nearby groups
- removed dynamic server view distance adjustment
- overall code optimisation/reorganisation; reduced number of loops
- removed some unnecessary broadcast from server to clients

0.9.25
- tweaks to react faster to seeing/hearing enemies
- moving to cover code optimization
- removed smoke usage (was a bit buggy and it will be in game by default soon)
- AI were trained to visit building positions more often
- disabled fatigue for AI in player group by default (can be changed in userconfig)

0.9.24
- improved weapon shot detection; better detection overall; depends on weapon/ammo and environment conditions (forest,houses,wind,rain,night).
- tweaked hearing (no more spiderman senses)
- tweaked visibility at night (no more cat eye vision)
- radioing delay reduced a bit (now takes 5 to 10 sec to transmit, taking groups out quickly is recommended)
- various minor tweaks and code optimisation

0.9.23
- AI got new hearing implants so they can now detect gunshots better
- ammo audibleFire tweaks (lower overall, subsonic a lot less detectable)
- reduced aimingSpeed slightly (AI coming around the corner shooting at you are less ninja)
- updated RHS muzzle classes for throwing smoke support
- civilians were told to stop looting

0.9.22
- moved preinit and postinit from cfgFunctions to XEH

0.9.21
- ammo config tweaked for audability/danger detection
- tweaked AI configs for mark dlc units
- removed firedEH script in favor of engine/config based detection
- added simple AI rearming
- detection of unconsciousness for various revive systems
- increased accuracy defaults in userconfig (better aiming)

0.9.20
- fix full auto mode missing on a couple Mark DLC weapons
- fix a case where searching for cover could lead to FPS loss
- moved asr_ai3_main_onteamswitch setting to asr_ai3_settings.sqf so it can be set by server
- AI rate of fire tweaks for SMGs (aiRateOfFireDispersion)
- minor code optimisation

0.9.19
- tweaked suppression in ammo config; overall larger radius for bullet detection and smaller radius for suppression
- added config tweaks for Mark DLC content
- reduced AI dispersion coefficients to counter for factors which in latest game builds quickly degrade AI's accuracy (suppression, fatigue etc.)
- tweaked AI rate of fire using aiRateOfFireDispersion so they sound more like humans shooting
- tweaked suppressor AmmoCoef so they're hiding the shooter from AI a bit better
- removed 'dayscope' feature; too much trouble to maintain and had special requirements
- preinit and postinit code moved to cfgFunctions
- asr_ai3_main_radiorange is now the single userconfig setting for inter-group info sharing (set to 0 to disable feature or a positive number to define range in meters for comms)
- sync object view distance on dedicated and HC dynamically along with viewdistance (since object distance is now what matters for AI vision)
- removed hearing aids for bullet detection from fired EH since this is now better handled by the engine
- improvements for AI mounting weapons: don't go into locked vehicles; don't go into tanks; replace dead gunners; get out when out of ammo or after 5 to 10 minutes
- general subskill no longer modified ("general" in userconfig modifies only these: "courage","reloadSpeed","commanding")
- defaults in userconfig changed, make sure to update them too
- added teamswitch handler: enables fatigue for player and disables it for AI in his group; makes current player-controlled unit group leader; lets AI keep up with the player and prevents AI from giving stupid orders

0.9.18
- minor userconfig defaults tweaking
- tweaked AI coefficients for suppressors: visibleFire 0.5 -> 0.1, audibleFire 0.3 -> 0.5
- updated danger.fsm for patch 1.40 compatibility (still works fine with 1.38)
- prioritize hit event in danger.fsm (canfire was top, now it's second)
- no smoke for Zeus controlled units
- reduce smoke spam

0.9.17
- bugfix for player auto smoke
- minor tweaks

0.9.16
- removed scripted reactions involving waypoints; this mod does not set any wp under any circumstances
- cleaned up some unused code and further optimised what was left
- fired EH exits when fps < 40
- added safety measures against broken/outdated weapon configs (missing properly defined sound entries)
- allow AI in player's group to pop smoke and move to cover when hit
- fix checking for DAC caching (to disable group merging when found)
- skills are now applied without any delays when units are created
- disabled using smoke for moving to cover (was buggy and ofthen lead to AI giving up their positions)
- execute setskill only on server (in anticipation of patch 1.40 which should fix setskill behavior)
- fix dayscope feature not beinf able to be turned off from userconfig; made off by default
- use setunitpos for shooting stance instead of setunitposweak

0.9.15
- userconfig settings are now made of 2 files: asr_ai3_settings.sqf and asr_ai3_settings_ss.sqf; server-side only settings were moved to the _ss file.
They don't need to be sent to clients so this saves traffic. Only the variables from asr_ai3_settings.sqf are broadcasted.
- asr_ai3_main_reactions is now 1/0 (on/off)
- added asr_ai3_main_getinweapons setting (0 to 1) to configure AI mounting empty static and vehicle weapons
- lower accuracy for civilians so they're easier to identify, to prevent AI reporting them as soldiers
- adjustments in danger fsm so that AI reacts faster after detecting enemy
- slightly faster target sharing (8 - 24 sec)
- reworked reactions; more likely to mount available weapons; based on near enemy strength evaluation, reinforce near friendlies, search and destroy or hide in houses.
- house positions used by subordinates only when house selected as cover
- improved JSRS3 mod fix for AI hearing aid
- movetocover function tweaks

0.9.14
- combined all configs and scripts into a single addon (make sure to remove old files before updating)
- rate of fire tweaks
- snipers and machinegunners lay down more when shooting
- shot detection adapted to work with DragonFyre sound mod
- enter combat mode immediately when hit
- prevent group merging with UCD caching
- skills assigned automatically on AI owner machines only
- userconfig changed to sqf and loaded only on servers (or single player)
- all user configurable settings loaded from server now, without exceptions (thanks jaynus!)
- lots of adjustments, optimisation

0.9.13
- tweaked camouflage settings for units (values: 0.5, 1, 1.5, 2 - from snipers in ghillies to plain clothes); BIS, why are these settings done on units and not on uniform/vest configs ?!
- new setskill execution option: 2 - new default, execute setskill everywhere (with server settings), 1 - server only, 0 - disabled
- minor code optimisation
- slightly tweaked userconfig defaults

0.9.12
- defaults tweaked, minor changes:
-- less smoke
-- reduced gunshot hearing coef to compensate to sound level increase in 1.36
-- reduced spotting skills for all unit types except snipers
-- overall skill decrease by adjusting faction coefficients; added faction coef macro to tidy up the config
- removed visibleFire ammo parameters
- increase maximum engagement ranges a bit
- server executes setskill for all AI on all machines
- no longer except group leaders from entering houses (means single units can now do that too)
- prevent from getting busy units assigned new waypoints (for scripted reactions)
- units with hold wp no longer sent to seek cover or get into buildings
- NVS and TWS properly used now (set as opticType = 1 to enable longer engagements)
- day scopes are now less useful at night for AI - they're used as CQB sights (requires ASDG JointRails to work, vanilla sights are auto-replaced at night with opticType = 0 sights)
- add support for smoke shells from BWA3 and RHS mods

0.9.11
- update class inheritances for patch 1.32
- optimize array operations using pushBack
- soldiers respond much more aggressively to known targets
- can now use near building positions when looking for cover
- reuse already known good near cover spots (performance tweak)

0.9.10
- made AI happier about throwing frags
- added configs for ammo detectability - increased audiblefire overall, tracers are more visible than not-tracers
- allow AI to fire RPGs at helicopters
- reduce the range for which full-auto fire is used with regular weapons at close
- reset max values in cfgaiskill to 1 (skills over 1 proved not to work well)
- increase soldier costs overall so they are more interesting targets, esp. to vehicles
- stripped off code which allowed this to apply to civs; stick to affecting soldier units only
- removed skill reduction hit effects; there were engine improvements about this so it should no longer be required; best to use TMR hiteffects or TPW mods for fall effects instead
- improve performance of server-side viewdistance calculation by using sunormoon instead of the sun elevation function
- shot detection tweaked to work better with the ammo audible values and properly detect suppressors when using joint muzzles; note change of userconfig default coefficient value
- slight reduction in morale applied on remaining group units every time a teammate is killed
- house usage tweaks - this still needs more attention
- AI will now automatically store their NVG into their vest/rucksack during the day, then re-equip them when it's dark. When they will also hide their sunglasses :)
- after closing the gear interface for equipping an AI unit, they will now automatically switch to their rifle; useful when changing their primary weapon and they carry sidearms.

0.9.9
- increased chances of AI throwing frag grenades (but from a safer minimum distance)
- high skill AI (skill over 0.8) have better accuracy
- updated config class inheritances for 1.26 update
- run dedicated view distance adjustments every minute (was 30sec)
- report viewdistance, sun elevation and server FPS to RPT (on dedicated server) when debug is enabled in userconfig under sysaiskill (and dynsvd = 1)
- skip "go to cover" code in sysaiskill entirely when sysdanger pbo is missing or sysdanger is disabled in userconfig

0.9.8
-userconfig structure changed (for better security) - you need to apply your customization using the new asr_ai3_settings.hpp provided
- remove obsolete fire mode config for muzzle devices ('bootcamp' update)
- slightly reduced range for when automatic fire is preferred for regular rifles in favor of semi-auto fire
- adjusted range and rate of fire configs for sniper rifles
- added small routine to force regrouping after moving to cover
- changed global exclude variable name "asr_ai_exclude" - set this to true for units which you want to be excluded from the scripted features
- prevent scripted reactions from being triggered on GAIA controlled units
- do not activate group merging feature when the Alive profile system is detected (not sure if there was even any conflict but to be on the safe side)
- group merging now supports a configurable limit (try to join another group when left with less or equal than x members, default x=2)
- slightly reduce smoke usage
- a lot of internal code reorganization and optimization
- fix gunshot hearing to work with latest 'bootcamp' patch (because sound configs were moved)


0.9.3
- improved Zeus compatibility. Note: game master must be running ASR AI3.
- allow danger.fsm improvements to be executed on clients.
- reduced default smoke usage when hit (can still be tweaked in userconfig further).
- group to group target sharing was not functional, fixed that.
- minor code improvements.

0.9.2
- improved AI smoke throwing
- allow AI to throw smoke when wounded
- minor code fixes/optimization

0.9.1
- aiming skill increased slightly in CfgAISkill
- CTRG units are now SF (skill level 2)
- reworked reactions to danger
- userconfig defaults changed: radiorange from 400 to 500, throwsmoke from 0.5 to 0.8, gunshothearing from 0.8 to 1.2; will increase awareness and smoke usage


0.9.0
- dispersion coefficients reduced
- aiming default skills increased in userconfig
- minor rate of fire tweaks
- better helicopter spotting (increased sensitivity)
- improved selection of cover objects
- minor code improvements
- requires 1.14
 


 


Extras

Green Recon - Adds 6 man Greek Recon Team. No dependencies.(merged into main mod)

AI Configs for third party addons - be aware they might be out of date at times.

RHS 0.4.8 https://github.com/robalo/mods/releases/download/rhs048/asr_ai3_rhs_048.zip

BWA3 1.5.1 https://github.com/robalo/mods/releases/download/bwmod151/asr_ai3_bwa3_151_config.zip

Spec4Gear 4.6.1 https://github.com/robalo/mods/releases/download/spec4gear461/asr_ai3_spec4gear_461_config.zip

Military Gear Pack 1.7.1 https://github.com/robalo/mods/releases/download/milgp171/asr_ai3_milgp_171_config.zip

Project Opfor 0.2.4 https://github.com/robalo/mods/releases/download/popfor024/asr_ai3_popfor_024_config.zip

  • Like 16
  • Thanks 4

Share this post


Link to post
Share on other sites

Great to see this "official"

Thanks Robalo.. your biggest fan probably :)

Here's the config we use with individual units configured

/*
ASR AI3 settings
this file must be found in <game folder>\userconfig\asr_ai3\
for most settings, 1 = disabled, 1 = enabled

All config entries are turned into global variables following a standard naming scheme. For example:
asr_ai3_skillsets_nightspotting = getNumber (configFile >> "asr_ai3" >> "skillsets" >> "nightspotting")
Mission makers can control these features by setting these global variables in init.sqf or by setting
a similar asr_ai3 class in description.ext
*/

class asr_ai3 {

class sysdanger {
	enabled = 0;                   // All the other settings of this class matter only if we have 1 here
	debug = 0;                     // Log extra debugging info to RPT, create debug markers and hints (1-enabled, 0-disabled)
	civ = 0;                       // Enable features for civilian units
	radionet = 1;                  // AI groups share known enemy locations over radio
	radiorange = 500;              // Maximum range for AI radios
	seekcover = 1;                 // Set to 1 if AI should move to near cover in combat when they're exposed in the open, 0 to disable.
	throwsmoke = 0.8;              // AI throws smoke when advancing to cover (set 0 to disable or a number up to 1 to enable, higher number means better chance to do it)
	reactions[] = {1,1,1};         // Infantry groups will randomly react with basic, scripted, random actions, to detecting the enemy or being shot at;
	                               // format: {enableAttack,enableDefend,enableSupport}
	gunshothearing = 0.8;          // Gunshot hearing range coefficient (applied to shooter's weapon sound range; 0 will disable the feature)
	joinlastunit = 1;              // Groups left with only one unit merge with nearest group of the same faction (1-enabled, 0-disabled)
	removegimps = 300;             // Units unable to walk for this time will separate from their group to prevent slowing it down (time in seconds, set 0 to disable)
	usebuildings = 0.9;            // Chance the AI group will enter nearby buildings when in combat mode (0 to 1 values, 0 will disable the feature)
};

class sysaiskill {
	enabled = 1;                   // Override AI skills based on their unit type (faction, training etc.)
	hitcoef = 0.33;                // Reduce skills when unit is hit; for example if hitcoef = 0.75, each skill value will be reduced to 75%
	                               // With each hit, unit's skills will be reduced until a minimum value of 0.1 is reached; to disable this feature, set hitcoef = 1;
	debug = 0;                     // Log skill assignments to RPT (1-enabled, 0-disabled)
	civ = 1;                       // Enable skill overrides for civilians
	dynsvd = 1;                    // Enable dynamic viewdistance adjustment based on sun elevation and fog thickness on dedicated servers and headless clients

	/*
	Units are classified into skill sets between 1 and 10
	By default, a lower level number means a better skilled unit
	Levels 8-10 are special:
	 - 8-9 are for pilots, very good by default, but some of their skills are now automatically reduced when they leave the aircraft (aimingshake, courage)
	 - 10 is for trained snipers
	*/
	class sets {
		// only classes of arrays under this
		class level_0 { // super-AI (only used for testing)
			aiming[]   = {1.00, 0.00};
			spotting[] = {1.00, 0.00};
			general[]  = {1.00, 0.00};
			units[] = { // add class names to this to override their default (or inherited) skill set
			};
		};
		class level_1 { // sf 1
			aiming[]   = {0.50, 0.20}; // skilltype = {<min value>, <random value added to min>};
			spotting[] = {0.70, 0.20};
			general[]  = {0.80, 0.20};
			units[] = {
			};
		};
		class level_2 { // sf 2
			aiming[]   = {0.40, 0.20};
			spotting[] = {0.60, 0.20};
			general[]  = {0.70, 0.20};
			units[] = {
				"O_recon_F","O_recon_M_F","O_recon_LAT_F","O_recon_medic_F","O_recon_exp_F","O_recon_JTAC_F","O_recon_TL_F","O_mas_afr_rusadv1_F","O_mas_afr_rusadv2_F","O_mas_afr_rusadv3_F"
			};
		};
		class level_3 { // regular 1
			aiming[]   = {0.20, 0.20};
			spotting[] = {0.40, 0.20};
			general[]  = {0.60, 0.20};
			units[] = {
				"I_Soldier_M_F","I_Spotter_F","O_soldier_M_F","O_spotter_F","DRI_Marksman","CAF_AG_ME_SVD"
			};
		};
		class level_4 { // regular 2
			aiming[]   = {0.15, 0.20};
			spotting[] = {0.30, 0.20};
			general[]  = {0.60, 0.20};
			units[] = {
				"I_Soldier_F","I_soldier_exp_F","I_Soldier_GL_F","I_soldier_repair_F","I_Soldier_LAT_F","I_Soldier_AR_F","I_Soldier_lite_F","I_Soldier_A_F","I_Soldier_SL_F","I_Soldier_TL_F","I_Soldier_AT_F","I_Soldier_AA_F","I_medic_F","I_engineer_F","I_crew_F","I_officer_F","I_diver_F","I_diver_exp_F","I_diver_TL_F","I_Soldier_AAR_F","I_Soldier_AAT_F","I_Soldier_AAA_F","O_Soldier_F","O_Soldier_lite_F","O_Soldier_GL_F","O_Soldier_AR_F","O_Soldier_SL_F","O_Soldier_TL_F","O_Soldier_LAT_F","O_medic_F","O_soldier_repair_F","O_soldier_exp_F","O_diver_F","O_diver_TL_F","O_diver_exp_F","O_Soldier_A_F","O_Soldier_AT_F","O_Soldier_AA_F","O_engineer_F","O_crew_F","O_officer_F","O_Soldier_AAR_F","O_Soldier_AAT_F","O_Soldier_AAA_F","I_mas_afr_recon_F","I_mas_afr_recon_AR_F","I_mas_afr_recon_LAT_F","I_mas_afr_recon_LAA_F","I_mas_afr_recon_exp_F","I_mas_afr_recon_medic_F","I_mas_afr_recon_TL_F","I_mas_afr_recon_M_F","I_mas_afr_recon_JTAC_F","DRI_SquadLeader"
			};
		};
		class level_5 { // militia or trained insurgents, former regulars
			aiming[]   = {0.10, 0.20};
			spotting[] = {0.20, 0.20};
			general[]  = {0.60, 0.20};
			units[] = {
"I_mas_afr_Soldier_F","I_mas_afr_Soldier_GL_F","I_mas_afr_soldier_AR_F","I_mas_afr_soldier_MG_F","I_mas_afr_Soldier_lite_F","I_mas_afr_Soldier_off_F","I_mas_afr_Soldier_off_Fn","I_mas_afr_Soldier_SL_F","I_mas_afr_Soldier_TL_F","I_mas_afr_soldier_M_F","I_mas_afr_soldier_LAT_F","I_mas_afr_soldier_LAA_F","I_mas_afr_medic_F","I_mas_afr_soldier_repair_F","I_mas_afr_soldier_exp_F","O_mas_afr_Soldier_F","O_mas_afr_Soldier_GL_F","O_mas_afr_soldier_AR_F","O_mas_afr_soldier_MG_F","O_mas_afr_Soldier_lite_F","O_mas_afr_Soldier_off_F","O_mas_afr_Soldier_SL_F","O_mas_afr_Soldier_TL_Fn","O_mas_afr_soldier_M_F","O_mas_afr_soldier_LAT_F","O_mas_afr_soldier_LAA_F","O_mas_afr_medic_F","O_mas_afr_soldier_repair_F","O_mas_afr_soldier_exp_F","O_mas_afr_recon_F","O_mas_afr_recon_LAT_F","O_mas_afr_recon_LAA_F","O_mas_afr_recon_exp_F","O_mas_afr_recon_medic_F","O_mas_afr_recon_TL_F","O_mas_afr_recon_AR_F","O_mas_afr_recon_M_F","O_mas_afr_recon_JTAC_F","O_mas_afr_Rebel1_F","O_mas_afr_Rebel2_F","O_mas_afr_Rebel3_F","O_mas_afr_Rebel4_F","O_mas_afr_Rebel5_F","O_mas_afr_Rebel6_F","O_mas_afr_Rebel6a_F","O_mas_afr_Rebel7_F","O_mas_afr_Rebel8_F","O_mas_afr_Rebel8a_F","DRI_Rifleman","DRI_MachineGunner","DRI_AutomaticRifleman","DRI_Grenadier","DRI_ATSoldier","DRI_RPG7Soldier","DRI_AASoldier","DRI_Medic","DRI_Crewman","DRI_RPG7Grenadier","CAF_AG_ME_AA","CAF_AG_ME_AK47","CAF_AG_ME_AK74","CAF_AG_ME_PK","CAF_AG_ME_RPK","CAF_AG_ME_RPG","CAF_AG_ME_GL"
			};
		};
		class level_6 { // civilians with some military training
			aiming[]   = {0.10, 0.20};
			spotting[] = {0.10, 0.20};
			general[]  = {0.50, 0.20};
			units[] = {
			};
		};
		class level_7 { // civilians without military training
			aiming[]   = {0.10, 0.20};
			spotting[] = {0.10, 0.20};
			general[]  = {0.40, 0.20};
			units[] = {
			};
		};
		class level_8 { // pilot 1
			aiming[]   = {0.20, 0.20};
			spotting[] = {0.60, 0.20};
			general[]  = {0.60, 0.20};
			units[] = {
			};
		};
		class level_9 { // pilot 2
			aiming[]   = {0.15, 0.20};
			spotting[] = {0.50, 0.20};
			general[]  = {0.50, 0.20};
			units[] = {
				"I_helipilot_F","I_helicrew_F","O_helipilot_F"
			};
		};
		class level_10 { // sniper
			aiming[]   = {0.60, 0.20};
			spotting[] = {0.70, 0.20};
			general[]  = {0.70, 0.20};
			units[] = {
				"I_Sniper_F","O_sniper_F"
			};
		};
	};//sets

	// apply skill coefficient by faction to the skills the units would get based on their skill levels and settings above
	// if a faction is missing the coefficient is assumed to be 1
	class factions {

		class BLU_F { // BLUFOR A3A
			coef = 1.1;
		};
		class OPF_F { // OPFOR A3A
			coef = 0.9;
		};
		class IND_F { // A3 Guerrilla
			coef = 1.0;
		};
		class IND_G_F { // Greek Army
			coef = 1.0;
		};

		class USMC { // US Marine Corps
			coef = 1.1;
		};
		class CDF { // Chernarussian Defence Forces
			coef = 0.9;
		};
		class RU { // Russia
			coef = 1.0;
		};
		class INS { // Chedaki Insurgents
			coef = 1.0;
		};
		class GUE { // NAPA Guerilla
			coef = 1.0;
		};

		class BIS_TK { // Takistani Army
			coef = 0.9;
		};
		class BIS_TK_INS { // Takistani Insurgents
			coef = 1.0;
		};
		class BIS_US { // US Army
			coef = 1.1;
		};
		class BIS_CZ { // Czech
			coef = 1.1;
		};
		class BIS_GER { // Germany
			coef = 1.0;
		};
		class BIS_TK_GUE { // Takistani Guerilla
			coef = 1.0;
		};
		class BIS_UN { // UNO
			coef = 0.9;
		};
		class PMC_BAF { // Private military
			coef = 1.1;
		};
		class BIS_BAF { // UK
			coef = 1.1;
		};

	};//factions

};//skillsets

version = 2; // will increment this when structure changes

 /// CHANGES ///

 // v2
 // new class names, removed nightspotting, added hitcoef

};

SJ

Edited by serjames
  • Like 1

Share this post


Link to post
Share on other sites

Awesome...loved ASR AI in ArmA 2, so I will definitely check this out. Thanks!

Share this post


Link to post
Share on other sites

Nice! I will be experimenting with this latest version immediately! Very cool to have an AI mod that will allow the server to override player userconfigs! Is there anything special that must be done to assure this happens? I'm currently building a coop mission and testing on a "listen" server with plans of seeing it on a dedicated server soon.

EDIT: NM, looks like I found the information I needed in the spoiler!

Share this post


Link to post
Share on other sites
When starting a map a message popups that the Userconfig is Outdated?

Have you tried updating your userconfig file with the one from the archive ?

Share this post


Link to post
Share on other sites

hi ive followed what u need to do im getting a message on arma start up saying include file userconfig\asr_ai3\asr_ai3_settings.hpp not found, ive put the userconfig folder in my arma 3 dir thanks

Share this post


Link to post
Share on other sites
hi ive followed what u need to do im getting a message on arma start up saying include file userconfig\asr_ai3\asr_ai3_settings.hpp not found, ive put the userconfig folder in my arma 3 dir thanks

Like this ?

csnidHo.png

Share this post


Link to post
Share on other sites

all working now thanks, i followed this post You need to create a directory named 'asr_ai3' under \userconfig and place the file 'asr_ai3_settings.hpp' within that newly created folder. Should work fine after that!

Share this post


Link to post
Share on other sites
Do AI react to suppression with this mod/script?

It does not have such feature.

all working now thanks, i followed this post You need to create a directory named 'asr_ai3' under \userconfig and place the file 'asr_ai3_settings.hpp' within that newly created folder. Should work fine after that!

I see what was wrong, corrected the archive to contain the userconfig\asr_ai3 sub-directory. Thanks!

Edited by Robalo

Share this post


Link to post
Share on other sites

Is this addon working out-of-the box so to speak?

I followed the instructions for setting it up (Config Folder and ASR in main folder) but I am not sure if it is actually working because I do not get any "... initialized..." Messages. :D

Share this post


Link to post
Share on other sites
Is this addon working out-of-the box so to speak?

I followed the instructions for setting it up (Config Folder and ASR in main folder) but I am not sure if it is actually working because I do not get any "... initialized..." Messages. :D

Yes, you're not supposed to see any messages, unless you turn on some debugging in userconfig.

Make sure CBA is active too. You can check your RPT file to see which addons were loaded and debugging info (if you have debug = 1 in userconfig).

Things to look for in the RPT:

D:\Steam\SteamApps\common\Arma 3\@ASR\@ASR_AI3\addons\asr_ai3_cfgweapons.pbo - unknown
D:\Steam\SteamApps\common\Arma 3\@ASR\@ASR_AI3\addons\asr_ai3_main.pbo - unknown
D:\Steam\SteamApps\common\Arma 3\@ASR\@ASR_AI3\addons\asr_ai3_settings.pbo - unknown
D:\Steam\SteamApps\common\Arma 3\@ASR\@ASR_AI3\addons\asr_ai3_sysaiskill.pbo - unknown
D:\Steam\SteamApps\common\Arma 3\@ASR\@ASR_AI3\addons\asr_ai3_sysdanger.pbo - unknown

sysaiskill debug info

"Unit R Alpha 1-3:6, type I_Soldier_AAR_F, faction IND_F with coef 1, has skill 0.6324"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill aimingAccuracy value 0.135"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill aimingShake value 0.013857"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill aimingSpeed value 0.649218"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill spotDistance value 0.294747"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill spotTime value 0.282568"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill courage value 0.667586"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill reloadSpeed value 0.73825"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill commanding value 0.561916"
"91.715 | Unit R Alpha 1-3:6 has final sub-skill general value 0.62592"

sysdanger debug info

"Good cover for unit R Alpha 3-2:1 near 287eab00# 1770637: van_01_transport_f.p3d, type: B_G_Van_01_transport_F"
"Good cover for unit R Alpha 3-2:1 near 287eab00# 1770637: van_01_transport_f.p3d, type: B_G_Van_01_transport_F"
"Good cover for unit BIS_bravoLeader near 72d64f00# 1770695: hbarrier_1_f.p3d, type: Land_HBarrier_1_F"
"Good cover for unit BIS_bravoLeader near 72d64f00# 1770695: hbarrier_1_f.p3d, type: Land_HBarrier_1_F"
"Good cover for unit BIS_bravoLeader near 72d64f00# 1770695: hbarrier_1_f.p3d, type: Land_HBarrier_1_F"
"Good cover for unit BIS_bravoLeader near 72d64f00# 1770695: hbarrier_1_f.p3d, type: Land_HBarrier_1_F"
"Good cover for unit B Gamma:2 near BIS_vehicleTruck, type: B_G_Offroad_01_F"
"Good cover for unit B Gamma:2 near BIS_vehicleTruck, type: B_G_Offroad_01_F"

Edited by Robalo

Share this post


Link to post
Share on other sites

Good to have you back mate! Its been about time for the BEST AI MOD to get around A3's corner :)

Downloading!

LJ

Share this post


Link to post
Share on other sites
Guest

Release frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

About to test and see if this will work with Bcombat as well and if it does its a win win for AI mod lovers

Share this post


Link to post
Share on other sites

Perfect glad to see a must have mod for A2 ported to A3

About to test and see if this will work with Bcombat as well and if it does its a win win for AI mod lovers

please find out, if it does it will be a golden age for AI

Share this post


Link to post
Share on other sites
Perfect glad to see a must have mod for A2 ported to A3

please find out, if it does it will be a golden age for AI

+1. This is a big deal. Congrats on the official release.

Share this post


Link to post
Share on other sites

How would one find the correct config lines for custom units? For example I'm wanting to use massi's NATO units and Drongo69's Middle Eastern Irregulars.

From the configviewer in the editor I see this line for the NATO troops:

["B_mas_usr_Soldier_AAR_F","B_mas_usr_Soldier_GL_F","B_recon_JTAC_F","B_Soldier_recon_base","B_Soldier_base_F","SoldierWB","CAManBase","Man","Land","AllVehicles","All"]

and this one for the Irregulars:

["DRI_Base","I_soldier_F","I_Soldier_base_F","SoldierGB","CAManBase","Man","Land","AllVehicles","All"]

EDIT: I *think* I found it. In CfgFactionClasses massi's NATO guys are called "mas_usa_rang" and the Irregulars "drirregularso" (just like the faction entries used in ALiVE).

Edited by Oktyabr

Share this post


Link to post
Share on other sites

Really nice mod dude, congrats on the release buddy :)

Just a quick question:

I see you are releasing ASR AI 0.8.0 but when i use it in Play withsix it shows there as 1.16.2.1

Is this right ? witch is it?

Share this post


Link to post
Share on other sites
Really nice mod dude, congrats on the release buddy :)

Just a quick question:

I see you are releasing ASR AI 0.8.0 but when i use it in Play withsix it shows there as 1.16.2.1

Is this right ? witch is it?

Sounds like PWS has the version number from ASR AI for Arma 2.

0.8.0 is the first public release for Arma 3.

Share this post


Link to post
Share on other sites
How would one find the correct config lines for custom units? For example I'm wanting to use massi's NATO units and Drongo69's Middle Eastern Irregulars.

From the configviewer in the editor I see this line for the NATO troops:

["B_mas_usr_Soldier_AAR_F","B_mas_usr_Soldier_GL_F","B_recon_JTAC_F","B_Soldier_recon_base","B_Soldier_base_F","SoldierWB","CAManBase","Man","Land","AllVehicles","All"]

and this one for the Irregulars:

["DRI_Base","I_soldier_F","I_Soldier_base_F","SoldierGB","CAManBase","Man","Land","AllVehicles","All"]

EDIT: I *think* I found it. In CfgFactionClasses massi's NATO guys are called "mas_usa_rang" and the Irregulars "drirregularso" (just like the faction entries used in ALiVE).

Check the version I posted... most mods are already included

And for those people asking about bCombat. Yes it works

SJ

Share this post


Link to post
Share on other sites
Check the version I posted... most mods are already included

And for those people asking about bCombat. Yes it works

SJ

Thanks! Although it looks out of date, at least in regards to the Irregulars. Drongo69 now includes three different factions for his units, opfor are designated with a capital "O" and so on such as "DRI_RiflemanO","DRI_AutomaticRiflemanO","DRI_GrenadierO","DRI_RPG7SoldierO","DRI_MarksmanO","DRI_RPG7GrenadierO","DRI_SquadLeaderO","DRI_AASoldierO","DRI_MedicO","DRI_RepairO","DRI_ExplosivesO","DRI_EngineerO","DRI_MachineGunnerO", etc.

But it's nice to see an example of how to use the units field!

From a mission standpoint, will it work ok just to copy and paste the whole works into Description.ext? Or could someone provide me some guidance on how best to utilize this (from a mission making standpoint)?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×