<<<Назад <<<

Как выбросить группу из вертолета

Как заставить группу выпрыгнуть из летящего вертолета.
Один из советов уже предлагался, но он несколько не отражает то, что требуется.

Выбираем зону высадки. Зону высадки рекомендую выбрать так, чтобы она имела достаточно большую, приблизительно плоскую площадку, свободную от деревьев. Многие побережья для этого подходят идеально.
Для вертолета, в котором уже сидит десант, ставим два вейпоинта - один в начале, другой в конце зоны высадки. В обоих WP прописываем chop flyinheight 5 - с высотой можно поэксперементировать, но не поднимайте вертолет слишком высоко - мы же не хотим, чтобы юниты разбивались об землю, и не опускайте слишком низко - на высоте 2 ваш chop упрется в землю носом. Еще от вейпоинтов требуется, чтобы они:
- задали минимальную скорость вертолету (чем меньше скорость, тем меньше опущен нос и, оответсвенно, тем на меньшей высоте может идти вертолет.)
- запретили вертолету стрелять (а то он вместо десантирования солдат будет бегать за юнитами противника)
Где-то в середине зоны высадки (когда вертолет выйдет на заданную высоту) необходимо поставить триггер, активируемый, разумеется, только вертолетом. Теперь самое интересное - в строке on activation прописывается команда:
unit action ["getout",chop]; unassignvehicle unit
что есть что, я думаю объяснять не надо(на всякий случай: chop-имя вертолета). Если необходимо выбросить группу, то можно, конечно воспользоваться строкой

getout="getout"; "_x action [getout,chop]" foreach units CargoGroup;"unassignvehicle _x" foreach units CargoGroup

где CargoGroup - выбрасываемая группа. Но эффект получиться не тот. Лучше создать небольшой скрипт, вроде вот этого:

_count=0
_limit=(count units CargoGroup)
#begin
_unit=((units CargoGroup) select _count)
_unit action ["getout",chop]
unassignvehicle _unit
~0.5
_count=_count+1
?(_count<=_limit-1):goto "begin"


Скрипт не проверялся - возможны синтаксические ошибки, но я старался не допустить их.
Если вместо "getout" использовать "eject", то вертолет попытается подняться на высоту, достаточную для раскрытия парашюта, но у него это всё равно не получиться и юнит точно сломает себе ноги (как минимум). Поэтому если вы хотите выбросить юнит с парашютом, то задайте вертолету достаточно большую высоту заранее.
И еще одно - все что задается через action одинаково действует и на AI и на игрока. (то есть игроку, если он в десантируемой группе, нужно всего лишь сидеть и ждать, пока его выбросит из вертолета).

<<<Назад <<<