Jump to content
silola

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

Recommended Posts

I am using the mod version for ARMA3. I made a really cool DAC_Config_Camps which I added lots of static weapons, armor vehicles, extra walls, buildings and more ground units at the camps. I attempted to just change the the Land_BagBunker_Tower_F to a Land_Medevac_HQ_V1_F

like this

_campBasic = ["Flag_CSAT_F","FirePlace_burning_f",15,10,0],"Land_Medevac_HQ_V1_F",10,0,0],["Logic",10,15,0],0];

inside the DAC_Config_Camps.sqf within the DAC_Confgs which is located in the pathway program files(X86) > steam > steam Apps> common > ARMA3

like I said I never had an issues with using the script version for ARMA2 making adjustments to the DAC_Config_Camps.sqf.

any help why this does not work or if you can still change the DAC_Config_Camps.sqf. AVIBIRD

Share this post


Link to post
Share on other sites
I'm trying to set up a respawn position, not camp. The demo mission global_respawn has an example, but doesn't seem to work. Any ideas how to get this to work?

Not sure exactly what you mean.. you are trying to setup respawn for DAC AI groups? This needs to be a DAC camp as far as I am aware. You can have an 'empty' camp as well with no objects that will just respawn the groups - is that what you mean?

I am using the mod version for ARMA3. I made a really cool DAC_Config_Camps which I added lots of static weapons, armor vehicles, extra walls, buildings and more ground units at the camps. I attempted to just change the the Land_BagBunker_Tower_F to a Land_Medevac_HQ_V1_F

like this

_campBasic = ["Flag_CSAT_F","FirePlace_burning_f",15,10,0],"Land_Medevac_HQ_V1_F",10,0,0],["Logic",10,15,0],0];

inside the DAC_Config_Camps.sqf within the DAC_Confgs which is located in the pathway program files(X86) > steam > steam Apps> common > ARMA3

like I said I never had an issues with using the script version for ARMA2 making adjustments to the DAC_Config_Camps.sqf.

any help why this does not work or if you can still change the DAC_Config_Camps.sqf. AVIBIRD

If you are using the mod version of DAC and want to customize the .sqf files you need to add a DAC Logic (under F1 - game logics) called DAC_Extern. This tells DAC to look in your mission folder for the config files instead of inside the mod itself. Then you need to place all the config.sqf files in a folder called DAC in your mission. There is also a way to tell DAC to just use one custom config file but I can't recall how to do that you'd need to read the DAC manual.

As for DAC mod still being loaded you need to restart your game for any changes to mod list.

Share this post


Link to post
Share on other sites

This thread would make more sense in the editing section. Thanks for the reply SavageCDN. Yes, sorry I was unclear, I was trying to get a dac group respawn without the objects of the camp, which it explains you can do in the demo mission global_respawn, but it no work. So its basically picking a camp from DAC_Config_Camps.sqf, case 2 I believe, it spawns no camp, has a respawn marker on the map, but no units. I delete other units in the demo until no respawns are left at the regular camps, but the respawn with no objects camp, it still says 5 respawns left. I'm not at my arma pc, but I just cant' figure out the right parameter to get this to work.

Edited by PlacidPaul

Share this post


Link to post
Share on other sites

If you check here:

https://github.com/SavageCDN/DAC_A3/blob/master/dac_configs/dac/DAC_Config_Camps.sqf

