Jump to content
Sign in to follow this  
raedor

Mapfact releases DAC 2.0 for ArmA

Recommended Posts

Hmm, I had another idea for a feature, imagine having DAC use more organized attacks.

How? Well lets say that when waypoints are selected and some groups have the selected waypoints or created waypoints near, 50-100(could be defined) and if detected they would then add another waypoint in between their current path, and the other groups would add it near them and they would be snycronized. That way they could travel in mass to the next way point and perhaps assault something.

Is this possible?

Share this post


Link to post
Share on other sites

@Heatseeker: First thing you should do is to look if your array is made correctly. You should initialize a script with the following codeblock:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">waituntil{DAC_Basic_Value == 1};

Hint format["%1",UnitsFromZ1];

The Hint will be shown after the complete initialization of DAC. So if the hint shows something with "scalar bool array string...", you should declare the global variable directly in the DAC_Config_Events script.

The commandline for this should look like this:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">["if(isNil UnitsFromZ1) then {call compile format[""UnitsFromZ1 = []""]};{call compile format[""UnitsFromZ1 = UnitsFromZ1 + [_x]""]}foreach units _group"],

Hope this works wink_o.gif

Share this post


Link to post
Share on other sites
@Heatseeker: First thing you should do is to look if your array is made correctly. You should initialize a script with the following codeblock:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">waituntil{DAC_Basic_Value == 1};

Hint format["%1",UnitsFromZ1];

The Hint will be shown after the complete initialization of DAC. So if the hint shows something with "scalar bool array string...", you should declare the global variable directly in the DAC_Config_Events script.

The commandline for this should look like this:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">["if(isNil UnitsFromZ1) then {call compile format[""UnitsFromZ1 = []""]};{call compile format[""UnitsFromZ1 = UnitsFromZ1 + [_x]""]}foreach units _group"],

Hope this works wink_o.gif

I pasted that in my init:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">waituntil{DAC_Basic_Value == 1};

Hint format["%1",UnitsFromZ1];

And got a fat list of units from Z1 so it works smile_o.gif .

I replaced

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">(({alive _x} count UnitsFromZ1) == 0)

With:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE"> east countside UnitsFromsa < 1

And it worked confused_o.gif .

Thank you very much for your help smile_o.gif .

Share this post


Link to post
Share on other sites

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">["if(isNil UnitsFromZ1) then {call compile format[""UnitsFromZ1 = []""]};{call compile format[""UnitsFromZ1 = UnitsFromZ1 + [_x]""]}foreach units _group"],ehrm, why do you use so many call compile formats here? You don't have dynamic variable names, they're static, so no need to use them at all :S

should be: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">["if (isNil 'UnitsFromZ1') then { UnitsFromZ1 = [] }; { UnitsFromZ1 = UnitsFromZ1 + [_x] } foreach units _group"],Note the difference at isNil, as it requires a string with the variable name, not a variable itself unless the variable is a string pointing to the variable you wish to check with isNil smile_o.gif

also personally I would initialize the UnitsFromZ1 in an init.sqf etc, because now the isNil check for the UnitsFromZ1 variable will happen at every unit init (so also everytime a zone gets activated, a unit respawns etc)

Share this post


Link to post
Share on other sites

Hi smile_o.gif

This line is original from me, indeed, in other form, because I had with it another intention.

For every DAC zone should automatically generate own Array in which then the respective unities are stored.

Thereby it was possible to find out whether, e.g., all unities from zone "z1" are dead.

original:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">["if(isNil format[""DacZone%1"",_groupzone]) then {call compile format[""DacZone%1 = []"",_groupzone]};{call compile format[""DacZone%1 = DacZone%1 + [_x]"",_groupzone]}foreach units _group"],

As you can see, it is processed the local variable "_groupzone". This variable contains the name (string) of the zone.

Basically all local variables can be processed on this way.

(All local variables who are in the Create scripts.)

Greeting

Silola

Share this post


Link to post
Share on other sites

Well yes, your line makes a lot more sense indeed biggrin_o.gif. Thanks for commenting.

Share this post


