Jump to content
Sign in to follow this  
Rydygier

HETMAN - Artificial Commander

For HAC users: What is the maximum number of simultaneously used by you Leaders?  

59 members have voted

  1. 1. For HAC users: What is the maximum number of simultaneously used by you Leaders?

    • Only one
      3
    • Two
      16
    • Three
      9
    • Four of them
      13
    • Five
      0
    • Six
      6
    • Seven
      0
    • All eight!
      12


Recommended Posts

Just to say that i enjoyed alpha4demo a lot, definitely on the good track Rydygier. :cookies:

I tried it with ASR_AI on top of it, it is amazing, they were both working very well together. Inter group communication was definitely doing its job.

I did an infiltration looking for what had happened in a place where "Medic" was marked on map (I cheated here and went there with onmapclick), but I got detected by a stationary group after some movement, some moments afterwards another mounted group stopped by searching for me, camouflage did its job for a good while and they quit on me. When I restarted relocation somehow they got to me again, and I would have died if it wasn't for allowdamage false.

This was about 1 to 2 hours into the mission, and had to see it through... seen guys using smoke to conceal themselves. Some very nice encounters overall. Not too much standing disputes because reinforcements don't reach locations at the same time, and they exhaust themselves in the process.

Some less smooth stuff I saw was, path conflicting between groups. Some infantry getting overrun by trucks and other vehicles (even before hostilities had started, but this a longstanding general arma issue). One helicopter that apparently landed over some trees and got destroyed. Ambulance was sent for injured but did not help because they weren't close enough (or maybe ASR_AI influenced negatively here, idk). Some other instances of support assistance did not do its job either.

I also think that this mission is kind of unbalanced towards West side, and it looked a bit of a piece of cake to them, I may replay it with different force sizes and see how it goes.

In regards to fps impact I am almost sure it is related to the huge ammount of units on map (and increased AI processing in my case) than HAC processing. Had one or two hiccups where it did seem to be HAC behind doing its stuff but generaly I don't think it influences much performance.

These are things that can get better I am sure, basicaly I am very happy with results.

Many thanks Rydygier! :)

Edited by gammadust

Share this post


Link to post
Share on other sites

Just used shay_gman's MCC to view to action .... VERY NICE.

I too have seen issues with large numbers of AI on map (AI not shooting eachother even though they have plain view)

Share this post


Link to post
Share on other sites
Ambulance was sent for injured but did not help because they weren't close enough (or maybe ASR_AI influenced negatively here, idk). Some other instances of support assistance did not do its job either.

I think, that problem here is as follows:

Target point for a support is located at position of unit, that needs support in moment, when support is sent. But after this unit often still moves (only seriously injured/damaged are withdrawn and waits for support, others continue their missions). In tests in smaller scale there was not a problem - support gets destination early enough to "catch" units in 500 meters range, but here unit has enough time to move to far. Well, hope, that regardless of this problems support doing something useful often enough.

In future version will try to tweak this aspect. Most simply idea - group that calls for support should to stop and wait or, if on mission and still effective, should wait with call until mission is over. Or maybe support unit should get waypoint attached to target unit? But then I affraid, will happen many... car accidents. :)

EDIT: Currently new content of manual is ready, but there is a chance for correction maded by english native speaker to make this text more clear and understandable, so here will be some wait, meanwhile will be multiplicated next Leaders and soon must to inform MSO module creators, that code is ready (although still there will be some work for them, beacuse did not used CBA marker and any other functions, also suppose, that there will be needed some changes for MP compatibility)

I also think that this mission is kind of unbalanced towards West side, and it looked a bit of a piece of cake to them,

It is. War is unfair. :) But it is not so simple. I hope, that there is possible to notice, that lack of coordination between west Leaders gives OPFOR some advantage. First CDF only slowly continues its offensive, and USMC, if UAV early dicover OPFOR units, is far sooner involved in fights with all OPFOR power. Situation changes when CDF forces are finally discovered by OPFOR, but still - most of OPFOR objectives is located in USMC part of map. Also USMC has air support, but has only a few tanks and not so much AT firepower, especially wheeled/tracked. AAVs and LAVs are quite easy targets for BMP-2. There was moment in my test, why I thought, that USMC will be broken...

