Jump to content

Recommended Posts

And here is:

 

HAS 1.7 wip1

 

- when HAS choppers are defined via manual RYD_HAS_allChoppers array definition, its content should be properly checked for CAS-able helicopters;

- updated and improved the function that should be used to add new helicopter mid game (this function basically should execute for the heli everything, that's required to incorporate it into HAS logic:

 

//to add new helicopter run this code when no airlift is pending, after assigning the crew for new helicopter: myNewHeliWithCrewName call RYD_HAS_NewChopper;

 

- now above function will not exit when used while call is pending - to test, if that's actually a problem, likely it can be used during pending call without any problems. It also should properly add new heli to the 0-8 menu list;

- made modified copy/variant of BIS_fnc_removeCommMenuItem function and used it instead to avoid script errors, BIS function generated when 0-8 menu was empty. 

  • Thanks 1

Share this post


Link to post
Share on other sites
On 3/21/2019 at 8:35 PM, Rydygier said:

So for now only mouse actions variant may be useable here.

 

You make that sound like a hardship - when having the mouse actions available when aboard the chopper is what the players are going to think is cool! I had not got to the availability of the RYD_HAS_NewChopper function call in my look at the code, but that is perfect. And I see there is another version now to download so no sooner asked than answered. Brilliant. Thanks.

 

I'll let you know how the coding goes and the comparison of the CAS systems. I will admit that in testing the vanilla virtual chopper CAS can be a bit of a waste of space at times. Not exactly an aggressive attack style on display.

Share this post


Link to post
Share on other sites
Quote

You make that sound like a hardship - when having the mouse actions available when aboard the chopper is what the players are going to think is cool!

 

🙂 There are two alternative, switchable in user config variants: user may use mouse actions to call the heli (then "closest able" helo will be picked automatically), and there are also calls through 0-8 menu instead of mouse actions. It differs, because here in submenu player manually picks which exactly helo should take the task. Before 1.7 wip1 newly added helicopters wasn't listed in these submenus. Now they should be listed. 

 

Quote

I will admit that in testing the vanilla virtual chopper CAS can be a bit of a waste of space at times. Not exactly an aggressive attack style on display.

 

In HAS it looks like this: gunship takes stationary position at given distance from pointed target area, then it climbs up until is able to get unobstructed LOS to each of known (or all present) hostile vehicle targets (but not too high, there's a limit...), then it should begin quite aggresive fire engaging armored and soft vehicles with homing missiles, if equipped, soft vehicles and infantry with unguided rockets and minigun. Used are only weapons firing straight ahead. Especially picking infantry one by one with minigun may take time, helo is quite persistent here, but pilot can decide, it's enough at some point. Same, the caller can cancel CAS any time. Accuracy of not guided fire should improve during the firing, as gunship tries to correct its aim basing on previous shots. It's pure SQF controlled, AI is disabled, it was only a hindrance. 

Share this post


Link to post
Share on other sites

After the last Update i still have to make the route to make the heli RTB.

I just can't choose RTB after a pickup i have to plot in all the WP.

 

Regards Play3r

Share this post


Link to post
Share on other sites

What are your steps exactly?

 

I'm running latest script, I call heli to transport, when it arrive, I choose RTB mouse action, then heli transport me to the base, just like that, all in order, no route plotting after RTB selected. Also it follows properly back the route, if I plotted one from the base to pick up position. I see nothing wrong in my test. 

Share this post


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

What are your steps exactly?

 

My bad had forgotten to copy over the new version LOL 😴

it works like a charme..

 

any chance you can put the version number on top of the script..

 

Share this post


Link to post
Share on other sites

Ah, OK then. 🙂

 

I'll think about some way to inform, which version is used. 

Share this post


Link to post
Share on other sites
On 3/21/2019 at 8:08 AM, Rydygier said:

there's another, internal array for CAS helis, RYD_HAS_CASChoppers,  and this one is auto-filled only once

Another couple of questions please

 

(1) Is the RYD_HAS_CASChoppers array cleaned up in a similar way to the RYD_HAS_ClearHelis function removes destroyed objects from the RYD_HAS_allChoppers array?  I have the respawn code adding the new objects into RYD_HAS_allChoppers, and I am content that  RYD_HAS_ClearHelis will get rid of the deleted objects at some stage. But I'm not sure what I need to do about destroyed CAS helicopters.

 

(2) Do I need to worry about this I have seen in the code? I've not examined the code well enough yet to see if this is in "run once at init" code, or if its in a loop that will be checking for new helis spawned. I think this might be something to do with the respawned helicopters not displaying all the systemchat messages for the end of the airlift. I get the audio cue for a message - but no text. I don't get the 'daytime signal' and 'signal seen' messages. I do get the 'on the way' message when the airlift is called.

 

           {

            if not ((driver _x) kbHasTopic "BIS_SUPP_protocol") then//these 4 lines need to be applied also to every new heli spawned during the mission

                {

                (driver _x) kbAddtopic ["BIS_SUPP_protocol", "A3\Modules_F\supports\kb\protocol.bikb", "A3\Modules_F\supports\kb\protocol.fsm", {call compile preprocessFileLineNumbers "A3\Modules_F\supports\kb\protocol.sqf"}];

                };

            }

        foreach RYD_HAS_allChoppers

Just an update - on the whole the integration is going well and the HAS is working superbly. In the framework mission making is driven by placing markers of various sorts. So to make the Hermes Airlift fit in with the way the rest of the framework operates, in mission making I need to place a point marker called HermesAirliftBase where I want the gamelogic to be, and the code creates the gamelogic at that spot (and hides the marker). Then any helis to be controlled are placed in the editor (with a pilot) and named Airlift1 through to Airlift99. All the Airliftx objects that are an aircraft with a pilot are synced to the gamelogic, and an invisible helipad is created underneath each of them. Once all that is done I call RYD_HAS_Init

 

Then, if any object called Airliftx is destroyed then it is respawned at its original location with a pilot and added back into RYD_HAS_allChoppers and RYD_HAS_CASChoppers as appropriate.

 

What I have still to test are the interactions between using playableUnits to populate RYD_HAS_STT, and what that will mean for JIP and respawned players. I think that will be for another day. 

 

Thanks for this great system.

Share this post


Link to post
Share on other sites

1) Destroyed helis are not removed from RYD_HAS_CASChoppers, only deleted are. But this shouldn't be a problem, as destroyed helis from that array are filtered out when necessary. But I may add destroyed helis removal just for elegancy. 

 

2) Don't worry about anything inside HAS code. HAS should be able to handle itself, and if not - it's a bug, then let me know, as you did, and I'll fix that for all HAS users. 

 

