Jump to content
Rydygier

[SP] HETMAN: War Stories

Recommended Posts

Awesome, i upvoted it.

---------- Post added at 20:48 ---------- Previous post was at 20:46 ----------

Advanced menu is for any kind of dirty scripting tricks, you like. :)

But, sadly, arrays of classnames are defined after code typed into this menu is executed, under loading screen, so changing their content that way probably isn't possible...

"transfer vehicles"

Not sure, you mean - trucks? Some are added separatelly as another kind of support units, should be not more, than several. If there is more - possibly reason is same, as for 1:50 ratio issue. Tomorrow I'll try to test porting to some map, I suspect all mentioned issues may have same reason.

Sorry i meant transport vehicles. Like covered and uncovered transport vehicles with a single driver. Some of them do have cargo AI in them but there seems to be a lot more without.

Share this post


Link to post
Share on other sites

Yep, those empty are support cargo vehicles, that should be added, but not in big numbers.

Just did quick test with straight forward porting to Stratis, following my recipe. All seems to work flawlessly (tested vanilla of course, it's rule number 1) except, of course, Stratis if far too small, so both armies have no room to be separated properly. Problems may be with maps ported from A2, like Takistan (I wonder, if Takistan is big enough. A3 with Altis really gives another scale. Perhaps Chernarus-sized maps are reasonable minimum?), not sure. Tried to download AiA TP (currently I have no any map addon installed), but this failed due to some "network error", so I must after all postpone this for tommorow, today is too late for retry...

Edited by Rydygier

Share this post


Link to post
Share on other sites

All right. Downloaded AiA TP and tested porting on Takistan. Seems, my guess was right. There is only one problem with A2 maps, that need additional treatment, or you get described issues. A2 maps, unlike A3's have not in their config important for us entry "mapSize". Luckilly, Hetman's code has implemented as backup solution used in A2 version (HAC). To use it, you need to add in editor another object: an empty, square trigger, that will cover exactly whole map (not absolute exact, but best, if will fit maps size pretty well). So, trigger should be placed in the center of the map and have radius equal to half of the map edge length. This trigger must be named: RydBB_MC. Length of the edge should be divisible by 500 (single sector dimension). For Takistan I set radius 6400.

When on the map is present such trigger, code will treat its area for sectorization purposes like the map area, instead of looking for config entry pointing map size, that doesn't exist for A2 maps.

Here is working example (requires AiA TP and CBA).

Known issue: affects any non-island map: if an army is positioned at the location near map edge, some forces may be placed off the map boundry. Something, I probably can and will fix. Shouldn't break the mission though.

Also added porting instructions section to the first post...

Edited by Rydygier

Share this post


Link to post
Share on other sites

"Dev branch" updated to 1.06 beta 4:

Reduced chance, Leader will switch to/stay in defensive mode, if not "defend" mission;

Reduced by 10% morale fluctuations;

New variables for advanced setup:

RydHQ_MoraleConst (default = 1.1);

RydHQB_MoraleConst (default = 1.1);

RydHQ_OffTend (default = 1.1);

RydHQB_OffTend (default = 1.1);

(should be positive numbers)

Two per side, allowing for direct control over morale sensitivity (the bigger number, the lower senstitivity to the morale-affecting events. 1.1 means reduction by 10%, 1.2 - by 20% while 0.9 increase by 10% etc) and control over tendency to stay in offensive mode (works analogously, but bigger number means bigger chance for staying in offensive mode - the bigger value, the more serious reasons (known enemy firepower advantage over own forces, morale, Leader's personality) needed to go into defensive mode).

For "attack" mission Leader will push forward towards enemy starting positions after taking the main objective named in the briefing;

code improvement to avoid placing units on the off-map areas;

code fixes.

Share this post


Link to post
Share on other sites

Latest DEV update is freaking great. Also the porting is working great. Tested it on multiple maps and will release it soon for others to test once i run it a couple times. Thanks for the updates

Share this post


Link to post
Share on other sites

It's great to see how HWS is coming along. :)

Do you guys have any recommendations for interesting custom factions that work well with this scenario?

Share this post


Link to post
Share on other sites

Depends, what you like. I like "forgotten wars" climates, so I'm often playing with massi's African Conflict factions. In general, for best effect, addon should provide possibly wide, well balanced variety of force and group types, best for more than one side.

Share this post


Link to post
Share on other sites

Thanks Rydygier, looks right up my alley!

EDIT: Also had a great run with 'East Vs. West' which seems to work pretty well with HWS. Only minor issue was when squad leader got loop-stuck issuing "GET IN" command, which I solved by switching to him and back to my guy.

Edited by Ophirb

Share this post


Link to post
Share on other sites

Hey Rydygier,

Suggestion. Is it possible to create a blacklist area for where you don't want combat to happen? Here's what i would like to do. I'd like to in some scenarios create a BASE where i can rearm, choose different vehicles, etc... as needed. I want to make sure the battle does not happen in that area or it could create some issues if the enemy spawn there (dont care so much if they move there).

Also i noticed that with MODS, it seems HAL takes over them. So for example, i tried to incorporate the JTAC mod, but as soon as it spawns it causes the unit to be forced in control by HAL i think. I can take this back to the Modder if you think its an issue with his mod.

Share this post


Link to post
Share on other sites

If you're prepared to edit the mission code, then you can blacklist chosen locations. In the WS_fnc.sqf find lines 1941-1947:

	{
	if ((tolower (text _x)) in ["sagonisi"]) exitWith
		{
		_loc2 set [_foreachIndex, "deleteThis"]
		}
	}
foreach _loc2;

_loc2 = _loc2 - ["deleteThis"];

Here you can add additional locations, but only of "nameVillage" type to the blacklist by adding their names lowercase only to this array: ["sagonisi"]. Like: ["sagonisi","xyz","abc"]. Blacklisted locations will be not chosen as battlefield, but still some forcxes may be located near, so may be necessary to exclude all locations in chosen area. Sadly, only villages, unless you feel confident enough to add same piece of code for other location types, you can find in that part of the code (similar code for _loc10,_loc5,_loc1,_locHill instead of _loc2 pasted at the line 1953).

Although for regular player, that will not modify the mission, I see no real point to exclude locations this way, it should be easy, so I'll add special variable useable via advanced setup window allowing to blackist any location by it's name.

Also i noticed that with MODS, it seems HAL takes over them. So for example, i tried to incorporate the JTAC mod, but as soon as it spawns it causes the unit to be forced in control by HAL i think. I can take this back to the Modder if you think its an issue with his mod.

That's default way of HAL's working. It will take control over anything of Leader's side, that would appear on the map. To avoid that, you must put name of the each group, that shouldn't be controlled by HAL into special global array. For example:

1. First define it in the init.sqf, best at the beginning:

RydHQ_ExcludedG = [];

2. Then eg in the init field of each group leader:

RydHQ_ExcludedG pushBack (group this);

or, best, add the group into this array in the spawn code direectly, just after spawn lines.

That's for A side. for B there is RydHQB instead of RydHQ, rest stays same.

Or, if you prefer, define that variable already as array filled with all those groups, you want to exclude, if are present from the beginning.

Edited by Rydygier

Share this post


Link to post
Share on other sites

Hi All-

I've taken the DEV version of HAL HWS and ported over to a couple maps. I've ported them to others but still testing as it seems to be running into issues.

Currently these are the ported maps:

Takistan

Chernarus

Daryah

Sangin

DROPBOX Download

As newer versions come out, just replace the folders in the mission folder with the new version. I'll try to keep these up to date as well, along with releasing other maps. Thanks

BIG THANKS to the owner of this awesome mod/script/mission making this possible. Bravo my friend.

Share this post


Link to post
Share on other sites

Great news. I'm very glad, I could make it possible. :)

Share this post


Link to post
Share on other sites

Thanks for the info above. Glad there's ways to do it.

So i'm testing and running into some issues. The mod uses Modules to spawn the units, but it does have an INIT line. So for this i've put: "this setGroupId ["ZULU"]; RydHQ_ExcludedG pushBack (group this);" Then in the INIT.SQF file I've listed "RydHQ_ExcludedG = ["ZULU"];"

What i am finding out though is when the unit spawns, it doesnt use the Group ID i am setting, it defaults to the next group ID in the available groups.

So for example:

Mission spawns Alpha 1-1, 1-2, 1-3, Bravo 1-1, 1-2. When my unit spawns, it creates group Bravo 3-3 instead of my ZULU 1-1. I've tested this outside your scripts and it works just fine. Could it be that your scripts force spawned units to use default groups?

Share this post


Link to post
Share on other sites

Best practice for spawned groups is to add the newly created group into excluded array just after spawn. And it is about groups itself, not their ID (ID is different thing). Something like:

_gp = createGroup west;

RydHQ_ExcludedG pushBack _gp;

(RydHQ_ExcludedG is first once defined like RydHQ_ExcludedG = [];) and that's it. Group is added.

Third problem, you should choose one of mentioned ways (init fields or init.sqf, if groups are editor-placed, or something like bolded code if group is spawned by a script), while you are trying to use two ways at once. So at first group is added to the array properly via init field, but then you're apparently overwriting it with wrong "RydHQ_ExcludedG = ["ZULU"];", where you try use ID string instead of group-type variable, that is no go.

BUT anyway:

The mod uses Modules to spawn the units,

OK, I read part of JTAC manual. And we have a problem. In this pdf I see no way to obtain at spawn group of spawned plane nor to influence such group with any code. It's hermetic user-side. So we haven't provided by JTAC any kind of "handle to grab" to do an exclusion. Init field of the module itself gives us nothing, you can use there only group of the module. If that's true, and that's pointless. Without editing of JTAC code, we can't do much, except trying to intercept somehow spawned planes by external looped code, but that's ugly and unreliable. IMO author of JTAC should give some possibility to manipulate by code with spawned planes.

Can't find BI Forums thread for this mod, so I left comment at Armaholic.

Meanwhile you can try to paste such ugly workaround into the advanced setup window or one of init fields in editor:

RydHQ_ExcludedG = [];RydHQB_ExcludedG = [];nul = [] spawn {while {true} do {sleep 0.1; {_vh = vehicle (leader _x);if (_vh isKindOf "Plane") then {if not (_x in RydHQ_ExcludedG) then {RydHQ_ExcludedG pushBack _x};if not (_x in RydHQB_ExcludedG) then {RydHQB_ExcludedG pushBack _x}}} foreach AllGroups}};

But it's not 100% reliable, there is slim risk, so HAL will take control over some plane during that 0.1 sec sleep (you may do this sleep shorter to reduce that risk, but then script will take more resources). I hope, this will help.

Edited by Rydygier

Share this post


Link to post
Share on other sites

I tried out another war story today. OPFOR v FIA. 3 - 1 Lots of armour each on a large battlefield. I thought this would be a quick victory. However the OPFOR leader went straight on the defensive. We were defending Orini and I was driving an unarmed Ifrit on my own and got sent to the rear of the battlefield while our artillery battled it out with their mortars. Once their mortars were down, I got bored and used the radio menu to change to a new random role. I ended up as a team leader of a team of explosives experts. We were right at the front, and I lost my team and the BTR behind me was taken out along with a whole squad who couldn't get away quick enough.

I retreated into Orini while a sea of FIA poured forward. They were no match for the artillery in the open countryside, and any that made to Orini I dealt with. The assault was defeated and then we reached a stalemate with neither side attacking. The problem with our side was that we had 10 artillery pieces as our armour but nothing offensive to attack with. Similarly FIA had their numbers reduced too much to launch another assault, so we ended up with about 1km of no man's land with each army on different sides of a hill.

Then I realised that I had downloaded the beta version but not installed it, so I was still using version 1.05. At least I didn't make the mistake of going forward and trying to take on a whole army by myself.

I did notice that the markers got messed up again with redundant markers being left on the map and the artillery continued to fire at them until I went to look and confirmed no enemy at the locations. I used the radio menu option to change the map markers which cleared them. As I scouted forward and identified enemy positions, the artillery on the map stated that they were engaging the targets. When it got to the splash, I was watching but didn't see any rounds arrive on target. Would the on-map simulation still occur when they have run out of rounds?

I have made sure that I have installed the latest version for my next story.

Share this post


Link to post
Share on other sites

Arty does sometimes fake shots. Not sure, why. Code-wise all goes typical, just unit doesn't respond with fire on scripting command doArtilleryFire, probably in certain circumstancies, but unknown to me. If there is no ammo, arty piece should be excluded from fire missions.

Edited by Rydygier

Share this post


Link to post
Share on other sites

Added to the recommended addons LAxemann's "Enhanced Soundscape" and Liability Insurance (units hit by allied vehicles will take no damage, ramming enemies to death still possible - workaround for AI drivers hitting infantry, recommened, until BIS will fix driving AI, but needs more testing - experimental). LI is based on 2nd Ranger's snippet from here.

Share this post


Link to post
Share on other sites

Ryd, I love you. Thank you for this. You have the best missions and best features. With bCombat, this will be really something.

UPDATE:

However, you should disable fatigue for AI units as they have to cover big distances in your scenarios. After a while the game become tedious. Also, you should prevent side from spawning useless artillery, because it just occupies slots for more useful armored units.

Also, it would be good if you could do something with AI leaders not healing themselves as they are slow when injured and slowdown the whole group movement.

UPDATE:

Also, helicopters and vehicles spawning on a steep side of a hill are problematic :-)

Edited by Bouben

Share this post


Link to post
Share on other sites

Liability Insurance updated to 1.1 (better performance).

However, you should disable fatigue for AI units as they have to cover big distances in your scenarios. After a while the game become tedious.

I added some "rest stops" if route is long, but that's not always enough. I believe, they sooner or later will adapt AI waypoint movement behaviour or fatigue so it will be better balanced or handled by AI itself. Yeah, I'm optimist. :) Meanwhile, i'm nearly sure, someone released addon removing fatigue? If not, or not working, I can do that easily. But after all it's a feature good for realism, so I would preffer do not... BTW after fatigue introduction my first usual action on the battlefield is leaving all not crucial junk just to reduce loadout a bit. :)

