Jump to content
Sign in to follow this  
silola

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

Recommended Posts

Is there anyway to exclude a DAC zone to NOT be reduced? I do want to have the reduce feature enabled for most zones, civilian zones I don't want to reduce. After they are reduced and then recreated, they lose a killed eventhandler I gave them. I need these civ zones to not be reduced, or I need to get the events config to work correctly, but I can't seem to manage this. I've tried running the script that adds the killed eventhandler for civs, but I get an error no matter how I try. I've tried numerous ways of running the script in the events config.

rpt:

Error in expression <ts_Unit_S =	[
[],
[],
[],
[],
[],
[null = []execVM "civDeathCounter.sqf";]
];
_E>
 Error position: <= []execVM "civDeathCounter.sqf";]
];
_E>
 Error Missing ]
Error in expression <ts_Unit_S =	[
[],
[],
[],
[],
[],
[null = []execVM "civDeathCounter.sqf";]
];
_E>
 Error position: <= []execVM "civDeathCounter.sqf";]
];
_E>
 Error Missing ]
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <ts_Unit_S =	[
[],
[],
[],
[],
[],
[null = []execVM "civDeathCounter.sqf"]
];
_Ev>
 Error position: <= []execVM "civDeathCounter.sqf"]
];
_Ev>
 Error Missing ]
Error in expression <ts_Unit_S =	[
[],
[],
[],
[],
[],
[null = []execVM "civDeathCounter.sqf"]
];
_Ev>
 Error position: <= []execVM "civDeathCounter.sqf"]
];
_Ev>
 Error Missing ]
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <,
[],
[],
[]execVM "civDeathCounter.sqf";
];
_Events_Unit_V = 	[
[],
[],
[],
[],>
 Error position: <;
];
_Events_Unit_V = 	[
[],
[],
[],
[],>
 Error Missing ]
Error in expression <,
[],
[],
[]execVM "civDeathCounter.sqf";
];
_Events_Unit_V = 	[
[],
[],
[],
[],>
 Error position: <;
];
_Events_Unit_V = 	[
[],
[],
[],
[],>
 Error Missing ]
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error position: <“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error Invalid number in expression
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error position: <“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error Invalid number in expression
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <	[
[],
[],
[],
[],
[],
[[_group] execVM â€civDeathCounter.sqfâ€]
];
_Events_Unit_V>
 Error position: <â€civDeathCounter.sqfâ€]
];
_Events_Unit_V>
 Error Invalid number in expression
