Robalo

ASR AI 3

2368 posts in this topic

AI enhancement mod for Arma3.

Download link: ASR AI3 v1.1.0

Mirrors: Armaholic, PWS, Steam

Older versions can be found here: http://dev.withsix.com/projects/asr-ai/files and here: https://github.com/robalo/mods/releases
This mod requires 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

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.

Features (incomplete list)

Config features

- AI's fire mode selection, rate of fire and engagement ranges are tweaked. Makes them shoot more human-like.
- Weapon dispersion varies more with unit's skill. The lower the skill, the more increased dispersion. Makes tweaking them from the userconfig more effective.
- Reconfigures detection skills for soldiers. Base sensitivity skill has been reduced for civilians (3->2) and increased for snipers (3.5->4).
Enemy snipers should be harder to hide from while friendly snipers should be employed strategically.
Hearing has been improved for soldiers but the perceived noise made by soldier movement was reduced. Makes sneaking up still possible while soldiers will
detect other noises better overall (those made by gun shots or vehicles for example).
- Reconfigures unit costs. Units are classified by importance in 3 levels: less (civilians, insurgents, militia), normal (regulars), more (special ops, snipers, officers).
Units (especially players) may change equipment so it doesn't make sense to have an "AT guy" wear a big "shoot me first" sign just because he's in that "class".
- AI units are more able to detect bullets fired.

Scripted features

- 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.
- The view and object distance of the dedicated server is dynamically adjusted during a mission based on sun elevation and fog level. This is done because the view distance of the
AI on the server determines how fast they will lose a target they already became aware of. Less chances of getting shot through the thick of the fog or darkness by AI you can't even see.
- AI will be alerted by explosions. They may try to get to cover. The higher state of alertness will increase the chances of detecting the enemy.
- AI units are more able to detect gun fire. Factors which contribute to how far they can hear and how precise the information gained are:the ammo type, if the weapon is suppressed, foliage, houses
- Groups reduced to a 2 (configurable number) units after mission start will look for near friendly groups and merge with them. AI working as a team is a lot stronger then a bunch of separate units.
- Wounded AI that is unable to walk may separate from their group and be left alone if there's no medic in the group. Helps AI groups reach their destination in a timely
manner when one of theirs has been shot in the leg or had a stupid accident (fell of a rock and broke legs, got hit by car etc.).
- AI share info about threats with other groups in their proximity if they have radios. Enhances awareness for groups that are not directly in contact with an enemy.
- AI groups coming into contact while in the open will try to move to cover. Helps them survive longer when caught in the open.
- AI machinegunners use suppressive fire. Makes them more effective and feared.
- Buildings are used in combat by AI. You may see AI shooting from windows or rooftops and it may not be as easy to hide in a house anymore.
- AI may move to cover and pop smoke when hit to help conceal while taking care of their wounds.
- AI may use near vehicle or static weapons for fighting.
- Keeps player in charge on teamSwitch to another unit; prevents leaving AI in charge to shout stupid orders that you need to cancel when you switch back to leader unit.
- Disables fatigue for AI in player's group and enables it for currently player-controlled unit (triggered on teamSwitch only); lets AI be able to keep up with the player.
- AI may rearm if low on ammo from nearby crates, vehicles, bodies or even friendlies rucks (eg ammo bearers).
- AI copy leader player's stance (configurable shortcut key to toggle this, default: Ctrl + Backspace)

 

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_main_sets, asr_ai3_main_levels_units, asr_ai3_main_factions, asr_ai3_main_skip_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.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.2.2 https://github.com/robalo/mods/releases/download/rhs0422/asr_ai3_rhs_0422_config_v1.zip

BWA3 1.4.0 http://dev.withsix.com/attachments/download/22948/asr_ai3_bwa3_140_config.zip

Spec4Gear 4.6.1 https://dev.withsix.com/attachments/download/22949/asr_ai3_spec4gear_461_config.zip

Military Gear Pack 1.4 https://dev.withsix.com/attachments/download/22960/asr_ai3_milgp_14_config.zip

Project Opfor 0.2.3 https://dev.withsix.com/attachments/download/22962/asr_ai3_popfor_023_config.zip

11 people like this

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
1 person likes this

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

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