Jump to content
silola

DAC V3.1 (Dynamic-AI-Creator) released

Recommended Posts

In our community we do use DAC to create zones mid missions without issues, might be on your end.

I'm impatient to see how you'll integrate it into X-cam.

Oh and silola I LOVE YA, DAC is incredible and very well documented on top of that :bounce3:

Share this post


Link to post
Share on other sites

Did anybody actually record a play session with this mod?

Because it sounds awesome but... where's the evidence? :)

-EDIT: Disregard, I found a few. Looks good, I'll give it a try!

Edited by BullHorn

Share this post


Link to post
Share on other sites

I have been playing with this for a few days now and I have to say while the learning curve is high, The product here is fantastic from what I see. This is amazing the way it can do so many things for you. I am dabbling at creating my own little black hawk down mission co-op I am using the DAC extern logic utilizing and customizing the configs to get used to them and what can be done. I am also a huge fan of the Addons and the mods people make for Guns and Vehicles and when I am customizing the guns and load-outs I would like to put scopes on some of the Assault rifles within the weapons config I tried to just add them in as a bracket can this be done??? Or can I add it somehow?? I want to do within DAC because of the opfor spawning I want certain modles to carry certain weapons I just really liked bolstering their looks and giving them scopes and rail attachments. Also can I add to their uniforms or add vests, or back-packs?

Share this post


Link to post
Share on other sites

Loving the DAC script so far, and learning the ropes.

I've got an error whenever an AI requests artillery.

http://gyazo.com/a1fc864be9cfcd4a0d880f128f6c5a37

Error variable not defined on expression, _val4

BTW, is is needed an artillery unit for this to work? or it is a virtual artillery? (Sort of Zeus artillery)

Share this post


Link to post
Share on other sites

unit needs to be defined for arti support (DAC_Config_Arti) and spawned/placed on map yes ......no virtual

Edited by TeilX

Share this post


Link to post
Share on other sites

Hmm probably that's my error then. Thanks for the answer

Share this post


Link to post
Share on other sites

Anyone out there have an answer for me?? on The weapon scripts?

Share this post


Link to post
Share on other sites

I might be wrong, but adding eq for AI don't work in DAC for A3. You need to find other way.

Share this post


Link to post
Share on other sites

That is awesome thank you I will hopefully get all of that working this week I am just really trying to get to know each piece of this DAC as to me it is very robust but once you know it you should be able to accomplish a=many missions much easier

Share this post


Link to post
Share on other sites

To add stuff to spawned infantry/vehicles you can also use another DAC function - one that runs code on each unit spawned (see DAC_Config_Events in manual). I haven't tried using it to adjust AI inventories but in theory it should be possible.

Share this post


Link to post
Share on other sites

Hi,

is it possible to create a zone without placing something in the editor? (beside of the external logic)

i try to create the trigger like this, but DAC cant extract the position:

	infantryzone = createTrigger ["NONE", getPos base_independent_flagpole];
infantryzone setTriggerArea [80, 80, 0, true];
infantryzone setTriggerActivation ["LOGIC", "PRESENT", true];
infantryzone setTriggerText "infantryzone";
infantry = ["infantryzone",[1,0,0,0],[ ],[5,2,50,10],[ ],[ ],[2,2,2,6,0]] spawn DAC_Zone;

where base_independent_flagpole is the center of the AAF base. the base locations are dynamic, thats why i cannot place the DAC triggers upfront :/

error:

