Jump to content
Rydygier

HETMAN - Artificial Leader

Recommended Posts

Neato, autoclass should be damn helpful.  OPTRE's class names are too wonky to use it, but definitely won't have to worry about future mods.  Quick question about recon class, how effectively can it be applied to vehicles?  Documentation says all recon should also be classed as infantry, so I'm not sure here.  I do know that the unarmed warthog is designed specifically to be used for recon above all else, and should be prioritized when using land vehicles for recon, but I'm not sure how to apply that.

Share this post


Link to post
Share on other sites

Recon category is specifically for recon oriented foot infantry. But this is not the only category used for recon missions. In fact priority of choice for recon missions is this:

 

1. RydHQ_RAirG (UAVs, unarmed/recon aircrafts etc)

2. RydHQ_reconG (Recon infantry)

3. FO

4. Snipers

5. Light Armor

6. Any non-crew infantry

7. Anything but statics, arty, support, excluded from recon, specfor, naval and "cargo only" groups. 

 

This order can't be changed by the user other way, than by editing scripts. So whatever you put into RAir RHQ will by prioritized over other categories for recon usage, but also will be treated all the time as aerial recon unit. The problem with vehicles as recon units is Arma-specific. In Arma vehicles, especially on the move, are easily detected by AIs from very far, which is not good in case of recon missions, which as for intent aren't combat missions and detection should be rather avoided. 

 

Also you have init variables to set recon-related things per group, not class:

 

RydHQ_NoRecon = [] - groups whose names are in this array will be not used only for recon missions;

RydHQ_ROnly= [] groups whose names are in this array will be used only for recon missions;

 

So you can decide, which groups will be used only for recon, and which will be never used for recon. 

Share this post


Link to post
Share on other sites
On ‎1‎/‎29‎/‎2017 at 8:51 PM, Mack. said:

Thank you for producing this fantastic mod. Im working on a mission using the CUP units, does anybody have the RHQ arrays for the CUP mod?

 

Thanks

 

Mack

In the script I have above. Just hint str which ever units you want to see. It will give you all of them. Cup infantry will be in there with all others...: example hint str RYD_WS_Inf_class will give you all infantry classnames of vanilla and mods you have loaded. :)

  • Like 1

Share this post


Link to post
Share on other sites

Hello Rydygier!

 

Just a quick question. Struggling to stop HETMAN from controlling excluded units. I have a dynamic spawn script that adds the spawned unit into the RydHQ_Excluded array (See below). However, these groups are still being controlled by HETMAN. Can you offer any advice?

 

_leader = leader _grp1;

RydHQ_Excluded = RydHQ_Excluded + [_leader];

Share this post


Link to post
Share on other sites

Well, wherever the problem is, it is not in these two lines - look fine as long _grp1 is pointing a proper group. You may also try:

 

RydHQ_ExcludedG = []- Another exclusion method, working with both limited and unlimited control modes. HAL will not control groups, whose names are included in this array:

 

RydHQ_ExcludedG = RydHQ_ExcludedG + [_grp1];

 

But excluded should work too.

 

Not the case for newly spawned group, but note also, that excluding a group from further orders will not nullify currently executed task (chain of waypoints/actions, given task include). 

 

For breaking of current task routine for a group use:

groupName setVariable ["RydHQ_MIA",true];

 

eg: _grp1 setVariable ["RydHQ_MIA",true];

 

(that will make Hetman think, that group is dead, thus further task execution is stopped).

 

Alternatively - run Hetman in limited control mode, then any group but manually included will stay out of HALs control. 

Share this post


Link to post
Share on other sites

Many thanks for you quick response!

 

On a side note, does Hetman recognise the expansion units correctly? Syndicate for example.

 

Also, still loving Hetman!

 

Share this post


Link to post
Share on other sites

You're welcome, thanks. Frankly, I didn't tested Hetman for long time, but I hope, Apex units are recognized by autofiller fine, as its cirteria supposed to be quite universal. If I find out otherwise - I'll try fix that when time for update come. 

Share this post