You will see there is a "Null" camp (case 9) - this is what you need to use (it might be a different case # for you). This creates a camp with no units or objects, just a spot for groups to respawn.

Global vs local respawn is a different thing... the Global respawn tells DAC to respawn a dead group at ANY camp in the mission, whereas local respawn tells DAC to respawn a dead group only at a camp within their zone. So if you have the 'Null' camp set to local respawns only groups killed in that zone are respawned there... hopefully I explained that properly :p

Share this post


Link to post
Share on other sites
If you check here:

https://github.com/SavageCDN/DAC_A3/blob/master/dac_configs/dac/DAC_Config_Camps.sqf

You will see there is a "Null" camp (case 9) - this is what you need to use (it might be a different case # for you). This creates a camp with no units or objects, just a spot for groups to respawn.

Global vs local respawn is a different thing... the Global respawn tells DAC to respawn a dead group at ANY camp in the mission, whereas local respawn tells DAC to respawn a dead group only at a camp within their zone. So if you have the 'Null' camp set to local respawns only groups killed in that zone are respawned there... hopefully I explained that properly :p

I found a DAC config where it was case 2 so Placid probably had it right but has the global respawn mixed up. As you described that is probably all he needs to change.

Share this post


Link to post
Share on other sites

You're right Delta, the default config for A3 version has NULL camp as case #2.. thanks.

Share this post


Link to post
Share on other sites

@SavageCDN:

Many thanks for supporting all the DAC users :)

Silola

  • Like 1

Share this post


Link to post
Share on other sites

@Silola

Many thanks for DAC :)

Now back to work on X-Cam!!!!

:whip:

Actually I have a question for you!! I have a zone with single unit groups and I've added an event in DAC_Config_Events.sqf where some code is applied to each group on creation. At the end of the bit of code I have:

[_group] spawn DAC_fReleaseGroup;

Everything seems to work OK I get the side chat message that groups have been released from DAC however with debug on (DAC_Com_Values = [1,2,3,0]) I still see side chat messages like "Enemy detected" or "Got one, moving to.." or "no more contacts returning to zone", which leads me to believe that these groups are not being released from DAC?

Also a similar issue.. if I create a 2nd zone that is deactivated @ mission start, then activate it via trigger later in the mission it seems that the code in DAC_Config_Events does not run on these units... at least I don't get any message in side chat saying that is the case.

Edited by SavageCDN
question

Share this post


Link to post
Share on other sites

Hold on m8, I have to check it out and then give u hopefully a positive answer :)

Silola

Share this post


Link to post
Share on other sites

Hi,

I have checked it out:

Everything seems to work OK I get the side chat message that groups have been released from DAC however with debug on (DAC_Com_Values = [1,2,3,0]) I still see side chat messages like "Enemy detected" or "Got one, moving to.." or "no more contacts returning to zone", which leads me to believe that these groups are not being released from DAC?

That's a real Silola bug:banghead:

To fix that, change the following script:

\DAC\AI_1\DAC_Some_Conditions.sqf >>> Line 19

old code:

if((format["%1",_group getVariable "getout_dac"] in ["<NULL>","any"]) && (_go == 0)) then {if((_group getVariable "getout_dac") == 1) then {_go = 1;_run = 0}};

new code:

if((!(format["%1",_group getVariable "getout_dac"] in ["<NULL>","any"])) && (_go == 0)) then {if((_group getVariable "getout_dac") == 1) then {_go = 1;_run = 0}};

Sorry :(

Also a similar issue.. if I create a 2nd zone that is deactivated @ mission start, then activate it via trigger later in the mission it seems that the code in DAC_Config_Events does not run on these units... at least I don't get any message in side chat saying that is the case.

I can't confirm this. I have made several tests and it has always worked as it should ... hmm.

So ... please try it again :)

Silola

Share this post


Link to post
Share on other sites
Hi,

I have checked it out:

That's a real Silola bug:banghead:

To fix that, change the following script:

\DAC\AI_1\DAC_Some_Conditions.sqf >>> Line 19

Sorry :(

Thanks for checking it out I'll make the change to that code and let you know.

I can't confirm this. I have made several tests and it has always worked as it should ... hmm.

So ... please try it again :)

Silola

Ok thanks for trying... must be something I am doing wrong I will check again.

Has anyone setup DAC with RHS units yet? If so can you PM me your unit configs?

Edited by SavageCDN

Share this post


Link to post
Share on other sites

DAC manual page 36:

DAC_VehAllowed = [1,2 ]

This line declares the types of (empty) vehicles that can be acquired by infantry units.

Apply as many config #´s from the DAC_Config_Units as desired.

DAC reads all vehicles from the given configurations and combines them in a pool.

Any empty vehicle given in the pool will be consiodered usable by the AI.

