This is an experimental mod that attempted to modify the AI behavior and improve stealth aspects of Arma 3. It is written as a scenario script that can be integrated into a mission. Due to the limitations of Arma 3 scripting, namely the performance costs of frame-to-frame execution and the lack of low-level AI control, which led to improper design decisions, I decided to stop working on this project.
- Custom spotting and hearing
- Adjustable gun and explosion sound range
- Adjustable time to lose a target
- Camouflage affected by player's stance
- Multiplayer compatibility *
Arma 3 version 2.18 or later is required.
To install the mod, download this repository, and move the files into a mission directory:
C:\Users\USERNAME\Documents\Arma 3\missions\MISSION_DIRECTORY
To setup a stealth unit, put this line into the unit's Init field in the Eden editor:
this setVariable ["STMOD_stealthFlag", true];To setup enemy units, call this function from initServer.sqf:
opfor call STMOD_fnc_setupEnemy; //For a side
groupName call STMOD_fnc_setupEnemy; //For a single groupIt is best to split enemy units into small groups of 1 to 3 units.
Configuration variables are located in Functions\Init\initSettings.sqf and in define.hpp.
-
AI-controlled stealth squadmates in multiplayer are not supported. To avoid issues, do not add the
STMOD_stealthFlagto any friendly AI units in multiplayer scenarios. Or disable AI for all playable characters by addingdisabledAI=1;in Description.ext file. -
On a listen server, the hosting player (admin) should avoid exiting the game and switching units. If the admin needs to switch a unit, restart the game.
(The cause of issues 1 and 2 is that the mod currently cannot handle locality changes of stealth units.)
-
(May not apply anymore.) The ignoreTarget command causes freezing when used on a player in a vehicle. This issue has been temporarily resolved by repeatedly calling the forgetTarget command. While not ideal, it produces a similar effect.
-
Grenade explosions are sometimes not registered by the event handler on the server.
-
Silenced weapons don't trigger firedMan event on a listen server if the unit is far from the hosting player.