IMPORTANT
Please use the new forums for any kind of discussion regarding SARGE AI.
The links are:
Announcements: http://opendayz.net/forums/announcements.137/
Support: http://opendayz.net/forums/support.138/
Suggestions: http://opendayz.net/forums/suggestions.136/
General Discussions: http://opendayz.net/forums/general-discussion.139/
--------------------------------------------------------------------------------------------
Version 1.1.0
Changelog:- Moved all the SAR AI configurations into a single cfg file for easier editing - SAR_config.sqf.
- Static and dynamic groups can respawn (configurable), weapon and item loadouts are applied
- Items and Tools loadout for every single AI class
- Health of units can be adjusted - get that nearly undestroyable bandit
- Med action added to friendly leaders
- different actions for groups (patrol, ambush, fortify)
- implemented skill system
- included many more configuration options
- FIXED the enemies travelling in the same vehicle issue (that was a badass!)
- included a monitor to check for number of groups and warn if too many AI have been spawned
- dynamic spawning can be enabled/disabled
- use of UPSMON can be enabled/disabled
- groups stealing vehicles can be enabled/disabled
- rewrote the reammo and refuel scripts
- fixed the AI talking in sidechat when being shot at
PLEASE MAKE SURE YOU READ THE README on GITHUB!
Version 1.0.3
- Fully configurable logging of bandit or survivor AI kills
- Optimized aggro from friendly fire - one hit is now sufficient to aggro the AI
- Reworked AI heli turret issue - you should no longer see the error message with 2 elements expected, 3 given
- Fixed heli spawn bug
- included functions to query cfg files for turrets (not used atm)
- Included hit Eventhandler for heli - this will only work if you do a decent amount of damage, with a normal weapon this EH will not trigger
Version 1.0.2
- Fully configurable humanity sytem implemented. check out SAR_config.sqf for values to configure.
- Fixed the AI communicating if under friendly fire - CHECK INSTALL, you need to edit your description.ext!
Version 1.0.1 IMPORTANT UPDATE
- fixed the bug with AI not respawning after reentering an area. You only need to download the code scripts, configuration files are unchanged.
Version 1.0.0
Available here: https://github.com/Swiss-Sarge/SAR_AI
Maps covered and configured:
- Chernarus - Sarge
- Taviana - thx a lot to Richie
- Namalsk - thx a lot to Omer
- Lingor - thx a lot to Wyger
- Panthera - thx a lot to Sabbath
Maps that are included but need configuration (IF you configure one of these maps (grid & definition for gridsquares), please do me a favour and share it back with me, so i can include it in the framework):
- Celle
- Fallujah
- Takistan
--------------
Features:
General
- no addons on the clientside needed
- tested with Dayz 1.7.5.1, should also work with 1.7.6.x
- supported maps: see above
- easy install (dedicated script folder, started by init.sqf)
- optimized for server performance, all AI handled on the server
- highly configurable
- relies on 2 other script packages: UPSMon and SHK_pos (included in the archive)
Functionality
- player triggered AI (same concept as Dayz's zombie spawn, this prevents "unused" AI on the map)
- 3 AI factions:
- AI survivors (shoot Zeds and player bandits)
- AI bandits (shoot Zeds and player bandits/player survivors)
- AI soldiers (shoot Zeds, AI bandits and player bandits)
- Dynamic "enemy" handling - only units near players will be made "unfriendly" towards Zeds / Bandits etc.
- Randomized gear/skins and group setups(leader/sniper/riflemen)
- Randomized patrol waypoints around the player
- preconfigurable sizes of groups, number of groups and probability of groups spawning close to player
- static AI configureable (e.g. put a group of bandits in Devils Castle, let 30 soldiers protect your camp, etc.)
- static Heli patrols predefined (Chernarus south coast, east coast, airfields). custom patrols configurable.
- automatic despawn if no players present anymore in the area
- killed AI bodies get deleted after a short amount of time (reduce server lag)
Installation:
You need to un-pbo your missions folder. (if you dont know how to do this, please google and learn, in that case this framework is not really intended for you)
- In your missions folder, create an addons folder.
- Add the content of the archive (the folders SARGE, UPSMON and SHKPOS)
- edit your init.sqf file from your missions folder
- add the following lines at the end of the init.sqf :
Code:
call compile preprocessFileLineNumbers "addons\UPSMON\scripts\Init_UPSMON.sqf";
call compile preprocessFileLineNumbers "addons\SHK_pos\shk_pos_init.sqf";
[] execVM "addons\SARGE\SAR_AI_init.sqf";
- add the following line at the end of the description.ext :
Code:
#include "addons\SARGE\SAR_define.hpp"
- either pbo your missions file again, or use the folder structure instead. (if you do that, make sure to DELETE the pbo)
- To customize, check out the your corresponding cfg files in /map_config, they are commented and documented in there.
Check out and adjust values in SAR_AI_init.sqf where needed.
FAQ:
a) to report any bug / issue, read this: http://opendayz.net/threads/sarge-ai-framework-public-release.8391/page-39#post-33644
A) I am having battleeye issues with people being kicked.
- Read this: http://opendayz.net/index.php?threads/sarge-ai-framework-public-release.8391/page-3#post-24385
- Read this: https://github.com/Swiss-Sarge/SAR_AI/blob/master/README.md
B) my heli patrols get blown up - rpt shows "killed a hacker"
- adjust this in your server_cleanup.fsm (depends on your server.pbo build, adjust where needed).
- If you have a line looking like this ins your server_cleabup.fsm:
Code:" if (!(vehicle _x in _safety) && ((typeOf vehicle _x) != ""ParachuteWest"") ) then {" \n
change it to
Code:" if (!(vehicle _x in _safety) && ((typeOf vehicle _x) != ""ParachuteWest"") && (vehicle _x getVariable [""Sarge"",0] != 1) ) then {" \n
- If your line looks like this:
Code:if(vehicle _x != _x && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n
change to
Code:if(vehicle _x != _x && (vehicle _x getVariable [""Sarge"",0] != 1) && !(vehicle _x in _safety) && (typeOf vehicle _x) != ""ParachuteWest"") then {" \n
C) I am totally lost, what to do ? : Ask here in this thread, i am sure people will help you out.
D) I see AI shooting through walls / walking through walls.
This seems to happen on some maps. If AI shoot walls, it is the Arma AI logic that actually does that, no way to fix it.
E) Helis fly against obstacles and explode:
Seen that happen with the bridge on Taviana - seems to be an Arma glitch.
F) Zeds do not attack AI: this is intended behaviour.
G) AI have stolen my CAR! : Well, that happens. AI use vehicles if their next waypoint is further away than a configured distance. If you want to adjust this, check out Init_UPSMON.sqf