Link to post
Share on other sites
On 2017-02-18 at 2:32 PM, Quickdeath007 said:

Thanks for the info, it will definitely come in handy.  Configuring some units has been a pain.  If you get a chance, do you think you could update the online manual with some of this?  The one on Google Drive?  Keep it somewhere easy to find instead of buried in a forum, yeah?  Also, I have a faint idea of what Forward Observers are supposed to be, but just to check, are they supposed to be spotters for artillery of some sort, or are they spotters for snipers?  OPTRE pairs snipers with a single forward observer in it's groups, so I'm not sure.

 

If you don't mind me suggesting, might I recommend a new class for heavily armored aircraft?  I ask because of OPTRE's pelicans, they can and will soak up several shots from AA rockets before failing, and the passengers will likely said shots.  I wouldn't ask just for one unique unit, but I've also heard several Russian made helicopters have similar reputations for resisting AA fire, and it'd be interesting to see what HETMAN would do if it knew an armed cargo helicopter could afford to take a few hits from rockets.

 

Rydygier can maybe put a link to that particular post in the original post. Then easy enough to find. Even if it is hosted somewhere a post needs to be made somewhere!!

Share this post


Link to post
Share on other sites
On 2017-01-02 at 9:39 PM, ThreeProphets said:

 

Normally the leaders are used to command squads, giving them the role of the platoon leader. But to help encourage stealth for the player and save performance, I've divided the squads into smaller fireteams, and I'm using the leaders to fill the position of squad leader, who should follow his units. This is also true of platoon leaders, but to a lesser extent. I'll try some follow waypoints, though.

 

As to how well HAL is working these days, I'm having trouble with several of the config variables, BB seems to be completely messed up, and I'm getting a lot of error messages. I hope you get the chance to work on it, because I use it in most of my missions now.

 

I don't think the leader in HETMAN is considered to be a FT leader, squad leader or platoon leader. He is much much much higher up the chain.

Share this post


Link to post
Share on other sites

Probably too little free time for now to finish the job, but I'm taking some preliminary steps toward updating Hetman a bit. Any bugs/broken things poped out due to game updates since last Hetman update?

 

There's one particular matter, I would like to discuss. Some time ago playing HWS started to encounter weird issue, when, likely in combat, cargo subordinates of motorized groups all the time are getting mount/dismount orders. 

 

My guess, it has something in common with introduced command: 

 

setUnloadInCombat

 

Although still unclear, what causes infnite, alternate embark/disembark circus, I plan to make an attempt to sort this issue and perhaps, if doable, use some benefits from this scripting command, at least for native group's vehicles, maybe also for external cargo transport, not sure. I have own thoughts of course, but I would like to ask about your opinion, ladies and gentelmen, depending on what factors/in what conditions a vehicle en route towards it's waypoint should or shouldn't make all passengers disembark when hostile is encountered?

 