Error in expression <	[
[],
[],
[],
[],
[],
[[_group] execVM â€civDeathCounter.sqfâ€]
];
_Events_Unit_V>
 Error position: <â€civDeathCounter.sqfâ€]
];
_Events_Unit_V>
 Error Invalid number in expression
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <Events_Unit_S =	[
[],
[],
[],
[],
[],
[[“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error position: <“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error Invalid number in expression
Error in expression <Events_Unit_S =	[
[],
[],
[],
[],
[],
[[“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error position: <“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error Invalid number in expression
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error position: <“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error Invalid number in expression
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error position: <“[_group] execVM “â€civDeathCounter.sqfâ€â€>
 Error Invalid number in expression
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“[_group] execVM â€civDeathCounter.sqfâ€â€]>
 Error position: <“[_group] execVM â€civDeathCounter.sqfâ€â€]>
 Error Invalid number in expression
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“[_group] execVM â€civDeathCounter.sqfâ€â€]>
 Error position: <“[_group] execVM â€civDeathCounter.sqfâ€â€]>
 Error Invalid number in expression
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“[_unit] execVM "â€civDeathCounter.sqfâ€"â€>
 Error position: <“[_unit] execVM "â€civDeathCounter.sqfâ€"â€>
 Error Invalid number in expression
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“[_unit] execVM "â€civDeathCounter.sqfâ€"â€>
 Error position: <“[_unit] execVM "â€civDeathCounter.sqfâ€"â€>
 Error Invalid number in expression
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Duplicate weapon ItemGPS detected for US_Soldier_SL_EP1
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“null = [_group] execVM "â€civDeathCounte>
 Error position: <“null = [_group] execVM "â€civDeathCounte>
 Error Invalid number in expression
Error in expression <_Events_Unit_S =	[
[],
[],
[],
[],
[],
[“null = [_group] execVM "â€civDeathCounte>
 Error position: <“null = [_group] execVM "â€civDeathCounte>
 Error Invalid number in expression

Example Zone:

fun=["civ2",[11,0,[b][color="#FF0000"]1[/color][/b]],[4,1,30,5],[],[],[],[3,16,3,0]] spawn DAC_Zone;

dac_config_events.sqf

case 1:
{
_Init_Unit_S = [ Infantry
[], //event Create
[], //event ReachWP
[], //event NotAliveGroup
[], //event NotAliveUnit
[], //event BeforeReduce
[“[_group] execVM “â€civDeathCount.sqfâ€â€â€], //event AfterBuildUp << Note all of the extra quotes, this is exactly how the dac readme has them. I've tried various ways with "correct" appearing quotes...
];

bla bla bla...

---------- Post added at 18:47 ---------- Previous post was at 18:46 ----------

Question (may have asked it before but ran into the problem again recently):

I can't seem to figure out something that has been bugging me for a while with DAC. Whenever I have 2 sides using DAC (east and west), and both are using respawn camps, it screws up. I can't remember if I'm also moving any DAC zones post-init but possibly.

What happens is that after a group is eliminated it will respawn at the camp... however it respawns not as it's own group but into another existing DAC group (same side). This effect snowballs and I've seen DAC groups with > 100 units in them after a while (at least that's what the DAC_Marker is showing on the map). Now I've actually confirmed that this group does not in fact have 100 units (teleport near it and visually confirm size). I assume DAC is still spawning in new groups however it is very difficult to troubleshoot with map markers that either 1: don't exist for that group or 2: aren't showing the actual # of units in that group.

Has anyone seen this before?? Please say yes or I'll think I'm losing it :p

The first few times I ran into this I assumed it was my in-experience using DAC or scripting in general but now I'm sure it's nothing I'm doing wrong...

That is weird lol. I wouldn't know though, as I never use the camps feature

Edited by Iceman77

Share this post


Link to post
Share on other sites
Is there anyway to exclude a DAC zone to NOT be reduced? I do want to have the reduce feature enabled for most zones, civilian zones I don't want to reduce. After they are reduced and then recreated, they lose a killed eventhandler I gave them. I need these civ zones to not be reduced, or I need to get the events config to work correctly, but I can't seem to manage this. I've tried running the script that adds the killed eventhandler for civs, but I get an error no matter how I try. I've tried numerous ways of running the script in the events config.

Maybe won't make a difference, but you could try

[nul = [_group] execVM â€civDeathCount.sqfâ€]

Share this post


Link to post
Share on other sites
Does DAC not work on shapur?

I'm pretty sure I've used DAC on Shapur before I would be surprised if it didn't work on a stock map. Some custom maps it has problems (I think to do with the 0,0,0 coords not being in bottom left?). Are you getting errors when trying or is it just not starting up?

Re: reducing individual zones I do not think that is possible it's all or nothing. I can't think of a way around that either without using some other caching script which would probably be a Bad Idea.

Re; Config events- I screwed around with that feature a while back and couldn't make it work (prob my own fault).. so I've never really used it

Aside: I went through some of the DAC demo missions and found a cool feature I didn't know about. You can spawn armor/inf patrols as part of the same group:

fun=["z1",[1,0,0],[],[],[2,[b][1,4,1][/b],20,6],[],[1,1,1,1]] spawn DAC_Zone;

In the section for armor instead of the single digit size parameter you put [1,4,1] which spawns a single armored vehicle and infantry (group size 4) as part of a single patrol group (only works for inf and tracked vehicles)

Edited by SavageCDN

Share this post


Link to post
Share on other sites

@savage - regarding the camp units stacking up in a single group; In the behavior config, did you try to tinker with the "_setJoin" parameter?

Share this post


Link to post
Share on other sites
@savage - regarding the camp units stacking up in a single group; In the behavior config, did you try to tinker with the "_setJoin" parameter?

Yes I have.. usually it is set to 1 with my min group size being 3. Under observation though it's not another group joining due to it's reduced size, it's the group respawning into another existing group after being killed. It's very strange :p

Share this post


Link to post
Share on other sites

...

As for incomplete zone formation, I had this problem when setting up a complex set of zones. MadRussian solved this for me as follows:

In the DAC_Config_creator, find this section:

Code:

if(DAC_Code < 2) then

{

//===========================================|

// StartScriptOnServer |

//===========================================|

//player sidechat "ServerStart"

//[] execVM "myServerScript.sqf";

//onMapSingleClick "_fun = [_pos,_shift]execVM ""Action.sqf""";

//[[sec1,""]] execVM "DAC\Scripts\DAC_Init_Sector.sqf";

}

and change it as follows:

Code:

if(DAC_Code < 2) then

{

//===========================================|

// StartScriptOnServer |

//===========================================|

//player sidechat "ServerStart"

//[] execVM "myServerScript.sqf";

//onMapSingleClick "_fun = [_pos,_shift]execVM ""Action.sqf""";

//[[sec1,""]] execVM "DAC\Scripts\DAC_Init_Sector.sqf";

MRU_DacReady = true;

}

then your init.sqf needs to look something like this:

Code:

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

MRU_DacReady = false;

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";

waitUntil {MRU_DacReady};

...

Man this saved more of my hair from turning grey. I was trying to create zones mid mission and the condition DAC_NewZone == 0 wasn't cutting it alone. I was stuck for two days trying to create 2 zones mid mission on two random objective areas. I eventually was using straight up time conditions (time > 120 - 180) instead of dac_newZone variable. Anyhow, glad I can do it a legit way now. many thanks, cheers.

Share this post


Link to post
Share on other sites
Man this saved more of my hair from turning grey. I was trying to create zones mid mission and the condition DAC_NewZone == 0 wasn't cutting it alone. I was stuck for two days trying to create 2 zones mid mission on two random objective areas. I eventually was using straight up time conditions (time > 120 - 180) instead of dac_newZone variable. Anyhow, glad I can do it a legit way now. many thanks, cheers.

Glad that worked for you, however the thanks are due to MadRussian, not me :)

Share this post


Link to post
Share on other sites

Hello, I am using SBSMac's PVP CTF script and I have run into a problem with DAC. I can either load DAC and the PVP scripts crashout and won't initialize, or I can load the PVP scripts and then DAC won't initialize. I am only trying to add ambient civilians and cars to Shapur and so far this have been the only way I know how to have it work, does anyone either know how to get these two scripts to work togeather, or is there another method of adding medium density civilian populations to Shapur.

Share this post


Link to post
Share on other sites

Because it interferes with the CTF scripts I am using. I am trying to use DAC but it doesn't want to play nice with them.

Share this post


Link to post
Share on other sites

I see. I got confused there and thought you were actually using the ambient civ module + DAC.

Share this post


Link to post
Share on other sites

So... you are using DAC to spawn in the civilians and vehicles?

I'm not familiar with the PvP script pack you are using.. are there specific errors that appear or anything in your .RPT file?

Share this post


Link to post
Share on other sites
I was trying to use DAC to spawn the civilians and vehicles. Where is the RPT file located?

Depends on your OS - check here and make sure you have hidden files/folders showing in Windows

http://community.bistudio.com/wiki/Crash_Files

WINDOWS XP: %userprofile%\Local Settings\Application Data\ArmA 2 OA

WINDOWS VISTA / 7: %userprofile%\AppData\Local\ArmA 2 OA

Also you can enable ShowScriptErrors which might give you some info as well:

http://community.bistudio.com/wiki/Debugging_Techniques#Show_Script_Errors

Share this post


Link to post
Share on other sites

Looks like a FSM issue or something such as that.

This is a snippit of the report the whole thing is 800k characters so I cant post it.

Error in expression < _civilianActionClasses;

_fsmPath = _selectedAction select 3;

_fsm = _argume>

Error position: <_selectedAction select 3;

_fsm = _argume>

Error Undefined variable in expression: _selectedaction

Error in expression <l "_action") then {hintc str ["A",_unit,_action,_fsm];_action = ""};

if (isnil ">

Error position: <_action,_fsm];_action = ""};

if (isnil ">

Error Undefined variable in expression: _action

Error in expression <sm") then {hintc str ["B",_unit,_action,_fsm];_fsm = -1};

if ((_action == "" ||>

Error position: <_fsm];_fsm = -1};

if ((_action == "" ||>

Error Undefined variable in expression: _fsm

Error in expression <xtLogFormat ["Log: [ALICE] %1 - %2",_id,_fsmPath];

};

};

_n = _n + 1;>

Error position: <_fsmPath];

};

};

_n = _n + 1;>

Error Undefined variable in expression: _fsmpath

Error in expression < _civilianActionClasses;

_fsmPath = _selectedAction select 3;

_fsm = _argume>

Error position: <_selectedAction select 3;

_fsm = _argume>

Error Undefined variable in expression: _selectedaction

Error in expression <l "_action") then {hintc str ["A",_unit,_action,_fsm];_action = ""};

