Jump to content
Sign in to follow this  
-XDF-Banksy

"It Works" Helo Insertion / Extraction in MP

Recommended Posts

Ok guys after searching forums and reading this frustrating topic and being a little dogmattic I have helo insertions working and also extractions in a multiplayer environment with AI flying with a human cargo, there are no scripts and it is all done in editor using waypoints and a trigger and can be done on any helo.

I will try to explain to the best of my ability and hopefully someone can get some use for it. Firstly I can't remember who wrote the thread but it was they who gave me work around to be able to get this to work.

Firstly you need to understand that the only way the "Transport Unload" waypoint works in multi-player for a human player cargo is to have an AI group leader assigned in a cargo position in the helo.

1st Step: - Create your team of playable units, if you want you can start them in the helo or on the ground waiting t get in the helo.

2nd Step: - Create an AI I use a pilot give him a name e.g. P_2 and in his init line I put alpha = group P_2; this moveInCargo [H_1, 0] (H_1 is the helo name and the '0' is the co-pilots seat in the front of the B/Hawk if you wanted to put them in cargo in the UH1 then I would suggest '6' which is the seat next to the door gunner that way they are out of the main cargo hold.

3rd Step: - Create your helo and give it a name as per the example above H_1

4th Step: - Create your waypoints to get the helo to the insertion or pick-up point so you might have a few "move" waypoints and then a "transport unload" waypoint, and then some more "move"waypoints to take your helo away. In my waypoint I set the speed depending on what you want the helo to do but I set the last "move" waypoint prior to the "Transport Unload"to "LIMITED", you don't have to but I think it helps to make it more accurate. The "transport unload" waypoint I give a delay in the timeout fields and this is up to you how long you want but I give 20 seconds in each filed as the human players don't automatically get kicked out of the helo when it lands on a dedicated server whereas they do in editor. Lastly I change the speed in the "move" waypoint after unloading back to "Normal" or "FULL".

5th Step: - Create an invisible LZ at the "transport unload" waypoint for the AI pilot to land on.

6th Step: - Create a trigger set the size to around 10 for each leave as a circle set it to present and once only, place it over the "transport unload" waypoint, in the initline put deleteVehicle P_2; and then set the countdown/timeout fields mine are 2 seconds across all 3 fields, now group that trigger with your AI pilot P_2 if you don't know how to do this when you have completed filling in the trigger fields and closed it back to map view just click on groups box and left click on the trigger hold it and drag the lline to your AI pilot P_2 when you are on him let go of your left mouse button. The trigger is now set that when the vehicle is present i.e. P_2 then the trigger will fire.

Ok the way it works is that the helo will fly to where you want to get out and land, the trigger fires and delete's the AI pilot but with Arma II because he didn't get out of the helo he will remain in the front seat, the helo will sit there engines turning until the time runs out and then takes off and flies away.

If you want the helo to start on the graound and only take off when you are all in all I do is create a trigger that is actioned on a radio command and then set the trigger to switch and synchronise it with the first waypoint, this works the same with an extraction bird as well.

I will try over the next couple of days to put a quick example mission up so that you can have a go, I have tested it with my clan on a dedicated server and it has worked every time.

I hope this is easy to follow sorry if it isn't it is hard to try and explain everything especially trying to explain it to people like me who really have no experience and get stuck on a lot of the terminology the experienced mission builders and script writers use.

Good luck!!

Edited by [XDF]Banksy
Title change

Share this post


Link to post
Share on other sites

Id just like to say publicly, THANKYOU.

You have sweated over this for weeks, and i am so glad that you are able to make this work.

Your guide is very understandable, and even i was able to recreate a demo from what you have described.

Good job mate, youre toil is very much appreciated.

Share this post


Link to post
Share on other sites

A little strange that you delete the pilot? What is the exact effect of this? Any repercussions? How if the AI is deleted, does it then 'fly off'.

:confused:

Share this post


Link to post
Share on other sites

I am no genious all I can say is it works, somehow, I have tested this numerous times on a dedicated server and it works everytime without a glitch, and I have made a mission and played it with the guys from XDF on the GSA server and it worked, so to be honest it must just be one of thoughs great arma glitches where things work that really shouldn't. As an aside I have just finished testing a newer version that allows the helo to be re-used numerous times so it ejects the AI leader and deletes him and then as it flies back to base a new was in created so that you can use the helo again, my problem now is how to the condition line working correctly, I want it so that the helo will only take off when it counts the players in the trigger area are the same that are in the helo, just can't seem to get that right any help would be fantastic.

Share this post


Link to post
Share on other sites

Not exactly sure what you want, hope this helps.

(count list TRIGGERONE) == {isplayer _x} count crew VEHICLE

Share this post


Link to post
Share on other sites

that didn't seem to work, the one I found was: -

{alive _x} count [player] == {_x in H1} count [player]

this works to a fashion but seems to everyone on the island not just in the trigger

Share this post


Link to post
Share on other sites
Not exactly sure what you want, hope this helps.

(count list TRIGGERONE) == {isplayer _x} count crew VEHICLE

This will not work if you have any AI there and/or if it counts the helo itself as a unit that activates the trigger. Generally if you want a script to work for more than just something very specific, using player and isplayer is a bad idea most of the time.

Instead you could try to use:

_helo = // whatever the helo is
_heloTrigger = // whatever the trigger is
_bTakeoff=true;
waitUntil
{
  {_bTakeoff = _bTakeoff && (vehicle _x == _helo);} forEach list _heloTrigger;
  _bTakeoff;
};

Hopefully either the helo is not in the trigger list, or if it is hopefully vehicle _helo == _helo anyway (which it probably is).

If it's a lot of units and/or you want to save performance (at the cost of script responsiveness), instead of a waitUntil you could check the condition in a loop with some sleep value.

Of course, alternatively you could create a radio trigger that will publicVariable something that will signal the helo to take off, so you're using the leader's discretion instead of a script making the decision. Create the trigger locally for all players and have it only run the publicVariable command if the player is the leader to make it compatible with team switching (missions with respawn=SIDE).

Edited by galzohar

Share this post


Link to post
Share on other sites

Thanks for the assistance guys think I will just stick to the good ol radio trigger at this stage

Share this post


Link to post
Share on other sites

OK, I've hit on a bit of a problem! For one, there's no 'initline' in the trigger, so I'm guessing you mean the 'On Activation' field? Secondly, when I run the test mission, the chopper flies in, starts to land, then the game totally locks up and shuts down!

Any ideas will be greatly appreciated...and many thanks in advance!

Share this post


Link to post
Share on other sites

hey guys im having trouble with the radio trigger. it'ss ynced to the first waypoint but the bird takes off as soon as the server starts also how can i make a second bird land to pick us up than land again on the LHD? and sorry if i missed how to make it work in a post somewhere

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  

×