For example: soft vehicle transports infantry and then enemy armored vehicle appears. Or: Armored vehicle transports some infantry, when hostile infantry appear, having some AT weaponry (hard to say, infantry may give some cover agaist AT infantry, but will be exposed, while own APC's armament can handle the threat too, but...). Or: a chopper transports infantry when suddenly AA weaponry appears en route (immediately land and disembark or push forward). Etc. Etc. Etc. 

 

There's one technical factor: did some tests with Hunter and two passengers moving towards waypoint, and hostile vehicle en route. Often scenario was: enemy spotted, disembark ordered, then either vehicle stops for a moment and passengers are disembarked OR vehicle keeps ride fast, and passengers say, they can't disembark; if passengers disembarked, vehicle continues slowly toward waypoint and often, by doing so, one of just disembarked passenger is killed - hit by own slowly moving vehicle. Kinda plague. Anyway, passengers will stay out of the vehicle even, if danger is gone and script command to embark used (orderGetIn). So perhaps just because of that passengers should stay embared in all cases en route?

  • Like 2

Share this post


Link to post
Share on other sites

Ive seen a few undeclared variable errors. If you wish I can start noting them when they appear.

 

 

Share this post


Link to post
Share on other sites

Sure, it will be appreciated. Such RPT log will greatly speed up debugging, since I will know from the start, that bug exist and where strat to look for the source. All such errors should be eradicated, no mercy. 

  • Like 2

Share this post


Link to post
Share on other sites

So far implemented (not necessarily tested) for 1.23:

 

- Fix for group's directions in defensive mode;

- customizable defensive perimeter size and garrisoning range;

- scaleabale "flanking distance" - how far preliminary attack positions, flanking waypoints etc. are from target positions, may be useful to improve chance for avoiding premature detection/combat involvement; 

- an attempt to prevent constant embark/disembark circus for passengers grouped with vehicles detecting hostiles en route (it is set, so passengers will in all cases stay inside), effectiveness unknown;

- revamped "synchronize attack" to make it actually working - groups sent against given hostile will (usually) wait for the last of them to take its preliminary attack position before attack is commenced. Better result due to simultanous assault for a price of dynamism (attack moment dependent on the slowest/last attacker)...

 

Also I want to eradicate any code error causing on scree/RPT error logs, so I'll appreciate reports here, while not all reported AI misbehaviors are HAL's fault/concern. Also thinking about may "todos" from first post - which are doable. Retaskng already busy groups sometimes is logical, but it may be too complex to determine via code, when actually/exactly those "times" occur. Troops carrying own UAVs - don't know yet. 

 

  • Like 6

Share this post


Link to post
Share on other sites

Im away from my PC for a week but I will start noting down the undefined variables.

 

From memory there is one in the chopper LZ script.

 

 

 

 

Share this post


Link to post
Share on other sites

Meanwhile implemented effective usage of small, packed UAVs. Added code is the part of recon mission routine, put between a rest (about 1 minute) after recon team reaches destination and SAD patrol around it. So, inbetween code searches through the group's units for those carrying UAV backpack (with special config entries for assembling UAV). At first found such unit, all the group takes a kneel down, UAV backpack is removed, instead proper UAV model is spawned in front of UAV carrier unit, then gets a waypoint somewhere near objective area, recon task is assigned to. UAV reaches given altitude, goes there, performs aerial SAD, returns, lands near UAV carrier, then is removed, unit gets back UAV backpack, group performs further recon activities. Any next UAV carriers in that group are ignored. 

 

By default UAV altitude is set to 150 meters above the ground. It seems to be optimal in normal circumstancies to give UAV good chance (not a warranty) to spot a standing unit below while usually shouldn't be recognized as enemy aircraft by such unit. However, since spotting is highly dependent on many factors, UAV altitude will be controlled by HAL's init variable, which also, if set to 0 or below, will disable whole feature. In normal circumstancies even 120 seems too low - UAV in my tests was spotted, recognized and shot down. 

 

Due to that issue UAV scan may be not that effective, as could be, but in case, this will be fixed in the future, there's a code present, that should make UAV cam turret be focused on scanned position. Currently its optics are fixed dead ahead. Anyway, spotting skills of invisible UAV "crew" are maxed (skill value may be altered by third party AI mod though). UAV group is excluded from HAL control to avoid "hijacking" it by HAL, that would use it as common RAir unit, so there's automatically added entry to the ExcludedG array - important, if someone does some custom tricks with this array. 

 

During UAV scan few things may go wrong (UAV may be spotted and shot down, UAV controller may be in direct danger or dead, UAV may land too far from the unit or, as I saw once, UAV may stuck in infinite loop during SAD). So, if UAV is destroyed, controlling unit is in danger or killed, if UAV will land too far from it or if it will stuck so long, that scan will be not concluded in 15 minutes max, UAV is considered lost, deleted, backpack not returned, UAV scan ended. 

 

I must admit, it works pretty smoothly in combinaton with artillery for example. In my tests UAV was able to direct effective HAL-controlled mortar fire on spotted targets.

  • Like 6

Share this post


Link to post
Share on other sites
On 18/02/2017 at 0:24 PM, mikey74 said:

I go through and create personal unit mods like a kid and candy. So I created this little script I've been using on personal missions. Maybe it will be useful to you and others. I put this in my init.sqf of any mission I'm playing or just goofing around with. So rather than going through and finding all the classes or a post with classes I wrote this to go into any HAL type mission I like playing through with different mods loaded. Hope this helps
 

  Reveal hidden contents

 




_cfgVehicles = configfile >> "cfgvehicles";
_cfgfactions = configfile >> "CfgFactionClasses";

RYD_WS_Inf_class = [];
RYD_WS_recon_class = [];
RYD_WS_FO_class = [];
RYD_WS_snipers_class = [];
RYD_WS_ATinf_class = [];
RYD_WS_AAinf_class = [];
RYD_WS_Art_class = [];
RYD_WS_HArmor_class = [];
RYD_WS_MArmor_class = [];
RYD_WS_LArmor_class = [];
RYD_WS_LArmorAT_class = [];
RYD_WS_Cars_class = [];
RYD_WS_Cargo_class = [];
RYD_WS_NCCargo_class = [];
RYD_WS_Crew_class = [];
RYD_WS_rep = [];
RYD_WS_med = [];
RYD_WS_fuel = [];
RYD_WS_ammo = [];
RYD_WS_Other_class = [];
RYD_WS_Support_class = [];
RYD_WS_Air_class = [];
RYD_WS_BAir_class = [];
RYD_WS_RAir_class = [];
RYD_WS_Naval_class = [];
RYD_WS_Static_class = [];
RYD_WS_StaticAA_class = [];
RYD_WS_StaticAT_class = [];
for "_c" from 0 to (count _cfgVehicles - 1) do {
	_current = _cfgVehicles select _c;
	if (isClass _current) then {
		_currentClass = configname _current;
		//hint str [_currentClass,_current]; sleep 1;
		if ((getNumber (_current >> 'scope') >= 1) && (getNumber (_current >> 'side') != 3) && _currentClass isKindOf "Man") then {
			//hint str (getNumber (_current >> 'camouflage')); sleep .03; getText (_current >> 'vehicleClass') in ['men','Men','infantry',"Man"]
			RYD_WS_Inf_class pushBack _currentClass;
			if ((getText (_current >> 'DisplayName')) find 'Crew' >= 0 ||
					(getText (_current >> 'DisplayName')) find 'Pilot' >= 0 ) then {
				RYD_WS_Crew_class pushBack _currentClass;
			};
			if ((getText (_current >> 'editorSubcategory') in ["EdSubcat_Personnel_SpecialForces"]) &&
					((getText (_current >> 'DisplayName')) find 'Diver' == -1)) then { //getText (_currentClass >> 'vehicleClass') (_currentClass isKindOf "MenSniper" || _currentClass isKindOf "MenRecon")
				RYD_WS_recon_class pushBack _currentClass;
			};
			if ((getText (_current >> 'DisplayName')) find 'Officer' >= 0 ||
					(getText (_current >> 'DisplayName')) find 'Commmander' >= 0 ||
						(getText (_current >> 'DisplayName')) find 'General' >= 0 ||
							(getText (_current >> 'DisplayName')) find 'Colonel' >= 0 ||
								(getText (_current >> 'DisplayName')) find 'Major' >= 0 ||
									(getText (_current >> 'DisplayName')) find 'Captain' >= 0 ||
										(getText (_current >> 'DisplayName')) find 'Lieutenant' >= 0 ||
											(getText (_current >> 'DisplayName')) find 'Squad Leader' >= 0 ||
												(getText (_current >> 'DisplayName')) find 'Sargeant' >= 0 ||
													(getText (_current >> 'DisplayName')) find 'Sergeant' >= 0 ||
														(getText (_current >> 'DisplayName')) find 'Team Leader' >= 0 ||
															(getText (_current >> 'DisplayName')) find 'Watcher' >= 0 ||
																(getText (_current >> 'DisplayName')) find 'Corporal' >= 0 ||
																	(getText (_current >> 'DisplayName')) find 'JTAC' >= 0) then {
				RYD_WS_FO_class pushBack _currentClass;
			};
			if ((getText (_current >> 'DisplayName')) find 'Marksman' >= 0 ||
					(getText (_current >> 'DisplayName')) find 'Sharpshooter' >= 0 ||
						(getText (_current >> 'DisplayName')) find 'Sniper' >= 0 ) then {
				RYD_WS_snipers_class pushBack _currentClass;
			};
			if (((getText (_current >> 'DisplayName')) find 'AT' >= 0||
					(getText (_current >> 'DisplayName')) find 'Javelin' >= 0 ||
						(getText (_current >> 'DisplayName')) find 'RPG' >= 0 ||
							(getText (_current >> 'DisplayName')) find 'RShG' >= 0 ||
								(getText (_current >> 'DisplayName')) find 'Hireling' >= 0 ||
									(getText (_current >> 'DisplayName')) find 'Tow' >= 0) &&
										((getText (_current >> 'DisplayName')) find 'Asst' == -1)) then {
				RYD_WS_ATinf_class pushBack _currentClass;
			};
			if ((getText (_current >> 'DisplayName')) find 'AA' >= 0 && (getText (_current >> 'DisplayName')) find 'Asst' == -1) then {
				RYD_WS_AAinf_class pushBack _currentClass;
			};
		};
		if ((getNumber (_current >> 'scope') > 1) && (getNumber (_current >> 'side') != 3) && _currentClass isKindOf "LandVehicle") then {
			_bbuarty = [(configfile >> "CfgVehicles" >> _currentClass),"availableForSupportTypes",0] call BIS_fnc_returnConfigEntry;
			if (_bbuarty find  "Artillery" > -1) then {
				RYD_WS_Art_class pushBack _currentClass;
			};
			if (getNumber (_current >> 'armor') >= 600 && !(_currentClass in RYD_WS_Art_class)) then {
				RYD_WS_HArmor_class pushBack _currentClass;
			};
			if (getNumber (_current >> 'armor') >= 300 && getNumber (_current >> 'armor') < 600 && !(_currentClass in RYD_WS_Art_class)) then {
				RYD_WS_MArmor_class pushBack _currentClass;
			};
			if (getNumber (_current >> 'armor') > 200 && getNumber (_current >> 'armor') < 300 && !(_currentClass in RYD_WS_Art_class)) then {
				RYD_WS_LArmor_class pushBack _currentClass;
			};
			if (getNumber (_current >> 'armor') < 600 && _currentClass find 'cannon' >= 0 && !(_currentClass in RYD_WS_Art_class)) then {
				RYD_WS_LArmorAT_class pushBack _currentClass;
			};
			if (getNumber (_current >> 'armor') > 70 && getNumber (_current >> 'armor') <= 200 && !(_currentClass in RYD_WS_Art_class)) then {
				RYD_WS_Cars_class pushBack _currentClass;
			};
		};
		if ((getNumber (_current >> 'scope') > 1) && (getNumber (_current >> 'side') != 3) && _currentClass isKindOf "Air") then {
			RYD_WS_Air_class pushBack _currentClass;
			if (((getText (_current >> 'DisplayName')) find 'CAS' >= 0 ||
					(getText (_current >> 'DisplayName')) find 'Armed' >= 0 ||
						_currentClass find 'Attack' >= 0 ||
							_currentClass find 'AA' >= 0 ||
								_currentClass find 'armed' >= 0) && _currentClass find 'unarmed' == -1) then {
				RYD_WS_BAir_class pushBack _currentClass;
			};
			if (_currentClass find 'UAV' >= 0 && _currentClass find 'CAS' == -1 && !(_currentClass in RYD_WS_BAir_class)) then {
				RYD_WS_RAir_class pushBack _currentClass;
			};
		};
		if ((getNumber (_current >> 'scope') > 1) && (getNumber (_current >> 'side') <= 2) && _currentClass isKindOf "StaticWeapon") then {
			RYD_WS_Static_class pushBack _currentClass;
			if (_currentClass find 'AA' >= 0) then {
				RYD_WS_StaticAA_class pushBack _currentClass;
			};
			if (_currentClass find 'AT' >= 0) then {
				RYD_WS_StaticAT_class pushBack _currentClass;
			};
		};
		if ((getNumber (_current >> 'scope') > 1) && (getNumber (_current >> 'side') <= 2) && _currentClass isKindOf "Ship") then {
			RYD_WS_Naval_class pushBack _currentClass;
		};
		if ((getNumber (_current >> 'scope') > 1) && getNumber (_current >> 'transportSoldier') >= 2 && !(_currentClass in RYD_WS_Art_class)) then {
			RYD_WS_Cargo_class pushBack _currentClass;
			RYD_WS_NCCargo_class pushBack _currentClass;
		};
		if (((getText (_current >> 'DisplayName')) find 'repair' >= 0 ) || ((getText (_current >> 'DisplayName')) find 'Repair' >= 0 )) then {
			RYD_WS_rep pushBack _currentClass;
		};
		if (((getNumber (_current >> 'scope') > 1) && (getNumber (_current >> 'side') != 3)) &&
				(((getText (_current >> 'DisplayName')) find 'Medical' >= 0 ) ||
					((getText (_current >> 'DisplayName')) find 'Medevac' >= 0)) &&
						((_currentClass isKindOf "LandVehicle") || (_currentClass isKindOf "Air"))) then {
			RYD_WS_med pushBack _currentClass;
		};
		if (((getNumber (_current >> 'scope') > 1) && (getNumber (_current >> 'side') != 3)) &&
				(((getText (_current >> 'DisplayName')) find 'fuel' >= 0 ) ||
				 	((getText (_current >> 'DisplayName')) find 'Fuel' >= 0 )) &&
						((_currentClass isKindOf "LandVehicle") || (_currentClass isKindOf "Air"))) then {
			RYD_WS_fuel pushBack _currentClass;
		};
		if (((getNumber (_current >> 'scope') > 1) && (getNumber (_current >> 'side') != 3)) &&
				(((getText (_current >> 'DisplayName')) find 'Ammo' >= 0 ) ||
				 	((getText (_current >> 'DisplayName')) find 'ammo' >= 0 )) &&
						((_currentClass isKindOf "LandVehicle") || (_currentClass isKindOf "Air"))) then {
			RYD_WS_ammo pushBack _currentClass;
		};
		if (((getNumber (_current >> 'scope') > 1) && (getNumber (_current >> 'side') != 3)) &&
				(((getText (_current >> 'DisplayName')) find 'Ammo' >= 0 ) ||
					 ((getText (_current >> 'DisplayName')) find 'fuel' >= 0 ) ||
					 	((getText (_current >> 'DisplayName')) find 'Fuel' >= 0 ) ||
						 	((getText (_current >> 'DisplayName')) find 'Medical' >= 0 ) ||
								((getText (_current >> 'DisplayName')) find 'Medevac' >= 0) ||
									 	((getText (_current >> 'DisplayName')) find 'ammo' >= 0 )) &&
											((_currentClass isKindOf "LandVehicle") || (_currentClass isKindOf "Air"))) then {
			RYD_WS_Support_class pushBack _currentClass;
		};


	};

};
RYD_WS_NCAir_class = RYD_WS_Air_class - RYD_WS_BAir_class;

RYD_WS_AllClasses = RYD_WS_Inf_class + RYD_WS_Art_class + RYD_WS_HArmor_class + RYD_WS_MArmor_class + RYD_WS_LArmor_class + RYD_WS_Cars_class + RYD_WS_Air_class + RYD_WS_Naval_class + RYD_WS_Static_class + RYD_WS_Support_class + RYD_WS_Other_class;

 

 

Oh yes :)

 