if (isnil ">

Error position: <_action,_fsm];_action = ""};

if (isnil ">

Error Undefined variable in expression: _action

Share this post


Link to post
Share on other sites

Hmmm... that might be a bit over my head as far as troubleshooting where the problem lies... so does DAC actually spawn in the civilians and vehicles or does it error out before it gets to the point of creating units?

I've never actually used DAC for civilians perhaps someone else has more experience with this?

Share this post


Link to post
Share on other sites

Well if I place the DAC init before everything in the init file the civilians spawn and do their cool stuff. If I place it after the pvp script files it does not initialize and the pvp scripts work just fine. It is sort of a if one works the other doesn't.

Share this post


Link to post
Share on other sites

I can take a look at the mission if you like... no promises but it might be easier for me to troubleshoot.

Did you get this sorted out? If so please post how so others can benefit :)

Edited by SavageCDN

Share this post


Link to post
Share on other sites

Quick post, sure its been asked before and I just didn't search hard enough.

Can someone please give me an in-depth view on how the artillery function works and how to allow it to operate without a zone being created for the guns themselves?

Or even better, tell me how to implement it for the AI?

Share this post


Link to post
Share on other sites

One of the best AI script/mod bundles around. Easy to use and doesn't hit on performance either. Thanks Silola :)