Edited by Rydygier

Share this post


Link to post
Share on other sites

Target point for a support is located at position of unit, that needs support in moment, when support is sent. But after this unit often still moves (only seriously injured/damaged are withdrawn and waits for support, others continue their missions)...

This was the reason apparently. When I got there the team that was transported by the crashed helicopter was in the process of leaving. I stayed there noticing other stuff, heli crew members did stand nearby but the Medic call position was some 70-100 meters out, where I had earlier seen the Fire team. By the time the ambulance arrived the Fire team was long left. There was an injured crew member though which was standing (can't tell if he could move) that did not approach the ambulance for healing.

I only noticed I could "interfere" and give waypoints to subordinate units almost at the end of the mission. I would have tested if I could "manualy" relocate the ambulance and see if it would work as intended.

Another thing, it would be better if support vehicles would be multi-role (I think there is a mod to enable that), sometimes a vehicle needs more than just fuel and a combination of repair (+ambulance) would be more useful. I saw a disgraced HMMV, with its injured passengers outside, with a fuel truck nearby unable to proceed. Not even refueling was working (I suspect because of so much damage). At the achievable level of efficiency in support missions having separated vehicles for different roles has a very low support success rate.

Edited by gammadust

Share this post


Link to post
Share on other sites
support vehicles would be multi-role

Hmm. If someone will play with such mod, there is not a problem - only need to add given vehicle classname to all/chosen support RHQ arrays.

Share this post


Link to post
Share on other sites

Support missing unit does give small amount of atmosphere. Fuck ups like that happen all the time ;).

AI running over their own guys is something you have to live with, its Arma 2 problem.

However your comment about reinforcements gave me an idea: the better the commander the better the coordination of reinforcements. I think it would be possible for hac to gather reinforcements before moving in to support group.

About my jungle mission: Im trying to think of a way to make HAC sweep sectors of the map. Placing objective on top of enemy camp makes it way to easy. The fun part is not to catch a rabbit, its the process of catching it.

Share this post


Link to post
Share on other sites

Has any body made up any more configs for HAC?

Added some of my favorites from CLSA included some of us/takistanee units as well.

////////////////////////////////HACConfigs//////////////////////////////////////////////

RHQ_LArmor = ["M2A3_EP1"];

RHQ_Snipers = ["US_Soldier_Marksman_EP1","USMC_SoldierS_Sniper","USMC_SoldierS_SniperH","USMC_SoldierS_Spotter","AFMC_infDMR"];