That and Ryd's routine (which I didn't know about) just made setting up HAL class arrays vastly easier. Thanks a lot to both of you for sharing the scripts :yay:

Share this post


Link to post
Share on other sites

Great. :)

 

All right, today ran my stress test mission with 8 Leaders, BB active, CPU completely overloaded in time due to masive AI combat etc, etc. There wasn't any script error in the RPT. In particular - nothing with LZ code (which was enabled). So, I plan 1.23 release at some point soon after A3 1.68 (next stable update), till then there's time for reporting to me any bugs, I didn't found, including RPT logs containing error log, if applies (may be necessary, if I can't reproduce given issue). In the meantime I may run more tests, if time allow. 

 

Then HWS, and then, with empty "to do" queue, I'll be able to think further about something new. Assuming free time of course. 

  • Like 3

Share this post


Link to post
Share on other sites

Have you done any testing on 1.68 RC Ryd?  I'm running the 64bit RC and am impressed with it so far.  I'm happy to test if you don't want to download the RC.

Share this post


Link to post
Share on other sites

No, I usually wait for stable update. I'm pretty excited about trying 64bit though. Sure, here is current HAL 1.23 wip for anyone willing to test. My free time for Arma projects is over for now anyway, so I couldn't do more testing in near future. 

 

Also new init variable with default values:

 