There is no DAC_VehAllowed anywhere in the code, addon or otherwise except this manual. Can AI use empty vehicles? BLU_F in the sectorfight demo walk right past empty vehicles.

I see a ton of DAC_VehAllowed references in the A2 version of DAC. I'll look into porting it over...

Edited by zorrobyte

Share this post


Link to post
Share on other sites

well i am not the maker of this mod, but i use it a lot, so maybe i can be of assitance.

first a question: the vehicle you try to use, is it vanilla or is it a mod vehicle?

you have two entries that are important for the ai. first in the config_creator, line 46, DAC_VehNotAllowed = [];

the name should say it all, it is for vehicles the ai is not allowed to board.

and then ind the config_behavior, line 35 (the first time), _setEmpVeh = [[150,100],[150,100]];

the dac readme say the following about it:

These arrays enable the boarding of empty vehicles and guns.

If you don't want to use one of these characteristics in the zone, you have to set the 1st value to 0, otherwise as follows:

1st Array = radius of the detection of empty vehicles to board; probability %

2nd Array = radius of the detection of empty guns in order to board; probability %

it is true that there is no vehallowed in the version for arma 3, but in the version for arma 2 you also had to define the vehicles in the config_units. so if there is no entry for this vehicle in the config_units the ai should ignore the vehicle.

this is the way i understand it and used it so far.

Edited by B.A.Verrecus
typos

Share this post


Link to post
Share on other sites
well i am not the maker of this mod, but i use it a lot, so maybe i can be of assitance.

first a question: the vehicle you try to use, is it vanilla or is it a mod vehicle?

you have two entries that are important for the ai. first in the config_creator, line 46, DAC_VehNotAllowed = [];

the name should say it all, it is for vehicles the ai is not allowed to board.

and then ind the config_behavior, line 35 (the first time), _setEmpVeh = [[150,100],[150,100]];

the dac readme say the following about it:

it is true that there is no vehallowed in the version for arma 3, but in the version for arma 2 you also had to define the vehicles in the config_units. so if there is no entry for this vehicle in the config_units the ai should ignore the vehicle.

this is the way i understand it and used it so far.

I've let the sectorfight_1 mission run for the last 12 hours and I've yet to have an AI board an empty vehicle. I need to do further investigation.

Share this post


Link to post
Share on other sites

