Hey Mandoble!
So I'm the guy who PM to you, but maybe this topic is already public.
Well - to the public - the problem is: the heli turn off the engine when land, but in a realistic insertation, the chopper doesn't turn off the engine.
I rewrite this area of youre code:
if (_landing) then
{
_engineoff = false;
while {(!_engineoff) && (alive _pilot) && (damage _heli < 0.5)} do
{
if ((getPos _heli select 2) > ((_endpos select 2) + 1)) then
{
_heli setDir _dir;
if ((getPos _heli select 2) > ((_endpos select 2) + 5)) then
{
_heli setVelocity [0,0,-7];
}
else
{
_heli setVelocity [0,0,7*((getPos _heli select 2)-(_endpos select 2))/-5 min -1];
};
}
else
{
_engineoff = true;
_heli setVelocity [0,0,-0.5];
};
Sleep 0.01;
};
/*
for [{_i = 0},{_i < 100},{_i = _i + 1}] do
{
_heli setVelocity [0,0,-0.2];
Sleep 0.05;
};
*/
{unassignVehicle _x;} forEach units group player;
while {!({_x in _heli} count units group player == 0)} do
{
_heli setVelocity [0,0,-0.5];
Sleep 0.05;
};
if (!(alive _pilot) || (damage _heli >= 0.5)) exitWith {};
_heli setVariable ["mando_heliroute", "waiting"];
}
else
{
_heli setVariable ["mando_heliroute", "waiting"];
};
I replace the action ["ENGINEOFF"] to a local variable: _engineoff.
And you mentioned that if you don't turn the engine off, the chopper - while wait - start to slowly rise. That's true. In my solution was a loop, what _heli setVelocity [0,0,-0.5]; while my men jump out from the heli.
Of course it's not a general solution, but enough for me.
I saw a tip in the "Tip of the month" topic to count the non-crew passenger in a vehicle. Maybe it could be general to check it in that loop. But I don1t know, because what if the designer want a team to get IN to the chopper.