18:18:43 Error in expression <ct 0);_myvalue = ((triggerArea _KiZone) select 1);_ac = _ZoneMode select 1;_rand>
18:18:43   Error position: <select 1);_ac = _ZoneMode select 1;_rand>
18:18:43   Error Zero divisor
18:18:43 File mpmissions\__cur_mp.Altis\DAC\Scripts\DAC_Create_Zone.sqf, line 110
18:18:43 Error in expression < = format["%1_%2",_thisZone,_cu];
_ma = createmarkerlocal [_zs, ((_zoneValues se>
18:18:43   Error position: <createmarkerlocal [_zs, ((_zoneValues se>
18:18:43   Error Type Any, expected Number
18:18:43 File mpmissions\__cur_mp.Altis\DAC\Scripts\DAC_Create_Zone.sqf, line 123
18:18:43 Error in expression <C_Zones set [count DAC_Zones,[_thisZone,_mxvalue,_myvalue,_ZoneMode,_GroupSol,_G>
18:18:43   Error position: <_mxvalue,_myvalue,_ZoneMode,_GroupSol,_G>
18:18:43   Error Undefined variable in expression: _mxvalue
18:18:43 File mpmissions\__cur_mp.Altis\DAC\Scripts\DAC_Create_Zone.sqf, line 133

Edited by m1ndgames

Share this post


Link to post
Share on other sites

Check the PDF manual page 21 - Creating zones mid-mission.

[position, sizeX, sizeY, type, direction, parameter] call DAC_fNewZone

Share this post


Link to post
Share on other sites

Me again...

I cant get it to work :(

Setup Server: linux dedicated +sock.so, cba, asrai - DAC is running via script

Setup Client: vanilla

Mission: It is a SC type mission where each teams starting location is randomly read from a template. Because of this i created 4 different triggers for DAC, and delete the triggers that are unrequired for this template before they can run. (Screenshot)

if (Sector_Config_Area_Type == "infantry") then {
aafzoneinf setPos _location_independent;
aafzoneinf setTriggerArea [80, 80, 0, true];
deleteVehicle aafzonetank;
deleteVehicle aafzonemoto;
deleteVehicle aafzoneheli;
};

DAC is called in init.sqf after everything else happened:

if(!isServer) then {waitUntil{!isNull player}};

DAC_Zone = compile preprocessFile "DAC\Scripts\DAC_Init_Zone.sqf";
DAC_Objects = compile preprocessFile "DAC\Scripts\DAC_Create_Objects.sqf";
execVM "DAC\DAC_Config_Creator.sqf";

My DAC_Config_Creator.sqf

The Server rpt

When i join the game i see this:

1.jpg

and after spawn:

2.jpg

edit: could it be that the zone size is to small for the number of waypoints? i checked it again and now i got 8 waypoints, but still no ai...

edit2: another run, this time it tells me that the zone is not suitable for type infantry... so.. its to small?

edit3: yes, it was the size -.-

Edited by m1ndgames

Share this post


Link to post
Share on other sites

Yes size of the zone must be enough big for amoutn of waypoints I had also this problem in few missions.

Share this post


Link to post
Share on other sites

How do I go about making an artillery unit used by the AI with the scripted version? I've read what I can of the manual and I understand the 3 conditions that must be meet by the AI infantry units and their behaviours setting, but the example mission is for player called artillery.

Share this post


Link to post
Share on other sites
How do I go about making an artillery unit used by the AI with the scripted version? I've read what I can of the manual and I understand the 3 conditions that must be meet by the AI infantry units and their behaviours setting, but the example mission is for player called artillery.

i find that simply adding a dac ai hq gets arti working.

Share this post


Link to post
Share on other sites

Me again...

I want to add a Killed eventhandler to the spawned Ai...

this is the trigger init:

aafspawn = ["aafzoneinf",[1,0,1],[5,2,20,6],[ ],[ ],[ ],[2,2,2,2,0]] spawn DAC_Zone

my dac_config_events:

	case 1:
{
	_Events_Unit_S =	[
							[“_unit addeventhandler [“â€Killedâ€â€,{_this spawn AiKilled}]“],
							[],
							[],
							[],
							[],
							[],
							[]
						];

the functions:

PointsBox = {
_val = _this select 0;
if (_val == 5) then {
	cutRsc ["Points5Box","PLAIN"];
};
if (_val == 10) then {
	cutRsc ["Points10Box","PLAIN"];
};
};

AiKilled = {
_killer = _this select 1;
_killeruid = getPlayerUID _killer;
if (_killeruid == "") exitWith {};
_killerscore = [_killeruid, "score", 1] call stats_get;
_killerscore = _killerscore + 5;
[_killeruid, "score", _killerscore] call stats_set;
[format ["Ai killed by UID %1 - Player score: %2", _killeruid, _killerscore]] call WarZones_fnc_Debug;
[{[5] call PointsBox;},"BIS_fnc_spawn", _killer, true, true] call BIS_fnc_MP;
};

but no reaction on kill... no error in rpt... whats the cause?

Share this post


Link to post
Share on other sites
i find that simply adding a dac ai hq gets arti working.

But how do you change the mortars to heavy artillery?

Share this post


Link to post
Share on other sites
Yes size of the zone must be enough big for amoutn of waypoints I had also this problem in few missions.

There is another way around this problem - you can set the min/max distance for waypoint generation (ie: more waypoints in a smaller area). Check DAC_Config_Waypoints in the manual.

But how do you change the mortars to heavy artillery?

DAC_Config_Arti.sqf

Check that file under each case there is a line:

_set3  = [["O_Mortar_01_F",["M_PG_AT"]]];

First classname is the actual mortar piece, second is the round itself (not the magazine though, you need the classname for the actual round). You can add multiple ammo type entries here as well (smoke, illum, etc).

So for BLUFOR artillery it would be:

_set3  = [["B_MBT_01_arty_F",["Sh_155mm_AMOS"]]];

Me again...

I want to add a Killed eventhandler to the spawned Ai...

this is the trigger init:

aafspawn = ["aafzoneinf",[1,0,1],[5,2,20,6],[ ],[ ],[ ],[2,2,2,2,0]] spawn DAC_Zone

my dac_config_events:

	case 1:
{
	_Events_Unit_S =	[
							[“_unit addeventhandler [“â€Killedâ€â€,{_this spawn AiKilled}]“],
							[],
							[],
							[],
							[],
							[],
							[]
						];

but no reaction on kill... no error in rpt... whats the cause?

The create event requires a group as the variable (_group) and you can use _x for the actual unit ie:

["{_x addEventHandler [""Killed"", {_this spawn AiKilled}]} forEach units _group"],

Edited by SavageCDN
typo

Share this post


Link to post
Share on other sites

On page 55 of the PDF he mentions that the DAC_Config_Weapons wasn't adapted to Arma 3 yet... Does this mean I cannot set exact weapons/ammunition for units? Because.. This was the main selling point when I was introduced to DAC; I would love to use Leight's OpFor with 5.56mm/5.45mm weapons!

Another thing I'm unsure about is how can camps be destroyed in order to stop re-spawning? You can set a radius for camps to stop spawning when players are near, but what if the players clear an area, kill all the units, move to a different area - and then receive DAC reinforcements from the same area they just cleared?

Another question: Assuming I use the adaptive AI spawning method (to adjust AI counts according to player counts) - How does this handle JIP? Let's say the mission starts with 10 players so DAC spawns 100 AI. What happens when 5 more players join? Or if players leave in the middle of combat? Will AI disappear magically? Lots of questions... :p

Edited by BullHorn

Share this post


Link to post
Share on other sites

Hi BullHorn,

You are right, the "DAC_Config_Weapons" is not working out of the box, but gienkov has created a solution:

http://forums.bistudio.com/showthread.php?181732-ACC-DAC_Toolbox-v1-0

To destroy a DAC camp, simply kill all members of the camp group. After this action the respective camp is disabled.

The calculation for "adaptive AI spawning method" takes place in the moment when all the units of a zone are generated.

So usually at the start of a mission. What happens if a zone is created dynamically during a mission, I have not tested.

This function does not automatically respond to players who joined later or leave the server.

Silola

On page 55 of the PDF he mentions that the DAC_Config_Weapons wasn't adapted to Arma 3 yet... Does this mean I cannot set exact weapons/ammunition for units? Because.. This was the main selling point when I was introduced to DAC; I would love to use Leight's OpFor with 5.56mm/5.45mm weapons!

Another thing I'm unsure about is how can camps be destroyed in order to stop re-spawning? You can set a radius for camps to stop spawning when players are near, but what if the players clear an area, kill all the units, move to a different area - and then receive DAC reinforcements from the same area they just cleared?

Another question: Assuming I use the adaptive AI spawning method (to adjust AI counts according to player counts) - How does this handle JIP? Let's say the mission starts with 10 players so DAC spawns 100 AI. What happens when 5 more players join? Or if players leave in the middle of combat? Will AI disappear magically? Lots of questions... :p

Share this post


Link to post
Share on other sites

Thanks for the quick reply, all my worries have been cleared. I think ill avoid the adaptive spawn method and just modify the group size manually before the beginning of a mission based on how many players attend.

-EDIT: I've been conducting small tests to get an idea of how the AI behaves with DAC. I was expecting AI to breach and clear buildings, especially when they know your position after shooting at you inside a building for a while. Do I need to change some setting for that? AI difficulty is set to 4 and ASR AI is on default settings.

Edited by BullHorn

Share this post


Link to post
Share on other sites

trying to run my custom rearm script for DAC units. This script works on players and units when run directly on them

_rearm = [_x] call tws_simpleRearm;

.

but when I try and call it from DAC_config_events then absolutely nothing happens. I try call it when group is created and then for unit after rebuildup.

	case 1:
{
	_Events_Unit_S =	[
							["{[_x] call tws_simpleRearm} foreach units _group"],
							[],
							[],
							[],
							[],
							[],
							["[_unit] call tws_simpleRearm"]

Any insight into how Im stuffing up would be appreciated!

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

×