They do indeed board empty vehicles I have a recent mission that shows this (requires AiA). For reference the unit has to be assigned a waypoint greater than a certain distance in order for them to check for nearby vehicles (can't recall what that distance is ATM). Are the empty vehicles in question found in DAC_Units_Config?

Share this post


Link to post
Share on other sites
... I need to do further investigation.
I see a ton of DAC_VehAllowed references in the A2 version of DAC. I'll look into porting it over...

zorrobyte, take my advice: Do not waste your precious time with further investigation. Maybe you better can provide DAC V4 for ArmA3? Easily change the DAC tags and add your name/tag into the scriptheader as you did with SNKMAN's GL4 before...

Always lovely and nice,

Onkel Bo.

Share this post


Link to post
Share on other sites
zorrobyte, take my advice: Do not waste your precious time with further investigation. Maybe you better can provide DAC V4 for ArmA3? Easily change the DAC tags and add your name/tag into the scriptheader as you did with SNKMAN's GL4 before...

Always lovely and nice,

Onkel Bo.

Fair enough, it was deserved. Was never my intention to step on any toes or "rip-off" anyone's work. I did have a personal use not for release port of DAC from A2 and it was kept just that, personal use and always will be. I do not intend to make the same mistakes as GL4 again and my language above was open to interpretation. To be fair, there WAS some work involved and I wouldn't waste such time simply "replacing the script header". In fact, my stance is that I don't care if my name is in the header - the point was to "grandfather" in to A3 previous author's work so it lives on. I like to think that people create for Arma so that others may enjoy their creation and I personally would be honored if someone picked up a dead project of mine and let it live on. But that is all besides the point, the fact is the license was unclear and it was assumed the previous iterations of GL were open sourced that GL4 must be also as defined. I screwed up, sorry but I did have the best intentions.

Is interesting though, there ARE other projects I'm greatly interested in porting over that are clearly open source and able to be redistributed per the IP and I bet you some would still be very upset (*cough.. MSO.. cough*) but meh, I already left Arma for a year and plan to stick around. After all, I do provide some benefit to the community.

They do indeed board empty vehicles I have a recent mission that shows this (requires AiA). For reference the unit has to be assigned a waypoint greater than a certain distance in order for them to check for nearby vehicles (can't recall what that distance is ATM). Are the empty vehicles in question found in DAC_Units_Config?

I appreciate the support and confirmation. Now back to our regularly scheduled programming..

Edited by zorrobyte

Share this post


Link to post
Share on other sites
Fair enough, it was deserved. Was never my intention to step on any toes or "rip-off" anyone's work. I did have a personal use not for release port of DAC from A2 and it was kept just that, personal use and always will be. I do not intend to make the same mistakes as GL4 again and my language above was open to interpretation. To be fair, there WAS some work involved and I wouldn't waste such time simply "replacing the script header". In fact, my stance is that I don't care if my name is in the header - the point was to "grandfather" in to A3 previous author's work so it lives on. I like to think that people create for Arma so that others may enjoy their creation and I personally would be honored if someone picked up a dead project of mine and let it live on. But that is all besides the point, the fact is the license was unclear and it was assumed the previous iterations of GL were open sourced that GL4 must be also as defined. I screwed up, sorry but I did have the best intentions.

Is interesting though, there ARE other projects I'm greatly interested in porting over that are clearly open source and able to be redistributed per the IP and I bet you some would still be very upset (*cough.. MSO.. cough*) but meh, I already left Arma for a year and plan to stick around. After all, I do provide some benefit to the community.

I appreciate the support and confirmation. Now back to our regularly scheduled programming..

Hey zorrobyte,

thank you for clarifying this. I'm not going to argue or offend, but I think, you have acted a little bit clumsy when you full-throatedly announced "your" GL5 rework. Now I know, that your efforts are well-intentioned.

Kind regards,

Onkel Bo

Edited by Onkel Bo

Share this post


Link to post
Share on other sites
Hey zorrobyte,

thank you for clarifying this. I'm not going to argue or offend, but I think, you have acted a little bit clumsy when you full-throatedly announced "your" GL5 rework. Now I know, that your efforts are well-intentioned.

Kind regards,

Onkel Bo

I admit and agree, it was clumsy of me and not well thought out! My excitement gets ahead of me sometimes with projects. In the old DAC thread, I linked my DAC A3 "port" repo with the intent of giving Silola a head start and offered help in any way. I think such great creators such as Silola may not need my help and may take it as an insult as my tweaks were rather minor now upon thinking about it. Apologizes if anyone was offended or if I was "jumping the gun". My first Dev work and programming was due to ArmA, there are learning pains along the way ;)

I'm excited about DAC, certain functionalities such as autoscaling AI based on player count is amazing! I have had players greatly enjoy using my caching module in place of DAC reduce groups so units maintain loadouts, ammocount etc. Permission is not required as ZBE_Cache is open source but Silola, feel free to use anything from ZBE_Cache to help make DAC better.

Share this post


Link to post
Share on other sites

Obviously I'm a DAC fanboy but it really is the best AI mod/script out there. As you said Zorro, some of the features you just don't find in other AI suites. Autoscaling, caching, customized AI loadouts, AI respawn camps, object generation (if you haven't seen it yet check out DAC_Config_Objects), AI artillery, reinforcements, ability to run code on AI groups/units at spawn or when they reach a waypoint... the list goes on.

Share this post


Link to post
Share on other sites

I'm an AI modder and I concur DAC is probably the best out there. I've been a fan sense its 1st release in ofp or arma1 days. Not sure which one had it 1st. lol MY mod is tiny compared to DAC, and I can say the amount of work put into this has to be staggering! So Thanks for all the hard work you have put into this mod over the years! You're still the man. ;)

Share this post


Link to post
Share on other sites

Don't get me wrong I appreciate anyone who has the balls to write an AI script for Arma... AISS is a great script!! Also DAC is not optimal for all mission types which for me is where other AI scripts like yours or UPSMON come into play.

Share this post


Link to post
Share on other sites

I've found that in some situations, DAC can throw Error undefined to RPT as below (I am spawning camps only in my example):

15:54:36 Error in expression <ull;_KiZone = objNull;_zPoly = [];

if((DAC_Com_Values select 1) == 1) then

{

_t>

15:54:36 Error position: <DAC_Com_Values select 1) == 1) then

{

_t>

15:54:36 Error Undefined variable in expression: dac_com_values

15:54:36 File C:\Users\zorro\Documents\Arma 3\missions\DAC_DWS.Altis\DAC\Scripts\DAC_Create_Zone.sqf, line 21

15:54:36 Error in expression < 0.1;

if(isDedicated) exitwith {};

if(DAC_Marker > 0) then

{

if((DAC_Marker_Va>

15:54:36 Error position: <DAC_Marker > 0) then

{

if((DAC_Marker_Va>

15:54:36 Error Undefined variable in expression: dac_marker

15:54:36 File C:\Users\zorro\Documents\Arma 3\missions\DAC_DWS.Altis\DAC\Marker\DAC_ZoneMarker.sqf, line 26

15:54:36 Error in expression <m 0.3);

waituntil {((format["%1",isnull DAC_StartDummy] != "BOOL") && ((getPosAT>

15:54:36 Error position: <DAC_StartDummy] != "BOOL") && ((getPosAT>

15:54:36 Error Undefined variable in expression: dac_startdummy

15:54:36 File C:\Users\zorro\Documents\Arma 3\missions\DAC_DWS.Altis\DAC\Scripts\DAC_Create_Zone.sqf, line 102

15:54:36 Error in expression <m 0.3);

waituntil {((format["%1",isnull DAC_StartDummy] != "BOOL") && ((getPosAT>

15:54:36 Error position: <DAC_StartDummy] != "BOOL") && ((getPosAT>

15:54:36 Error Undefined variable in expression: dac_startdummy

15:54:36 File C:\Users\zorro\Documents\Arma 3\missions\DAC_DWS.Altis\DAC\Scripts\DAC_Create_Zone.sqf, line 102

15:54:36 Error in expression <m 0.3);

waituntil {((format["%1",isnull DAC_StartDummy] != "BOOL") && ((getPosAT>

15:54:36 Error position: <DAC_StartDummy] != "BOOL") && ((getPosAT>

15:54:36 Error Undefined variable in expression: dac_startdummy

15:54:36 File C:\Users\zorro\Documents\Arma 3\missions\DAC_DWS.Altis\DAC\Scripts\DAC_Create_Zone.sqf, line 102

I resolved this by moving the DAC_Settings block to the top of the file in DAC_Config_Creator.sqf (above _scr = [] spawn (compile preprocessFile "DAC\Scripts\DAC_Preprocess.sqf");)

Not a huge issue, just wanted to report :yay:

---------- Post added at 12:54 AM ---------- Previous post was at 12:50 AM ----------

Seems like dac_startdummy sometimes still errors out (randomly):

19:53:11 Error in expression <m 0.3);

waituntil {((format["%1",isnull DAC_StartDummy] != "BOOL") && ((getPosAT>

19:53:11 Error position: <DAC_StartDummy] != "BOOL") && ((getPosAT>

19:53:11 Error Undefined variable in expression: dac_startdummy

19:53:11 File C:\Users\zorro\Documents\Arma 3\missions\DAC_DWS.Altis\DAC\Scripts\DAC_Create_Zone.sqf, line 102

Share this post


Link to post
Share on other sites
Anyone attempted a GUI mission frontend for DAC? I know that becubed was working on one for Arma2 but I don't think he ever released it :(

I know that Gliptal is a wiz at making GUI frontends, perhaps this could be his new project ;) (or someone else :) )

Any DAC GUI planned ? It would be great to be able to use DAC on the fly (ie Zeus like mission).

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

×