RHQ_Inf =["US_Soldier_EP1", "US_Soldier_B_EP1", "US_Soldier_AMG_EP1", "US_Soldier_AAR_EP1", "US_Soldier_AHAT_EP1", "US_Soldier_AAT_EP1", "US_Soldier_Light_EP1", "US_Soldier_GL_EP1", "US_Soldier_Officer_EP1", "US_Soldier_SL_EP1", "US_Soldier_TL_EP1", "US_Soldier_LAT_EP1", "US_Soldier_AT_EP1", "US_Soldier_HAT_EP1", "US_Soldier_AA_EP1", "US_Soldier_Medic_EP1", "US_Soldier_AR_EP1", "US_Soldier_MG_EP1", "US_Soldier_Spotter_EP1", "US_Soldier_Sniper_EP1", "US_Soldier_Sniper_NV_EP1", "US_Soldier_SniperH_EP1", "US_Soldier_Marksman_EP1", "US_Soldier_Engineer_EP1", "US_Soldier_Pilot_EP1", "US_Soldier_Crew_EP1", "US_Delta_Force_EP1", "US_Delta_Force_TL_EP1", "US_Delta_Force_Medic_EP1", "US_Delta_Force_Assault_EP1", "US_Delta_Force_SD_EP1", "US_Delta_Force_MG_EP1", "US_Delta_Force_AR_EP1", "US_Delta_Force_Night_EP1", "US_Delta_Force_Marksman_EP1", "US_Delta_Force_M14_EP1", "US_Delta_Force_Air_Controller_EP1", "US_Pilot_Light_EP1", "Drake", "Herrera", "Pierce", "Graves", "Drake_Light", "Herrera_Light", "Pierce_Light", "Graves_Light", "ACE_US_Soldier_Terp", "ACE_US_Soldier_M224_G", "ACE_US_Soldier_M224_AG", "ACE_US_Soldier_M224_AB", "ACE_US_Soldier_M252_G", "ACE_US_Soldier_M252_AG", "ACE_US_Soldier_M252_AB","TK_Soldier_EP1", "TK_Soldier_GL_EP1", "TK_Soldier_B_EP1", "TK_Soldier_AAT_EP1", "TK_Soldier_AMG_EP1", "TK_Soldier_LAT_EP1", "TK_Soldier_AT_EP1", "TK_Soldier_HAT_EP1", "TK_Soldier_AA_EP1", "TK_Soldier_Engineer_EP1", "TK_Soldier_MG_EP1", "TK_Soldier_AR_EP1", "TK_Soldier_Medic_EP1", "TK_Soldier_SL_EP1", "TK_Soldier_Officer_EP1", "TK_Soldier_Spotter_EP1", "TK_Soldier_Sniper_EP1", "TK_Soldier_SniperH_EP1", "TK_Soldier_Sniper_Night_EP1", "TK_Soldier_Night_1_EP1", "TK_Soldier_Night_2_EP1", "TK_Soldier_TWS_EP1", "TK_Soldier_Crew_EP1", "TK_Soldier_Pilot_EP1", "TK_Special_Forces_EP1", "TK_Special_Forces_TL_EP1", "TK_Special_Forces_MG_EP1", "TK_Aziz_EP1", "TK_Commander_EP1", "ACE_TK_Soldier_2B14_G", "ACE_TK_Soldier_2B14_AG", "ACE_TK_Soldier_2B14_AB", "ACE_TK_Soldier_KonkursG", "ACE_TK_Soldier_KonkursAG","ACE_TK_Soldier_RPOM","US_Delta_Force_EP1","US_Delta_Force_TL_EP1","US_Delta_Force_Medic_EP1","US_Delta_Force_Assault_EP1","US_Delta_Force_SD_EP1","US_Delta_Force_MG_EP1","US_Delta_Force_AR_EP1","US_Delta_Force_Night_EP1","US_Delta_Force_Marksman_EP1","US_Delta_Force_M14_EP1","US_Delta_Force_Air_Controller_EP1","Drake","Herrera","Pierce","Graves","Drake_Light","Herrera_Light","Pierce_Light","Graves_Light","TK_Special_Forces_EP1","TK_Special_Forces_TL_EP1","TK_Special_Forces_MG_EP1","AFMC_infOfc","AFMC_infSL","AFMC_infM16A2GL","AFMC_infMinimi","AFMC_infMAGg", "AFMC_infDMR","AFMC_infM47","AFMC_infLAW","AFMC_infSMAWg","AFMC_infStinger","AFMC_infMedic","AFMC_infMedic"];

RHQ_ATInf = ["US_Soldier_AHAT_EP1","US_Soldier_LAT_EP1","US_Soldier_HAT_EP1","US_Soldier_AT_EP1","AFMC_infM47","AFMC_infLAW","AFMC_infSMAWg"];

RHQ_Air = ["UH60M_EP1","ACE_MQ8B_hellfire"];

RHQ_HArmor = ["T72_TK_EP1","T55_TK_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","AFMC_M60A3","AFMC_M1A1"];

