Как я вижу это со стороны миски (со стороны модов немного по-другому)
{
_x addEventHandler ["GetOut", { //_this = [veh,pos,player,turret]
if !(isTouchingGround (_this select 0)) then { // если вертолет на земле - ничего не делать
_backpack = backpack (_this select 2); //сохраняем рюкзак
_backpackItems = []; //инициализируем переменную для инвентаря
if (_backpack != "") then { //если рюкзак есть
_backpackItems = backpackItems (_this select 2); // сохраняем содержимое
removeBackpack (_this select 2); //удаляем рюкзак
};
(_this select 2) addBackpack "B_Parachute"; //выдаем парашют //возможно тут нужен switch и выдвавать парашют стороны, (side (_this select 2)) и всетакое
[(_this select 2),_backpack,_backpackItems] spawn { //вызываем новую функцию
waitUntil {isTouchingGround (_this select 0)}; // в ней ждем пока человек не тронет землю
if (alive (_this select 0)) then { //желательно живым
removeBackpack (_this select 0); //удаляем парашют
if ((_this select 1) != "") then { //если был рюкзак
(_this select 0) addBackpack (_this select 1); //выдаем его
//clearAllItemsFromBackpack (_this select 0); //незабываем очистить его от хлама что выдается подефалту// неуверен что глобально, если да то лучш эту команду
{(_this select 0) removeItemFromBackpack _x} count (backpackItems (_this select 0)); //это лучше т.к я уверен что это глобально
{
(_this select 0) addItemToBackpack _x; // и все что в нем лежало
} count (_this select 2);
};
};
};
_backpack = nil; //мы няши убираем за собой
_backpackItems = nil; //мы няши убираем за собой
};
}];
} forEach _arrayOfHeliOrAirplanes; //arrayOfHeliOrAirplanes - это массив техники для которой нужен этот EH, создать можно через nearObjects или перечислить
конечно можно улучшить код но смысл его будет такой как не крути. Можно что то подобное встроить в мод wog но эт не ко мне.
UPD проверил пашет как часики, кому надо - смело добавляйте в мисяку