Jump to content
Enigx

[Release] EGX Heli Transport system

Recommended Posts

EGX_HeliTransport system

by Enigx

 

The system allows you to call and manage a heli transport to and from a specific clickable area on the map.
Useful to simulate and manage an insertion/exfiltration or simply a players heli transport.

 

 

Armaholic

EGX_HeliTransport system

 

 

Features:
System consists of two separate modules:

** CallHeli

  • Allows you to spawn a helicopter and make it land on a map position. It can be used to call an exfiltration.
  • You can call heli wherever you want on the map
  • You can call heli whenever and as many times as you want
  • Graphical interface window for options selection
  • Different helicopters available for selection
  • Automatic procedure to identify a safe landing position close to the selected one
  • You can select heli route clicking on intermediate waypoints on map
  • Multiple helicopter calls
  • No need to place heli from editor. It is spawned at each call

 

** OrderHeliGO

  • Allows you to order a helicopter, in which you are on board, to go and land at a point on the map. Useful to simulate and manage an insertion to specific zone. 
  • Graphical interface window for options selection
  • Automatic procedure to identify safe landing position close to the selected one
  • You can select heli route clicking on intermediate waypoints on map
  • You must within a copter to work
  • Once landed you can choose to send it away and delete it

 

Both modules can be activated by ACE self interaction menu for authorized players only or for everyone.
SP/MP compatible.


Installation / Usage:
For instructions and information about how to use the EGX_HeliTransport pleasde refer to the included README.txt file.
Mission example included in zip archive.

 

Notes:
It needs the following mods loaded in your mission:
- ACE for the interaction menu
- RHS USAF for the definition of the RHS helicopters option. Otherwise you can use vanilla copter option. 
Mods:

  • ace
  • ACE Compat - RHS United States Armed Forces
  • CBA_A3
  • RHSUSAF

 

Credits & Thanks:
Sceptre for sharing his Custom Dialog System (CDS)
Thanks to Armaholic Community.

 

Changelog:
First official version 1.0

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

This looks awesome!

Would like to add, however, that the RHSUSAF and the ACE compatibility mods are not at all optional: the mission will not load (or load without player slots) on a server without these mods. 

Also, because there are several popular ACE RHS compatibility patches in Steam workshop, I'm linking the correct one here: https://steamcommunity.com/sharedfiles/filedetails/?id=773125288

Share this post


Link to post
Share on other sites
2 hours ago, Melody_Mike said:

This looks awesome!

Would like to add, however, that the RHSUSAF and the ACE compatibility mods are not at all optional: the mission will not load (or load without player slots) on a server without these mods. 

Also, because there are several popular ACE RHS compatibility patches in Steam workshop, I'm linking the correct one here: https://steamcommunity.com/sharedfiles/filedetails/?id=773125288

 

Thanks for your comment.

Yes, you must load ACE to activate the system by the player's ACE menu. The fact you don't have player slots is probably due because you run mission in SP from editor, try to start it as MP. 

The RHS really shouldn't be needed because it is used only for the classnames of the heli. In fact if you try to use chinook without RHS loaded, a message appears to use vanilla heli. You can, in case, modify copter classnames with any mods you want (CUP for example), simply inserting the new classnames in calling sqf file.

Anyway the system is thought for MP missions where usually ACE and RHS are a must to have, at least for me of course.

Yes, link you've written about ACE compatibility is correct. Thanks.

Cheers

  • Like 1

Share this post


Link to post
Share on other sites

Heya @Enigx

Thanks for answering!

By saying there are no player slots on a server, I mean to imply it was multiplayer (you don't have a role selection screen when starting a singleplayer scenario). When selecting from singleplayer scenarios menu, you simply do not enter the mission. Also, it is because the editor tells you which mods the mission files require upon opening, that I could find the correct RHS ACE compatibility patch. 

And as genuinely beautiful as RHS is, in practice players need to download the Russian and GreenFor mods as well for missions, which glues another 10GB download for casual players. Obviously fine if everyone has downloaded them before, but a barrier for players without fast broadband connections.

But enough passive bitching from me(!).     

If any future reader doesn't want to download the RHS mods and RHS ACE patch, they can do the following to the provided example mission:

a) Use MissionDeRap from ArmaTools to unbinarise the mission.sqm file.

b) Open the mission.sqm file with Notepad(++) or whatever, and remove the RHS and ACE compatibility addon names from the addons[]={...} list at the beginning of the file.
c) Ignore the errors of missing RHS ammo classes when opening the mission.

Or, make a new mission and simply copy paste the all the other files from the test mission, and follow the README text :]!

Will say it again: it's a very elegant script for mission makers who want to give the players autonomy in calling a medevac, whenever and wherever they want. It's more streamlined than Hermes:

In that the mission maker doesn't need to specify a helicopter and a base beforehand, and there's no messing around with radio commands and smoke signals for the players. It's all click and go.  

Share this post


Link to post
Share on other sites

Many thanks for the script will try it ASAP. 
 

On a different not, I am not using ACE because I am not aiming for too much realism. It looks like ACE is required. Does anyone know a light version of ACE which adds the minimum requirements to use this script?

Share this post


Link to post
Share on other sites
21 minutes ago, rainbow47 said:

Many thanks for the script will try it ASAP. 
 

On a different not, I am not using ACE because I am not aiming for too much realism. It looks like ACE is required. Does anyone know a light version of ACE which adds the minimum requirements to use this script?

 

ACE is an elegant way to allow activation only by authorized players (in general TL/SL). Imagine that everyone can call it !!  it would be a tragedy ☺️

Moreover ACE menus are more efficient.

Anyway, it is possible also to use the script without the ACE, because it is a simple call of sqf files. Here some options you can try

 

Option 1

One alternative mode is to activate it simply by a trigger radio Alpha and Bravo. Place from editor a trigger with condition radio Alpha, make it repetable and put in OnActivation the following line

null = execVM "EGX_HeliTransport\CallHeli.sqf";  // for heli call

Again, place another trigger radio Bravo but now with following line

null = execVM "EGX_HeliTransport\OrderHeliGO.sqf";  // To order heli to go

