These scripts should be placed into your mission folder


mando_takeof2.sqf v2.5 by Mandoble for ArmA 1.05 or above
--------------------------------------------------------
Forces a plane to take off following indicated positions array before starting the final run and then takes it off. Runaways are not needed as long as terrain is flat enough. Vertical and traditional takeoffs supported.




mando_land.sqf v1.3 by Mandoble for ArmA 1.05 or above
------------------------------------------------------
Forces a plane to land at the indicated position and then to follow any provided taxi positions. Runaways are not needed as long as terrain is flat enough. Vertical and traditional landings supported. If the player is the pilot, ILS marks will help him to proceed with the automatic landing sequence.




mando_eject.sqf and mando_ejectunit.sqf v1.1 by Mandoble for ArmA 1.05 or above
-------------------------------------------------------------------------------
Ejects the crew of a plane simulating rocket ejection seats and giving an small boat to the pilot where the crew will join if they ejected over water.


Check the headings of the scripts for more details.


HOW TO PLAN A TAKE OFF:
-----------------------

1 - Place a plane somewhere near the desired take off position, and note the desired take off direction (for example, North, 0 degrees).
2 - If needed, select several taxi positions, you may use markers for that.
3 - Build up the positions array, remember that the last position is from where the plane will initiate the take off run.

For example, lets say we have three taxi positions and a take off position, we may use markers named "mk_taxi1", "mk_taxi2", "mk_taxi3" and "mk_takeoff" (the names are not important, and you may use anything you want, no necessary markers).
The position array would be [getMarkerPos "mk_taxi1",getMarkerPos "mk_taxi2",getMarkerPos "mk_taxi3",getMarkerPos "mk_takeoff"]. Do not place taxi positions too close to each other, the planes need room to move between them.

4 - Now lets select maximum speed when taxiing, speed to reach before raising the nose, speed to reach when climbing up and the climbing angle. For example, 30 Kmh for taxiing (when turning while taxiing the planes will reduce speed to half the maximum taxii speed), 170 Km/h before raising the nose, and then raise the nose 10 degrees and accelerate until 350 kmh.

So far, this is what we have:

[myplane, false, 30, 170, 350, 10, ???, [getMarkerPos "mk_taxi1",getMarkerPos "mk_taxi2",getMarkerPos "mk_taxi3",getMarkerPos "mk_takeoff"], 0, ???, ???, ???, ???]execVM"mando_takeoff2.sqf"

Note that we still have several holes there: ???
The first ??? is the acceleration factor, a number between 0.05 and 0.2. Just play with that number to get longer or shorter take offs. For our example we'll use 0.11.

The second ??? is the number of units inside the plane needed to start the take off (the driver must be one of them). In our example, the script will wait for only one.

The third ??? is the number of seconds to wait idle after all crew is inside. You may use 3 or 4 seconds to ensure engine sound is clearly audible before the plane starts to move.

The fourth ??? indicates radio comms or not. If true, pilot will transmit his current take off sequece state.

And the last ??? is the name of a script we'll use to eject the crew in case of accident while taking off, or just "" if you dont want to use any.


The final result is:
[myplane, false, 30, 170, 350, 10, 0.11, [getMarkerPos "mk_taxi1",getMarkerPos "mk_taxi2",getMarkerPos "mk_taxi3",getMarkerPos "mk_takeoff"], 0, 1, 3, true, ""]execVM"mando_takeoff2.sqf"

The plane will wait until one crew member is inside, the pilot, then will wait with the engine turned on for 3 seconds and then will proceed moving to trhough mk_taxi1, mk_taxi2, mk_taxi3 and mk_takeoff marker positions. Upon reaching last position, the plane will align with 0 degrees (North) and will accelerate to 170 kmh, then it will keep accelerating to 350 kmh while rasing the nose 10 degrees over horizon. When the plane reaches 350 kmh, the take off procedure ends.



Planning a landing is basically the same.



IMPORTANT THINGS TO CONSIDER:
-----------------------------

Do not split the pilot's group between units in the plane and units outside the plane when using mando_land script, else the whole group will receive move commands which should be executed only by the pilot.

It is recommended to add a Getout WP for the pilot or the plane at the last taxi landing position and then just a Move waypoint few meters away of the plane. The landing script will leave controlling the plane once it is stopped at its last taxi position and if the pilot keeps inside, it may try to switch engines on again and move to the island main airport.