The current script header with the instructions:
/*********************************
mando_heliroute_arma.sqf v1.2
August 2007 Mandoble
Moves a chopper accurately to the desired destination point following the indicated route and land it if so indicated.
Execute it there were the chopper is local.
Syntax:
[chopper, route positions array, flying height, landing true/fasle] execVM "mando_heliroute_arma.sqf"
Route positions array is an array of at least one position that defines the route the chopper will follow.
Once it reaches the final destination it will land if landing parameter is set to true.
When the route is completed, the chopper will set its internal mando_heliroute variable to "waiting".
While the chopper is executing the route that variable is set to "busy" and, if the chopper is damaged or the pilot is killed, the variable is set to "damaged".
If you want to check when the route has been completed, you may do it this way:
Sleep 2;
waitUntil {heli1 getVariable "mando_heliroute" != "busy"};
if (heli1 getVariable "mando_heliroute" == "damaged") then
{
hint "Chopper damaged or pilot dead, not available for more routes.";
}
else
{
if (heli1 getVariable "mando_heliroute" == "waiting") then
{
hint "Chopper waiting for a new route.";
};
};
**********************************/
Demo example init.sqf with first route
_scr = [heli1,[getPos dest1],50, true]execVM"mando_heliroute_arma.sqf";
Sleep 1;
waitUntil {heli1 getVariable "mando_heliroute" != "busy"};
In the previous case, heli1 chopper will fly from its current position to postion of dest1 (which is a gamelogic placed on the map), keeping a flying height of 50m and will land once the destination is reached.
The script updates a vehicle internal variable named "mando_heliroute". When this variable is different than "busy", the current route has been accomplished and the chopper is free to proceed with a new route.
Which parts are still unclear for you?