RHQB_Inf = ["AFMC_infOfc","AFMC_infOfc","AFMC_infSL","AFMC_infM16A2GL","AFMC_infMinimi","AFMC_infMAGg","AFMC_infDMR","AFMC_infM47","AFMC_infLAW","AFMC_infSMAWg","AFMC_infStinger","AFMC_infMedic","AFMC_infMedic","US_Soldier_EP1", "US_Soldier_B_EP1", "US_Soldier_AMG_EP1", "US_Soldier_AAR_EP1", "US_Soldier_AHAT_EP1", "US_Soldier_AAT_EP1", "US_Soldier_Light_EP1", "US_Soldier_GL_EP1", "US_Soldier_Officer_EP1", "US_Soldier_SL_EP1", "US_Soldier_TL_EP1", "US_Soldier_LAT_EP1", "US_Soldier_AT_EP1", "US_Soldier_HAT_EP1", "US_Soldier_AA_EP1", "US_Soldier_Medic_EP1", "US_Soldier_AR_EP1", "US_Soldier_MG_EP1", "US_Soldier_Spotter_EP1", "US_Soldier_Sniper_EP1", "US_Soldier_Sniper_NV_EP1", "US_Soldier_SniperH_EP1", "US_Soldier_Marksman_EP1", "US_Soldier_Engineer_EP1", "US_Soldier_Pilot_EP1", "US_Soldier_Crew_EP1", "US_Delta_Force_EP1", "US_Delta_Force_TL_EP1", "US_Delta_Force_Medic_EP1", "US_Delta_Force_Assault_EP1", "US_Delta_Force_SD_EP1", "US_Delta_Force_MG_EP1", "US_Delta_Force_AR_EP1", "US_Delta_Force_Night_EP1", "US_Delta_Force_Marksman_EP1", "US_Delta_Force_M14_EP1", "US_Delta_Force_Air_Controller_EP1", "US_Pilot_Light_EP1", "Drake", "Herrera", "Pierce", "Graves", "Drake_Light", "Herrera_Light", "Pierce_Light", "Graves_Light", "ACE_US_Soldier_Terp", "ACE_US_Soldier_M224_G", "ACE_US_Soldier_M224_AG", "ACE_US_Soldier_M224_AB", "ACE_US_Soldier_M252_G", "ACE_US_Soldier_M252_AG", "ACE_US_Soldier_M252_AB","TK_Soldier_EP1", "TK_Soldier_GL_EP1", "TK_Soldier_B_EP1", "TK_Soldier_AAT_EP1", "TK_Soldier_AMG_EP1", "TK_Soldier_LAT_EP1", "TK_Soldier_AT_EP1", "TK_Soldier_HAT_EP1", "TK_Soldier_AA_EP1", "TK_Soldier_Engineer_EP1", "TK_Soldier_MG_EP1", "TK_Soldier_AR_EP1", "TK_Soldier_Medic_EP1", "TK_Soldier_SL_EP1", "TK_Soldier_Officer_EP1", "TK_Soldier_Spotter_EP1", "TK_Soldier_Sniper_EP1", "TK_Soldier_SniperH_EP1", "TK_Soldier_Sniper_Night_EP1", "TK_Soldier_Night_1_EP1", "TK_Soldier_Night_2_EP1", "TK_Soldier_TWS_EP1", "TK_Soldier_Crew_EP1", "TK_Soldier_Pilot_EP1", "TK_Special_Forces_EP1", "TK_Special_Forces_TL_EP1", "TK_Special_Forces_MG_EP1", "TK_Aziz_EP1", "TK_Commander_EP1","ACE_TK_Soldier_2B14_G","ACE_TK_Soldier_2B14_AG","ACE_TK_Soldier_2B14_AB","ACE_TK_Soldier_KonkursG","ACE_TK_Soldier_KonkursAG","ACE_TK_Soldier_RPOM","US_Delta_Force_EP1","US_Delta_Force_TL_EP1","US_Delta_Force_Medic_EP1","US_Delta_Force_Assault_EP1","US_Delta_Force_SD_EP1","US_Delta_Force_MG_EP1","US_Delta_Force_AR_EP1","US_Delta_Force_Night_EP1","US_Delta_Force_Marksman_EP1","US_Delta_Force_M14_EP1","US_Delta_Force_Air_Controller_EP1","Drake","Herrera","Pierce","Graves","Drake_Light","Herrera_Light","Pierce_Light","Graves_Light","TK_Special_Forces_EP1","TK_Special_Forces_TL_EP1","TK_Special_Forces_MG_EP1"];