I have some questions though:

1. How to remove markers properly? (I did manage to remove them from game by removing the scripts, don't know is this a correct way though)

2. How to remove chat notification messages? (Ie, who was killed, who was spawned, etc)

3. How to remove artillery completely without errors?

4. How to remove camps (any kind off, and MHQ's)?

5. How to remove ammo and statics from spawning?

What I'm basically trying to make is post battle WW2 mission where both West and East sides would spawn randomly over a huge shared area with occasional infantry and rarely ever spawned armors or light vehicles by DAC while ammo and empty vehicles spawns would be handled either by placements on map or my own scripts. In addition to this, player would respawn (or players, for MP, is DAC MP compatible by the way?) after death, randomly as well.

To sum it up:

>Simple post battle survival-like WW2 setting.

>Some infantry spawned.

>Rarely any armors spawned.

>No artillery support.

>No camps spawned.

>No statics spawned.

I already understood how to manually add units, tweak some of DAC's options and properly initiate DAC via triggers for each side.

Any help is much appreciated, thank you in advance.

Share this post


Link to post
Share on other sites
Quick post, sure its been asked before and I just didn't search hard enough.

Can someone please give me an in-depth view on how the artillery function works and how to allow it to operate without a zone being created for the guns themselves?

Or even better, tell me how to implement it for the AI?

I've only ever used the arty for AI and in conjunction with respawn camps (as they spawn with the required arty units). It's 'on' by default and should work without any changes. In your DAC_Config_Behavior there is a setting

_support = 1,1

- arty is the 2nd digit which must correspond to a valid # from the DAC_Config_Arty file

1. How to remove markers properly? (I did manage to remove them from game by removing the scripts, don't know is this a correct way though)

2. How to remove chat notification messages? (Ie, who was killed, who was spawned, etc)

3. How to remove artillery completely without errors?

4. How to remove camps (any kind off, and MHQ's)?

5. How to remove ammo and statics from spawning?

(is DAC MP compatible by the way?)

Yes DAC is MP compatible.. it also comes built into the ACE mod

Your questions:

1 - I'm assuming you mean the DAC debug markers? In DAC_Config_Creator.sqf look for DAC_Markers and set it to 0. If it's the player markers you are referring to that setting is called DAC_Player_Marker set it to false

2 - Same file look for DAC_Comm_Value (not 100% of the exact wording for this one... doing it from memory :p) and set it to [0,1,0]

3 - DAC_Config_Behaviour - look for the _support = 1,1 line and set the 2nd value to zero

4 - Enemy AI camps? Just don't add any when you create your trigger init line (fun=["z1"..... etc). Camps are created by the 2nd last array which you can just leave blank []

5 - As part of the camps? Look at DAC_Config_Camps and you can remove the ammo crates and static weapons.. remember there are separate configs for each side and faction in that file

The manual covers most of this stuff although I realize it can be confusing :cool:

Share this post


Link to post
Share on other sites
I've only ever used the arty for AI and in conjunction with respawn camps (as they spawn with the required arty units). It's 'on' by default and should work without any changes. In your DAC_Config_Behavior there is a setting
_support = 1,1

- arty is the 2nd digit which must correspond to a valid # from the DAC_Config_Arty file

Yes DAC is MP compatible.. it also comes built into the ACE mod

Your questions:

1 - I'm assuming you mean the DAC debug markers? In DAC_Config_Creator.sqf look for DAC_Markers and set it to 0. If it's the player markers you are referring to that setting is called DAC_Player_Marker set it to false

2 - Same file look for DAC_Comm_Value (not 100% of the exact wording for this one... doing it from memory :p) and set it to [0,1,0]

3 - DAC_Config_Behaviour - look for the _support = 1,1 line and set the 2nd value to zero

4 - Enemy AI camps? Just don't add any when you create your trigger init line (fun=["z1"..... etc). Camps are created by the 2nd last array which you can just leave blank []

5 - As part of the camps? Look at DAC_Config_Camps and you can remove the ammo crates and static weapons.. remember there are separate configs for each side and faction in that file

The manual covers most of this stuff although I realize it can be confusing :cool:

Thanks a lot! Exactly what I was looking for.

Share this post


Link to post
Share on other sites

Is there a link to version "C" that actually works?

Never mind, I found it on Armaholic here.

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
Sign in to follow this  

×