RydHQ_DefRange = 1;//multiplier of default defensive perimeter sizes, so for 0.5 for example defended area will have halved dimensions and thus all defenders will stay closer to each other.  
RydHQ_GarrRange = 1;//similar thing for garrisoning range (multiplier of default search radius for buildings and statics to garrison)

RydHQ_AttInfDistance = 1;//how far from target location initial attack positions are for infantry/soft attackers - multiplier, default values vary depending on group's own vehicle or lack of it
RydHQ_AttArmDistance = 1;//same for armored attack routine
RydHQ_AttSnpDistance = 1;//same for sniper attack routine
RydHQ_CaptureDistance = 1;//same for capturing mission
RydHQ_FlankDistance = 1;//same for flanking maneuvers - how wide they are
RydHQ_AttSFDistance = 1;//same for specfor attack routine
RydHQ_ReconDistance = 1;//same for recon missions
RydHQ_UAVAlt = 150;//altitude for carried UAVs, 0 or less disables feature of UAV usage during recon missions. 

 

Oh, and also synchronized attacks should work now:

 

RydxHQ_SynchroAttack = false;//shared by all Leaders. If true, Leaders will try to coordinate sent attacks – infantry or motorized/mechanized/armor groups dispatched to attack given target will wait as long, as all of them will be on flanking positions before final attack will be initiated. 
 

  • Like 2