RHQB_ATInf = ["TK_Soldier_AT_EP1","TK_Soldier_LAT_EP1","TK_Soldier_HAT_EP1","AFMC_infM47","AFMC_infLAW","AFMC_infSMAWg"],

RHQB_HArmor = ["T72_TK_EP1","T55_TK_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","AFMC_M60A3","AFMC_M1A1"];

RHQ_Recon =["US_Delta_Force_EP1","US_Delta_Force_TL_EP1","US_Delta_Force_Medic_EP1","US_Delta_Force_Assault_EP1","US_Delta_Force_SD_EP1","US_Delta_Force_MG_EP1","US_Delta_Force_AR_EP1","US_Delta_Force_Night_EP1","US_Delta_Force_Marksman_EP1","US_Delta_Force_M14_EP1","US_Delta_Force_Air_Controller_EP1","Drake","Herrera","Pierce","Graves","Drake_Light","Herrera_Light","Pierce_Light","Graves_Light","TK_Special_Forces_EP1","TK_Special_Forces_TL_EP1","TK_Special_Forces_MG_EP1","ACE_MQ8B_hellfire","AFMC_infOfc","AFMC_infSL"];

RHQB_Recon =["US_Delta_Force_EP1","US_Delta_Force_TL_EP1","US_Delta_Force_Medic_EP1","US_Delta_Force_Assault_EP1","US_Delta_Force_SD_EP1","US_Delta_Force_MG_EP1","US_Delta_Force_AR_EP1","US_Delta_Force_Night_EP1","US_Delta_Force_Marksman_EP1","US_Delta_Force_M14_EP1","US_Delta_Force_Air_Controller_EP1","Drake","Herrera","Pierce","Graves","Drake_Light","Herrera_Light","Pierce_Light","Graves_Light","TK_Special_Forces_EP1","TK_Special_Forces_TL_EP1","TK_Special_Forces_MG_EP1","ACE_MQ8B_hellfire","AFMC_infOfc","AFMC_infSL","AFMC_infDMR"];

Share this post


Link to post
Share on other sites

Speaking of...