In this way pressing the support modules when in game (keybutton "\" ) you can call the radio commands. Of course everyone can call the radio. There is the possibility to activate it only by authorized players, using the thisList command, but forget it is more complicated

Of course in this option forget the lines of initPlayerLocal.sqf. Don't create it.

 

Option 2

Other option is to use always the initPlayerLocal.sqf but inserting these lines rather than the ones I specified for ACE

_actionHeli = {execVM "EGX_HeliTransport\CallHeli.sqf";};
_actionHeliGo = {execVM "EGX_HeliTransport\OrderHeliGO.sqf";};
player addAction ["Call helicopter", _actionHeli];
player addAction ["Order heli GO", _actionHeliGo];

These create for each player two adactions, activable by the mouse wheel, with the two activations. Everyone can activate them

 

Option 3

As option 2 but only authorized players can activate them

authPlyrsHeliTr = ["XXXXXXX", ... , "YYYYY"];    // <-- ADD HERE THE STEAM ID OF THE PLAYER/S ENABLED TO MANAGE HELI TRANSPORT BY ACE COMMANDS
                _uidP = getPlayerUID player;
                if (_uidP in authPlyrsHeliTr) then {
                    _actionHeli = {execVM "EGX_HeliTransport\CallHeli.sqf";};
                     player addAction ["Call helicopter", _actionHeli];
                    
                    _actionHeliGo = {execVM "EGX_HeliTransport\OrderHeliGO.sqf";};
                    player addAction ["Order heli GO", _actionHeliGo];
                };

 

Options not tested but they should work.

NOTE: the system uses CDS system interface. I think CDS doesn't use Ace so the methods should work. Try

Cheers

  • Like 1

Share this post


Link to post
Share on other sites

Can we get a google drive link to your scripts? I can't download from Armaholic for some reason.

Share this post


Link to post
Share on other sites
40 minutes ago, LSValmont said:

Can we get a google drive link to your scripts? I can't download from Armaholic for some reason.

 

It's strange I can downolad without problems. Try to join Armaholic by creating an account.

Anyway I'm sorry I have no google drive link.

Share this post


Link to post
Share on other sites
2 minutes ago, Enigx said:

 

It's strange I can downolad without problems. Try to join Armaholic by creating an account.

Anyway I'm sorry I have no google drive link.

 

I have an account and I am logged in but since I live in South America in seems to have a problem with out ISPs here. I've tried changing Browsers, PCs and even IPs but it won't allow me to download. It seem like a bug because the armaholic page says I am already downloading when it never did. I used to download from there just fine until around two years ago.

 

If you even manage to upload your work to other location please share the link 😉 

 

And thank you!

Share this post


Link to post
Share on other sites
4 hours ago, Enigx said:

 

ACE is an elegant way to allow activation only by authorized players (in general TL/SL). Imagine that everyone can call it !!  it would be a tragedy ☺️

Moreover ACE menus are more efficient.

Anyway, it is possible also to use the script without the ACE, because it is a simple call of sqf files. Here some options you can try

 

Option 1

One alternative mode is to activate it simply by a trigger radio Alpha and Bravo. Place from editor a trigger with condition radio Alpha, make it repetable and put in OnActivation the following line


null = execVM "EGX_HeliTransport\CallHeli.sqf";  // for heli call

Again, place another trigger radio Bravo but now with following line


null = execVM "EGX_HeliTransport\OrderHeliGO.sqf";  // To order heli to go

In this way pressing the support modules when in game (keybutton "\" ) you can call the radio commands. Of course everyone can call the radio. There is the possibility to activate it only by authorized players, using the thisList command, but forget it is more complicated

Of course in this option forget the lines of initPlayerLocal.sqf. Don't create it.

 

Option 2

Other option is to use always the initPlayerLocal.sqf but inserting these lines rather than the ones I specified for ACE


_actionHeli = {execVM "EGX_HeliTransport\CallHeli.sqf";};
_actionHeliGo = {execVM "EGX_HeliTransport\OrderHeliGO.sqf";};
player addAction ["Call helicopter", _actionHeli];
player addAction ["Order heli GO", _actionHeliGo];

These create for each player two adactions, activable by the mouse wheel, with the two activations. Everyone can activate them

 

Option 3

As option 2 but only authorized players can activate them


authPlyrsHeliTr = ["XXXXXXX", ... , "YYYYY"];    // <-- ADD HERE THE STEAM ID OF THE PLAYER/S ENABLED TO MANAGE HELI TRANSPORT BY ACE COMMANDS
                _uidP = getPlayerUID player;
                if (_uidP in authPlyrsHeliTr) then {
                    _actionHeli = {execVM "EGX_HeliTransport\CallHeli.sqf";};
                     player addAction ["Call helicopter", _actionHeli];
                    
                    _actionHeliGo = {execVM "EGX_HeliTransport\OrderHeliGO.sqf";};
                    player addAction ["Order heli GO", _actionHeliGo];
                };

 

Options not tested but they should work.

NOTE: the system uses CDS system interface. I think CDS doesn't use Ace so the methods should work. Try

Cheers

 
This is awesome, thank you. I only play SP with AI squad. So no risk to call multiple helis. I guess option 2 is the most suited for SP?

Share this post


Link to post
Share on other sites
1 hour ago, rainbow47 said:

 
This is awesome, thank you. I only play SP with AI squad. So no risk to call multiple helis. I guess option 2 is the most suited for SP?

 

Option 1 or 2 are both good. 😉

 

Share this post


Link to post
Share on other sites
5 hours ago, Enigx said:

 

Option 1 or 2 are both good. 😉

 

 

 

Went for option 2 and it is working perfectly.

 

Just one last thing, is it possible to summon the helis with certain parameters like camouflage and audible values of 0 (basically invisible for the enemy)?

Share this post


Link to post
Share on other sites
12 hours ago, rainbow47 said:

 

 

Went for option 2 and it is working perfectly.

 

Just one last thing, is it possible to summon the helis with certain parameters like camouflage and audible values of 0 (basically invisible for the enemy)?

 

I don't know if there is a fuction for that, never used.

You can set the helis invincible if you want. To do that:

 

- in CallHeli.sqf place this string in line 120 

createVehicleCrew _heli_trasp;		
_heliGrp = group _heli_trasp;
_heli_trasp allowdamage false; 				// <-- this line (it sets heli invulnerable)
_wp2 = _heliGrp addWaypoint [getMarkerPos "p_rotta2", 0];

- in OrderHeliGO.sqf place this string in line 140

_heli_Go = vehicle player;
_heliGrp = group _heli_Go;
_heli_Go allowdamage false;   				// <-- this line (it sets your heli invulnerable)
_MkrIntArrayCount = (count _MkrIntArray) - 1;

 

Share this post


Link to post
Share on other sites

Thank you Enigx. It's not so much that I want to make the heli invulnerable. It's more about to create a stealth heli for stealth mission. For example I set the camouflage and audible values for my AI squad low so that they are harder to spot. I will have a look if I find a way to do this for the spawned heli. If I find a solution I will post it here.

Share this post


Link to post
Share on other sites

I added the following lines but it soes not seem to work and the helis get immediately spotted:

 

CallHeli.sqf string in line 120 

		_heli_trasp setUnitTrait ["camouflageCoef",0.0];
		_heli_trasp setUnitTrait ["audibleCoef",0.0];

 

OrderHeliGO.sqf string in line 140 

	_heli_Go setUnitTrait ["camouflageCoef",0.0];
	_heli_Go setUnitTrait ["audibleCoef",0.0];

 

Sorry, I am not familiar with Arma scripting. I guess these things do not work do they?

Share this post


Link to post
Share on other sites

I checked these functions and I think are applicabile to units and not vehicles. I don't think they work.

I cannot find functions for vehicles.

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

×