Link to post
Share on other sites

Hi there,

I was trying to get DAC to run with a mission, so I put a marker including the script call and all the settings the readme calls for in the mission and copied the DAC folder and the init.sqs file into the mission folder. When I try running the mission I get the following error with the option of clicking continue (that however does not work):

The name of a zone is not correct!

The name of a zone in the script call must be a string.

I named the marker t1, the same thing I also put in the script call.

Any ideas?

Share this post


Link to post
Share on other sites

Yes,

this is what I put in the on activation field of the trigger:

["t1",[1,0,0,100,150],[5,1,50,10],[ ],[ ],[ ],[3,3,0,6]]exec "DAC\Scripts\DAC_Init_Zone.sqs"

and this is what I put in the name field:

t1

Share this post


Link to post
Share on other sites

It has to be z1 (or z2, z3, etc.) if i havent completely lost my mind by now huh.gif

Share this post


Link to post
Share on other sites

According to the readme you can name the trigger however you want as long as you enter the same thing in the script call. You have to define them as a string, which I guess I am not entirely sure what exactly that means.

Share this post


Link to post
Share on other sites
According to the readme you can name the trigger however you want as long as you enter the same thing in the script call. You have to define them as a string, which I guess I am not entirely sure what exactly that means.

Either you didn´t read right or theres something lost in translation.

Do yourself a favour and just try naming it z1 instead of t1 wink_o.gif

edit: stated more precisely

Share this post


Link to post
Share on other sites

Hello,

Important hint: Please use no DAC version from the demonstration.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Yes,

this is what I put in the on activation field of the trigger:

["t1",[1,0,0,100,150],[5,1,50,10],[ ],[ ],[ ],[3,3,0,6]]exec "DAC\Scripts\DAC_Init_Zone.sqs"

and this is what I put in the name field:

t1

This is absolutely correct. I cannot explain myself, why then this error message is indicated huh.gif

This message comes only if the first parametre of the script call is not a "String".

Here are the area from the script:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">if((typeName _thisZone) != "STRING") then

{

hintc format["The name of a zone is not correct !\n\nThe Name of a zone in the Script call must be a string."];

DAC_Basic_Value = 8;publicvariable "DAC_Basic_Value";

if(time > 0) exitwith {};

}

Therefore, I suppose that there is another problem.

Are there in your mission even other zones?

Perhaps, it helps to deactivate the zones bit by bit, until the mistake does not appear any more.

To deactivate a zone, write false in the field of Condition.

Greeting

Silola

Share this post


Link to post
Share on other sites
According to the readme you can name the trigger however you want as long as you enter the same thing in the script call. You have to define them as a string, which I guess I am not entirely sure what exactly that means.

Either you didn´t read right or theres something lost in translation.

Do yourself a favour and just try naming it z1 instead of t1 wink_o.gif

edit: stated more precisely

My zones are called sa, sb, sc, etc and work perfectly.

Something is wrong but it doesnt seem to be the DAC confused_o.gif .

Share this post


Link to post
Share on other sites
According to the readme you can name the trigger however you want as long as you enter the same thing in the script call. You have to define them as a string, which I guess I am not entirely sure what exactly that means.

Either you didn´t read right or theres something lost in translation.

Do yourself a favour and just try naming it z1 instead of t1 wink_o.gif

edit: stated more precisely

My zones are called sa, sb, sc, etc and work perfectly.

Something is wrong but it doesnt seem to be the DAC confused_o.gif .

Whoah .. never knew this. Well sorry then junior_g whistle.gif

Share this post


Link to post
Share on other sites

np, it seems like there is something else that is wrong with the mission. The thing I am trying to get DAC to run with is shinden1's Arma GDCE. It appears that there are the scripts of an old version of DAC in there and the old DAC's zones. I think that the problem is somewhere in there.

I deleted all the old DAC zones now and then the error message was a different one. It is now looking for the file DAC_Add_Units.sqs that is supposedly in the Scripts folder of the DAC folder. This file did exist in the old DAC folder that is in the mission folder, it does not exist in the new version anymore though. What I am suspecting is that somewhere in the mission scripts there is a scripts that is calling for the old DAC to still be activated.