Share this post


Link to post
Share on other sites
48 minutes ago, Rydygier said:

No, I usually wait for stable update.

 

You tease Rydygier. :f:

Share this post


Link to post
Share on other sites

So I can just drag the files into your BB mission or the simple altis one ? 

 

PS does anyone have any HETMAN missions to share ?

Share this post


Link to post
Share on other sites

Yep, you can paste the files into BB/simple demo mission or any other HAL mission, or just set up own scenario. Anything, you like. It's even important during tests, so people do, whatever they want. This way code is tested in various ways, I wouldn't try. 

Share this post


Link to post
Share on other sites

I will be making an HAL scenario to our group playing this evening. I will try it with the test version, and report any back any bugs. We used the 1.22 last evening on our server, with no issues, still a great script/mod (using it more than alive).

Sendt fra min SM-G925F med Tapatalk

  • Like 1

Share this post


Link to post
Share on other sites
On 2017-03-08 at 3:58 AM, Rydygier said:

Great. :)

 

All right, today ran my stress test mission with 8 Leaders, BB active, CPU completely overloaded in time due to masive AI combat etc, etc. There wasn't any script error in the RPT. In particular - nothing with LZ code (which was enabled). So, I plan 1.23 release at some point soon after A3 1.68 (next stable update), till then there's time for reporting to me any bugs, I didn't found, including RPT logs containing error log, if applies (may be necessary, if I can't reproduce given issue). In the meantime I may run more tests, if time allow. 

 

Then HWS, and then, with empty "to do" queue, I'll be able to think further about something new. Assuming free time of course. 

 

@Rydygier I'm hoping to get back into using HETMAN and creating some missions if I can ever find some time. Do you mind sharing this test mission you are talking about? Sounds like a good stress test and I can mess with it a bit for testing purposes and finding any potential bugs until it is released.

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

×