speedweasel

ALiVE AI in Exile

28 posts in this topic

I'm re-posting a DM here that contains some advice on getting ALiVE AI working with Exile.  I've been running ALiVE AI on my Exile Chernarus server for the last month and while there are some compromises and drawbacks, the overall player experience eclipses DMS and A3XAI.

Hi,

I am using the following modules:

  • Alive Required
  • Virtual AI System (Profile)
  • Military AI Skill
  • Military AI commander
  • Military Placement Module 
  • Civilian Placement Module
  • Military Logistics

I'm also running the Zeus module so I can spectate and debug the AI.  I recommend you do this while developing your mission.  You can take the Zeus module out before you 'go live.'

In order to add loot, respect and poptabs to AI you'll need to add some event handler code to the end of your description.ext file:

class Extended_Init_EventHandlers 
{
	class Man
	{
		init = "_this call (compile preprocessFileLineNumbers 'ai_init.sqf')";
	};
};

This code will apply to every 'man' class of object your server spawns.  Once you've added this code above, create a new file called ai_init.sqf in the root of your Exile mission folder (right next to description.ext.) 

Add the following code to the ai_init.sqf  file to give the AI, respect, loot and poptabs.  It also registers AI deaths and displays the Exile 'killed' message on your screen:

private "_this";
_this = _this select 0;

if (side _this == east) then 
{
	_poptabs = round random 200;
	_this setVariable ["ExileMoney",_poptabs,true];
	_this addMPEventHandler ["MPKilled",'if (isServer) then {_this call DMS_fnc_OnKilled;};'];
	_this setVariable ["DMS_AI_Side", "Bandit"];
	_this setVariable ["DMS_AI_Type", "Soldier"];
	_this setVariable
	[
		"DMS_AI_Respect",
		missionNamespace getVariable [format ["DMS_%1_%2_RepGain","Bandit","Soldier"],0]
	];	
};

This assumes all your AI are all OPFOR (east).  The code above uses functions from the DMS AI mission system which most server admins run.  If you don't want DMS missions running on your server you can edit the DMS config file to turn off all missions and loot drops, etc but you still need DMS running on your server to use the above code.

As for AI killing each other.  I had the same problem for hours and hours.  I've tried every permutation of config settings but all of my OPFOR (OPF_F and OPF_G_F) were spawning in as INDEPENDENT groups and shooting each other (you can use Zeus to confirm this.  They are dressed as OPF but show up in green groups).  Eventually I swapped to CUP units and the problem stopped.  Today I'm running three factions on my Chernarus server; CUP_O_RU, CUP_O_ChDKZ & CUP_I_NAPA and everything works perfectly. 

It turns out that Exile *does* interfere with the way Alive spawns vanilla Arma 3 OPFOR units.  It makes them all spawn in as INDEPENDENT groups.  I haven't found the code that does this yet but I have run the same Alive mission with and without Exile loaded and it runs perfectly without Exile.  I'm continuing to search Exile's code...

So, currently you'll need to use CUP Units (or possibly another mod) to get around the problem of Alive units killing each other.

Other things you might want to consider:

  • Use ALIVE blacklists to remove all AA groups and units otherwise they will routinely shoot down player helicopters (google alive blacklists, it's pretty easy)
  • If factions are using vehicles, check the 'Ambient Vehicle' setting at the bottom of the Military Placement Module settings
  • Blacklist all of your trader zones using the Blacklist Marker field in your Military and Civilian Placement Modules
  • Alive units will spawn with weapons that have attachments.  This lets players dupe attachments like optics, suppressors.  Some units also have thermal and launchers.  There is no way around this other than creating your own factions using the Alive ORBAT editor.  That's a big job.  I run a community server and I trust my players so it's no big deal but larger, public servers will have duping problems.
  • Use the minimum filter settings for Objective Size and Objective Priority in your Military and Civilian Placement Modules.  If you have unfiltered objectives the AI commander will place units in the tiniest buildings in the middle of nowhere.

Good luck with your mission.  Let me know how you go. :)