Code, you pasted, gives the pilot ability to send voice messages (which however are present only during troops transport mission, if enabled and not for all messages, only those covered by kbTell voices taken from BI's vanilla support module). It is executed at init only. I'll check this, if necessary, I'll add it also inside NewChopper function, so user do not need to worry about that, using NewChopper function by intention should cover all, what's required to inject new heli into HAS logic. BTW not all text messages used by HAS have their voice counterparts, and if not - hint should be given instead. It's the case of "give daylight signal" for example. Frankly, because of that, I do not like use voice messages, since fragmentary, not covering part of the communication, feel like messy makeshift to me and I personally disable them, but they stay as an option, if someone still prefer to use them. I prefer to keep RYD_HAS_VoiceChat = false;

 

The worse, not sure, if remember correctly, but voice messages may not work very well in the MP, client side (distorted, slowed down voice). 

 

The comment in then quoted line may be true atm, but it's obsolete approach, this should be done automatically. 

 

Quote

Thanks for this great system.

 

You're welcome. It's always great to know, when your work is helpful for someone. 

Share this post


Link to post
Share on other sites

HAS 1.7 wip2

 

- destroyed choppers should be removed from CAS choppers arrays at certain points (for elegancy mostly);

- RYD_HAS_NewChopper function should now handle also adding the pilot of the new heli to the kbTell conversations.

 

Check this out and let me know about any further issues. 🙂 Do, as you wish, but I recommend do not use voice comm by default for reasons described earlier. 

Share this post


Link to post
Share on other sites
On 3/27/2019 at 10:02 AM, Rydygier said:

- RYD_HAS_NewChopper function should now handle also adding the pilot of the new heli to the kbTell conversations.

 

Works like a dream. I hadn't spotted the NewChopper function when I looked at the code, but it works well in every respect. Thanks.

 

I've been AFK for a few days so I'm just getting to try out the 1.7wip2 code for the first time proper. There is a one issue I am having with with after-effects respawning the helicopter objects. For example - at mission there is a single Ghost Hawk object assigned as a HAS resource: airlift1. When a 'transport' mission is called the 'Available transport' menu is:

 

dxfVnKz.jpg 

 

 

As the mission runs the Ghost Hawk is destroyed and respawned a number of times, all without any problems. But after a few cycles of that, when a 'transport' mission is called the 'Available transport' menu is then

1q0abZu.jpg

 

There is still just one single Ghost Hawk in the mission. However, it all still works, I can pick any of those menu options and the chopper is on its way. 

 

(just to explain the pictures. The top icons are from four of the Arma vanilla virtual support modules. The HAS icons are the lower three in each case)

 

Share this post


Link to post
Share on other sites

Thanks for the feedback. I'll check, what's going on. 

Share this post


Link to post
Share on other sites

HAS 1.7 wip3

 

- destroyed helis should be properly removed from 0-8 submenu list and respawned helis - inserted into that list instead (may require re-opening 0-8 menu to refresh);

- added systemChat message at init displaying in SP/on server running HAS version. 

 

Not tested in MP. 

  • Like 1

Share this post


Link to post
Share on other sites

Yep, seems close, as soon we'll be sure, HAS is fully working with dynamically spawned assets. 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Hi Rydygier

 

Testing goes very well and the system is doing everything without problems. I'm in the middle of doing more multiplayer testing, which leads to yet another question. Please can I just check for JIP players joining / rejoining a mission after the RYD_HAS_Init has run, do I just need to call

_newPlayerObject call RYD_HAS_GiveActions;

to get that player to have the call support options become available to them ?  I am also appending the new player object to the RYD_HAS_STT array.

Share this post


Link to post
Share on other sites

In order to add new player(s) use this:

 

[newUnit1,newUnit2,newUnit3] call RYD_HAS_NewUnits;

 

Similar, as you do for the chopper, just here you have array of units passed into fuction. This function should handle all, what's required: RYD_HAS_STT, giveActions (when necessary, only for mouse actions variant is) and few other things. 

Share this post


Link to post
Share on other sites

Thanks for this

 

[newUnit1,newUnit2,newUnit3] call RYD_HAS_NewUnits;

 

Multiplayer testing continues, so a bit more feedback if I may, I hope this isn't pestering you!

 

 I am testing the system with a three player set up: player 1 is hosting the game, 2 is joining at the very start, 3 is JIP. At certain point in a mission, when the only transport chopper has been shot down but before it has re-spawned, if player 1 tries to call a Transport mission the Available transport menu is empty. Player 2 and 3 both see the downed Transport heli in their support menu as an Available transport, but if it is selected the "There's no heli able to perform the task - exiting call." hint pops up. So the code that populates the menu thinks there is a chopper, and the code that calls the mission knows there isn't. But only on both the clients, not on the server.

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Apparently removing dead heli entry from the list doesn't work client side. I'll investigate this. 

Share this post


Link to post
Share on other sites

HAS 1.7 wip4

 

- Destroyed helis should be now removed from the 0-8 lists also on clients.

 

Check now. 🙂

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
On 4/8/2019 at 9:37 AM, Rydygier said:

- Destroyed helis should be now removed from the 0-8 lists also on clients.

 

Thanks for the update. Destroyed helis are indeed removed from the lists.

 

Multiplayer testing is all working fine for calling missions, adding new helis, adding new (JIP) players. It's all very sweet. I still want to test the mission on a dedicated server and two clients, but that's not for tonight. 

 

I spent time tonight trying to fix my own 'bug', to work out how I had seemingly managed to break the CAS system. I was suddenly unable to call CAS missions. I would set a CAS target location only to have it vanish again almost immediately. I was checking and rechecking my code to see what I was done wrong. In the end it was simply that the Blackfoot didn't have a gunner - just a pilot! Your code is smarter than I am 🙂

  • Like 2

Share this post


Link to post
Share on other sites

Update

Version 1.7 released!

 

Changelog:

4-17-19

Update v1.7

  • code reviewed and improved in regard of updating 0-8 helicopter lists and adding new helicopters and units mid game (details in the manual, p. 11, "Additional advanced settings").
  • added systemChat message at init displaying in SP/on server running HAS version.  

Script submitted to Armaholic, but we need to wait til they update the page on their end to 1.7.

Script can be downloaded on the OP via Mega (zip)

Module version on steam workshop has latest 1.7 version.

Cheers!

  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites

Just another update from me. Tested in single, multiplayer hosted server and dedicated server. The airlift system is all working beautifully. Integrating into the mission system revealed all the problems with my own code, so I have been fixing that before declaring 'mission accomplished. Thanks again for the effort you have put into this, and for sharing it. It's a fine piece of work. 

 

 

 

 

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

not working on dedic server. rpt error

15:50:55 User menu description 'BIS_fnc_addCommMenuItem_menu' not defined.

you can check your demo-mission in archive (script version). HAS_1_7_demo_scriptVersion.Altis     not working too

Share this post


Link to post
Share on other sites

I'm unable to reproduce it. Tested just now again by doing simple transport task as client on dedi. No such error, all works fine. Settings was vanilla, or changed? What was going on/at what moment exactly the error occured? Does it occur always in the same circumstancies? Server's, client's or both RPT?

 

Also... That error refers to some native Arma 3 content, so if there's such error, it is produced out of HAS scripts, thus may be hard to do anything about it assuming, I'll be able to reproduce it. 

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

×