Share this post


Link to post
Share on other sites

Hello junior_g,

please, use no old (OFP) DAC version in ArmA.

This plan will fail definitively.

Thanks smile_o.gif

Silola

Share this post


Link to post
Share on other sites

Yeah, I figured that, that's why I put in the new version and deleted the old stuff, but why the heck is it tryin to find that old file???

If you don't have anything better to do (I bet you do though) you can get the GDCE thing from armaholic and check it out. Maybe you got an idea, it's pretty frustrating.

Share this post


Link to post
Share on other sites

I have to say that I think this is addon of the year hands down, so much intensity is added! On the server I frequent, people are just LOVING DAC missions to death smile_o.gif

I'm wondering if there's a bug with DAC_GunAllowed though? I find that AI will enter an empty DSHKM for example, however when they are killed and the gun empty again, no other AI will enter it.

Has anyone else experienced this?

Share this post


Link to post
Share on other sites

Hi trooper_ryan,

many thanks smile_o.gif

Your problem with the killed gunner is not known to me.

If I get time, I will carry out a test.

Greeting

Silola

Share this post


Link to post
Share on other sites

Silola,

Do you have a Simple Arti Call Script for calling an Arti and then removing Action for period of time before you can do it again that we can all use for DAC Players?  Only one I see is

onMapSingleClick "_pos exec ""CallArti.sqs""";

unfortunately this interfers with directing AI on map.

Much Appreciated.

Vengeance

Share this post


Link to post
Share on other sites

Silola,

I'm having difficulty with the DAC_fInsertGroup.

I have a UAZ (Called eUAZ), a group of 4 especas (grouped as grpCPD) which I have put itno their init's this moveindriver eUAZ etc. They are all in the vehicle.

I then setpos their vehicle to an appropriate point within the zone.

The zone is setup as this.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">["trgZone1",[1,0,0,1000,600],[8,2,50,8],[2,2,20,6],[],[],[0,0,0,0,0]]exec"DAC\Scripts\DAC_Init_Zone.sqs" and that works fine.

Once DAC has finished, I'm using a radio trigger to activate the additional group. USing the following.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">deleteWaypoint [grpCPD,0];v=[grpCPD,2,[trgZone1],8,0,0,[1,1,1],0] spawn DAC_fInsertGroup;

I run it, and it tells me the group has been added to DAC, but they just sit there and don't move.

What have I done wrong?

Share this post


Link to post
Share on other sites

Hi Silola,

Second question please, while I really need some Arti Code I would also like to know if there is a way to DeActive a Zone but not DELETE the Enemy Air or Vehicles? Just enemy soldiers?

Tested New Mission "Alien Abduction" with multiple Test Players at Global Aliens Clan and got outstanding comments on DAC. Nice Job!

Thanks

Vengeance

Share this post


Link to post
Share on other sites

I solved my problem. The Leader of the group has to be the driver. Maybe you could add that to your instruction document.

Is there somewhere a list of all the reason codes for arty abortion? I need to understand why my enemy AI are never able to call in arty?

Share this post


Link to post
Share on other sites
I solved my problem. The Leader of the group has to be the driver. Maybe you could add that to your instruction document.

Is there somewhere a list of all the reason codes for arty abortion? I need to understand why my enemy AI are never able to call in arty?

Page 18:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">1 = Target-Group is moving too fast [only relevant for DAC artillery (AI)]

2 = number of units in Target-Group insufficient [only relevant for DAC artillery (AI)]

3 = insufficient vehicles in Target-Grpup [only relevant for DAC artillery (AI)]

4 = insufficient units in Call-Group

5 = insufficient distance of Call-Group to Target-Group [or to position, for DAC Artillery (Player)]

6 = required type of unit in Call-Group not present

7 = required skill of Call-Group is undercut

8 = given probability was not reached

9 = friendly units undercut the minimum distance to target position

10 = no valid Artillery-Unit present, or no Artillery-Unit ready or rather in range

11 = global condition not true

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  

×