Also, you should prevent side from spawning useless artillery

Artillery in HWS isn't useless. There is code handling artillery fire missions on known enemies, if conditions are met. During fire mission there is visible special set of map markers.

Also, it would be good if you could do something with AI leaders not healing themselves as they are slow when injured and slowdown the whole group movement.

Hm. I think, that's rather task for some automed addon or, the more, it's a task for Arma devs. I can think however about some makeshift, if no one did that so far. I even wasn't awared, so there is such issue...

Also, helicopters and vehicles spawning on a steep side of a hill are problematic :-)

Haha, true. :) Code for finding flat LZ for choppers is on place, but there are places on the map, where best found is not enough... I can try to make it more restrictive, so in some places there will be no choppers. BTW, I'm quite disappointed by lately observed heli's AI behavior, when tasked to touch down and pick up some infantry when on the slope. It ended with a crash... :( I want to say, list of things to improve is long, but IMO many of them should be handled by BI devs, not humble mission makers. Arma is apparently still not finished, and makeshift patching such things, that in the future will be patched by BI may be pointless work.

Share this post


Link to post
Share on other sites

Also, it would be good if you could do something with AI leaders not healing themselves as they are slow when injured and slowdown the whole group movement.

Try @ASR_A3 which comes with an option in the userconfig to remove injured group members (after 300 seconds) that can no longer walk

@Ryd - is there a separate link for Liability 1.1 download?

Nevermind found it in first post :p

Share this post


Link to post
Share on other sites
Try @ASR_A3 which comes with an option in the userconfig to remove injured group members (after 300 seconds) that can no longer walk

@Ryd - is there a separate link for Liability 1.1 download?

Nevermind found it in first post :p

Sorry, but I prefer bCombat, which is most probably not compatible with ASR AI, of which AI features I don't like.

---------- Post added at 21:41 ---------- Previous post was at 21:38 ----------

Liability Insurance updated to 1.1 (better performance).

I added some "rest stops" if route is long, but that's not always enough. I believe, they sooner or later will adapt AI waypoint movement behaviour or fatigue so it will be better balanced or handled by AI itself. Yeah, I'm optimist. :) Meanwhile, i'm nearly sure, someone released addon removing fatigue? If not, or not working, I can do that easily. But after all it's a feature good for realism, so I would preffer do not... BTW after fatigue introduction my first usual action on the battlefield is leaving all not crucial junk just to reduce loadout a bit. :)

Artillery in HWS isn't useless. There is code handling artillery fire missions on known enemies, if conditions are met. During fire mission there is visible special set of map markers.

Hm. I think, that's rather task for some automed addon or, the more, it's a task for Arma devs. I can think however about some makeshift, if no one did that so far. I even wasn't awared, so there is such issue...

Haha, true. :) Code for finding flat LZ for choppers is on place, but there are places on the map, where best found is not enough... I can try to make it more restrictive, so in some places there will be no choppers. BTW, I'm quite disappointed by lately observed heli's AI behavior, when tasked to touch down and pick up some infantry when on the slope. It ended with a crash... :( I want to say, list of things to improve is long, but IMO many of them should be handled by BI devs, not humble mission makers. Arma is apparently still not finished, and makeshift patching such things, that in the future will be patched by BI may be pointless work.

Well, you don't have an easy task.

About the artillery... I believe most of the time AI cannot use it effectively enough. I would prefer if sides spawned more versatile units instead because artillery is often positioned right in the front line where it gets massacred.

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

×