What is better: separate thread with these RHQ configs (I'm not sure, in which section of this forum) or maybe spoilers with all configs in first post of this thread? Difference is, that in second case only I could complete list...

Share this post


Link to post
Share on other sites
Speaking of...

What is better: separate thread with these RHQ configs (I'm not sure, in which section of this forum) or maybe spoilers with all configs in first post of this thread? Difference is, that in second case only I could complete list...

I think a separate thread for configs justifies itself, as there are always new MODS made with new configs etc... probably under ArmA 2 & OA : MISSIONS - Editing & Scripting? with the conversation kept here... like this one

Share this post


Link to post
Share on other sites

Great. :)

There may be best to keep in mind few tings:

there are new RHQ arrays for 1.1 (RHQ_FO - FOs, RHQ_MArmor - medium armor, RHQ_BAir - bombers,RHQ_Fuel,RHQ_Ammo,RHQ_Med,RHQ_Rep - support by kind, RHQ_RAir - recon air (UAVs etc), RHQ_NCAir - unarmed air), there will be more Leaders, and there is very easy way to make these configs smaller:

RHQ_Something = ["bla1","bla2"];

RHQB_Something = RHQ_Something;

RHQC_Something = RHQ_Something;

and so on, instead of:

RHQ_Something = ["bla1","bla2"];

RHQB_Something = ["bla1","bla2"];

RHQC_Something = ["bla1","bla2"];

...

RHQH_Something = ["bla1","bla2"];

Also may be good to give people some tips about optimal look of such entry to keep all thread clear and good looking:

Bolded name of addon/DLC etc

Here some description and additional info if needed

RHQ_Something = ["bla1","bla2"];
RHQB_Something = RHQ_Something;
RHQC_Something = RHQ_Something;

something like that with spoilers and php/code box...

Edited by Rydygier

Share this post


Link to post
Share on other sites
and Rydygier can provide a link to your thread for configs

Done. Later perhaps will add something there.

---------- Post added at 12:58 ---------- Previous post was at 12:05 ----------

Have an idea. Probably in 1.1 there will be need to fill only RHQ for first Leader and there will be option to automated filling RHQs for all other used Leaders with same class names... Must prepare some code for that and implement into HAC.

Share this post


Link to post
Share on other sites

Did it in most easy way: all Leaders now uses same RHQ arrays, so there is only RHQ_ in 1.1. No more RHQB_ and so on.

Share this post


Link to post
Share on other sites

Found another reason, why medevac was innefective. Medical support was sent to soldier with injury > 0.1 but team leader issues a heal order only when injury is bigger than 0.5. Adjusted that, should help, especially, since healing order is issued even, when group do not know about ambulance. Important is only distance below 500 meters. BTW. Determined, that soldier cannot stand, when legs damage is bigger than 0.9.

Share this post


Link to post
Share on other sites

I hope its ok. In the morning when I get in from work I'm going to pull all the other configs from this page to HAC configs page. I think is duala, and CWC2 configs. I'll quote said persons name with the config... If that is ok.

Share this post


Link to post
Share on other sites

For me - of course. There is even more configs in this thread. But hard to tell, what think authors of these RHQs. Duala is added already there. Think, that most important will be RHQs for units from official expansions of Arma 2. I would do it myself after release, but I simply do not know these units and can easily be incorrectly assigned by me. I'm also running out of time for dealing with HAC for now. Well. Think, that HAC 1.1 code is as ready as possible, so will begin "spawnig" five additional commanders as last thing to do with 1.1 code.

Share this post


Link to post
Share on other sites
Would it be possible to have RHQ objective be an enemy unit ? (enemy general) that updates every3 minutes or so? It will be great for hunt down missions ..

If this general in not leaderHQ unit, it is not a problem. Just name it RydHQ_Obj1 or similar for other objective/side.

Otherwise... Beacuse Leader unit has certain name, there is not possible to name it "RydHQ_Obj1". So I see three possible ways to do that (examples for Obj1 and LeaderHQB):

- by this code in init config: RydHQ_Obj1 = LeaderHQB; (I'm not sure, but I think, that in this case there should be not usual RydHQ_Obj1 on map);

- to attach objective object named RydHQ_Obj(number) to Leader's unit by RydHQ_Obj1 attachTo [LeaderHQB];

- by cyclically changing position of objective object (most complex and heavy for CPU (still very small)); execute at mission start separate sqf file with such code:

while {(true)} do
{
sleep 180; //3 minuts. Smaller interval means better tracking and more CPU usage
RydHQ_Obj1 setpos (getpos LeaderHQB)
}

In this case you can even insert some position randomization around leader's exact position to make hunt more difficult, for example 200 meters radius and less frequent refreshing:

while {(true)} do
{
sleep 300; 
_posX = ((position LeaderHQB) select 0) + (random 200) - (random 200);
_posY = ((position LeaderHQB) select 1) + (random 200) - (random 200);
RydHQ_Obj1 setpos [_posX,_posY]
}

Share this post


Link to post
Share on other sites

Hi Rydygier!

I have made a Unit Expansion List like you have described in your Manual (RHQ_Recon = ["bla","bla","bla"]; etc.). In which Place i have to put the Stuff?

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  

×