speed.

  • Like 8

Share this post


Link to post
Share on other sites

Fantastic thanks Speedweasel!  Jumped on your Chernarus server and really enjoyed the environment. 

I am going to try this out on the Lythium map.

Cheers

 

Share this post


Link to post
Share on other sites
Advertisement

Need Help!!

start "Arma3" /min /wait arma3server.exe -mod=@Exile;Kart;Mark;Heli; -mod="@X-Cam-Taunus (Version 1.1);@CBA_A3;@CUP Terrains - Core;@CUP Terrains - Maps;@CUP Weapons;@CUP Units;@Enhanced Movement;@SM_Zombz;@Zombies and Demons;" -servermod="@ExileServer;@ASR AI3;@A3XAI;@ALiVE;@AdminToolkitServer;" -config=C:\Arma\Server\@ExileServer\config.cfg -port=3302 -profiles=admin -maxmem=2560 -cfg=C:\Arma\Server\@ExileServer\basic.cfg -name=admin -high -autoinit 

 

cba_versioning - alive_main - Version Mismatch!

version:0.0.0. serverVersion:1.3.6.1.70626e+006,Level:4

Share this post


Link to post
Share on other sites

start "Arma3" /min /wait arma3server.exe -mod=@Exile;Kart;Mark;Heli; -mod="@X-Cam-Taunus (Version 1.1);@CBA_A3;@CUP Terrains - Core;@CUP Terrains - Maps;@CUP Weapons;@CUP Units;@Enhanced Movement;@SM_Zombz;@Zombies and Demons;@ALiVE;" -servermod="@ExileServer;@ASR AI3;@A3XAI;@ALiVE;@AdminToolkitServer;" -config=C:\Arma\Server\@ExileServer\config.cfg -port=3302 -profiles=admin -maxmem=2560 -cfg=C:\Arma\Server\@ExileServer\basic.cfg -name=admin -high -autoinit 

 

fix!!!

Share this post


Link to post
Share on other sites
On 7/10/2017 at 2:20 PM, goanyan said:

start "Arma3" /min /wait arma3server.exe -mod=@Exile;Kart;Mark;Heli; -mod="@X-Cam-Taunus (Version 1.1);@CBA_A3;@CUP Terrains - Core;@CUP Terrains - Maps;@CUP Weapons;@CUP Units;@Enhanced Movement;@SM_Zombz;@Zombies and Demons;@ALiVE;" -servermod="@ExileServer;@ASR AI3;@A3XAI;@ALiVE;@AdminToolkitServer;" -config=C:\Arma\Server\@ExileServer\config.cfg -port=3302 -profiles=admin -maxmem=2560 -cfg=C:\Arma\Server\@ExileServer\basic.cfg -name=admin -high -autoinit 

 

fix!!!

you dont need ALiVE in the serverMod section. That section is only for ServerSide mods. AKA anything that doesnt need to load on the client.

Share this post


Link to post
Share on other sites

How do you open the exile mission file in the arma 3 editor to place the alive modules? When I try it tells me to upgrade the mission then when I try to load it on my server I get an infinite loading screen.

Share this post


Link to post
Share on other sites
On 9/8/2017 at 5:52 PM, screenracer said:

How do you open the exile mission file in the arma 3 editor to place the alive modules? When I try it tells me to upgrade the mission then when I try to load it on my server I get an infinite loading screen.

What map are you trying to use?

Share this post


Link to post
Share on other sites

Oh ok, Altis for exile uses the old format for the mission.sqm file. I had trouble converting it to the new format. I'm surprised you got it to work, well at least partially. The island bug is usually caused by a database issue.

Share this post


Link to post
Share on other sites
2 hours ago, -AG-Rambo said:

Oh ok, Altis for exile uses the old format for the mission.sqm file. I had trouble converting it to the new format. I'm surprised you got it to work, well at least partially. The island bug is usually caused by a database issue.

I managed to get it working, but opfor attacks each other. I don't want to bother to download cup and alive runs pretty slow from what I see anyway.

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.