Высадка десанта вертолётом идущим с ЛТЦ и дымы при посадке, улетает.

В связи с тем, что некоторые граждане порой говорят что из-за модели вертолёта десант с него вышедший не идёт в атаку — было решено сделать скрипт в котором с тем самым вертолётом десант идёт в атаку, а вертолёт улетает.

Скрипт создаёт вертолёт, который летит на указанную точку неся в себе группу десанта.
За 1700 (меняем на нужное нам) метров начинает отстреливать ЛТЦ (вход в опасный сектор, защита от ПЗРК/ПВО) садится на указанное место, выбрасывает дымы по кругу, выгружает десант (в этот момент ЛТЦ не выбрасывает), после чего поднимается в воздух (начиная отстреливать ЛТЦ) и уходит на указанную точку, где удаляется.

Может садится даже под обстрелом, так как задан максимальный уровень смелости для экипажа.

Можете уже сами дописать экипажу и вертолёту отключение урона, если собрались его сажать не как положено по тактике, а в самое горячее место))

0 spawn {
// Создаём невидимую вертолётную площадку, для точной посадки вертолёта
private _helipad = "Land_HelipadEmpty_F" createVehicle [7633.5,4131.29,0];
// Создаём группу десанта
private _supgroup = [[8012.94,9711.8,0], east, (configfile >> "CfgGroups" >> "East" >> "rhs_faction_vdv" >> "rhs_group_rus_vdv_infantry_flora" >> "rhs_group_rus_vdv_infantry_flora_squad_2mg")] call BIS_fnc_spawnGroup;
// Заводим их в группу для погрузки в вертолёт
private _unitsCargo = units _supgroup;
// Создаём вертолёт
private _heli = createVehicle ["RHS_Mi8mtv3_Cargo_vvs", [8012.94,9711.8,0]];
// Создаём экипаж вертолёта
createVehicleCrew _heli;
// Создаём контрмеры для цикличного использования
private _flares = {
    while {alive driver _this && {!(isTouchingGround _this)}} do {    
        sleep 3.5;
        _this action ["useWeapon", _this, driver _this, 0];
    };
};
// Создаём контрмеры для цикличного использования на отходе
private _flares2 = {
    while {alive driver _this} do {    
        sleep 3.5;
        _this action ["useWeapon", _this, driver _this, 0];
    };
};
// Создаём группу в экипаже вертолёта, для отдачи указаний
private _group = group driver _heli;
// Объеденяем с переменной _heli для отдачи приказов
_group addVehicle _heli;
// Задаём параметр храбрости для экпиажа вертолёта
{_x setSkill ["courage", 1]} forEach units _group;
// Проверочный hint
format ["Уровень параметра Courage = %1", leader _group skillFinal "courage"] remoteExec ["hint"];
// Пововрачиваем вертолёт при спавне куда нам надо
_heli setDir 270;
// Сажаем всех ботов группы десанта в вертолёт
{_x moveInCargo _heli} forEach _unitsCargo;
// Приказываем вертолёту двигаться куда надо
_heli domove [7633.5,4131.29,0];
// Задаём высоту полёта
_heli flyinheight 50;
// Ждём пока дистанция будет менее 1700 метров - начинаем выпускать ловушки
waitUntil {
sleep 1;
(_heli distance [7633.5,4131.29,0]) < 1700
};
// Откидываем ловушки
_heli spawn _flares;
// Ждём пока дистанция будет менее 300 метров - приказываем садиться
waitUntil {
(_heli distance [7633.5,4131.29,0]) < 300
};
// Садимся с высадкой десанта
_heli land "get out";
// Высота полёта = 0. На всякий случай.
_heli flyInHeight 0;
// Ждём пока вертолёт будет стоять на земле
waitUntil {isTouchingGround _heli};
// Выкидываем дымы по кругу
private _dir = 0;
private _a = 0;
while{_a < 16}do{
_sPos = [((getPos _heli) select 0) + (sin _dir) * 12, ((getPos _heli) select 1) + (cos _dir) * 12, ((getPos _heli) select 2)];
_smoke1 = "SmokeShellBlue" createVehicle _sPos;
_a = _a + 1;
_dir = _dir + (360 / 16);
};
// Приказываем группе десанта покинуть борт вертолёта
_supgroup leaveVehicle _heli;
// Ждём пока все челны группы десанта покинут вертолёт
waitUntil {
sleep 5;
count (_unitsCargo select {alive _x && (!isNull objectParent _x)}) == 0
};
// Добавляем группе вейпоинт для дальнейшего движения
_wp =_supgroup addWaypoint [[7292.51,3885.71,0], 0];
// Приказываем вертолёту уходить на указанные координаты
_heli domove [8012.94,9711.8,0];
// Задаём высоту полёта
_heli flyinheight 50;
// Откидываем ловушки
_heli spawn _flares2;
// Ждём пока дистанция будет менее 300 метров - удаляем вертолёт
waitUntil {
sleep 1;
(_heli distance [8012.94,9711.8,0]) < 300
};
{deleteVehicle _x} forEach ((units group _heli) + [_heli]);
};

Если же что-то непонятно, то можно спросить / уточнить в нашем Discord канале