Добро пожаловать Гость, Вы в разделе: Вход

Энциклопедия по редактору Arma, Arma 2, Arma 3 и Operation Flashpoint

VKRSSRSS
На главную

Навигация


Искать в энциклопедии:
»


Важная информация




Сайт управляется

Учебник по написанию скриптов
Изображение



Учебник по созданию роликов


Изображение



Наши партнеры



ArmA 3, ArmA 2 news Russian community, SARMAT community
Этот скрипт позволяет заскриптовывать вертолет для любых полетов без использования вертолетных площадок. Скрипт пригодится для тех кто хочет идеально провести вертолет между деревьев и не зацепить ветку, или посадить его на крышу дома.



Запуск скрипта:[chopper, route positions array, flying height, landing true/false] execVM "mando_heliroute_arma.sqf"
Запуск скрипта:[вертолет, массив позиций маршрута, высота, посадка true/false] execVM "mando_heliroute_arma.sqf"



Если надо проверить закончен ли маршрут:




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.";
};
};

Ничего сложного, нет.

Ставишь невидимую вертолетную площадку или игровую логику , называешь ее positions

Создаешь вертолет, его называешь: heli1

Там где цифра 65 - это высота, на которую должен подняться вертолет и лететь.

Там где true - это разрешить посадку, или запретить false.


Допустим,если тебе надо, просто заскриптовать, что бы вертолет летел по маршруту, то надо ставить что то вроде вот такого:


_scr = [heli1,[getPos positions],65, false]execVM"mando_heliroute_arma.sqf";
Sleep 0;
waitUntil {heli1 getVariable "mando_heliroute" != "busy"};

_scr = [heli1,[getPos positions_1],65, false]execVM"mando_heliroute_arma.sqf";

waitUntil {heli1 getVariable "mando_heliroute" != "busy"};

_scr = [heli1,[getPos positions_2],65, false]execVM"mando_heliroute_arma.sqf";

waitUntil {heli1 getVariable "mando_heliroute" != "busy"};

_scr = [heli1,[getPos positions_3],65, true]execVM"mando_heliroute_arma.sqf";

waitUntil {heli1 getVariable "mando_heliroute" != "busy"};

А в конце, как видно, стоит true, то есть посадить вертолет.


Затем создаешь файл: vert.sqf


_scr = [heli1,[getPos positions],[color=blue]65[/color], [color=blue]true[/color]]execVM"mando_heliroute_arma.sqf";
Sleep 1;
waitUntil {heli1 getVariable "mando_heliroute" != "busy"};

driver heli1 sideChat "C'mon guys, get in quick!";

Затем запускаешь файл vert.sqf с триггера или контрольной точки или скрипта.

Вот так: vert_marshryt = [] execVM "vert.sqf"


Скачать пример миссии
Изображение

Объяснил: Kolek

Отредактировал и перевел (комментарии в файлах): Mikezar


Две колонки
О нас
SunHorizon Wiki версия 1.0.2.17.
© 2013-2014 SUNHORIZON.INFO.Все права сохранены.
В проекте использованы изображения FamFamFam
Связь с нами
Изображение
Правила сайта
Изображение

Авторские права
Изображение