|
|
Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Скрипты Ограничения передвижения юнита (Ограничения передвижения юнита триггером) |
Ограничения передвижения юнита |
› Воскресенье
› 16.08.2020
› 11:37
› Сообщение #
Вопрос такой:Можно ли как-то ограничить область перемещения бота триггером?Тобишь бот не может выйти за пределы триггера определённого размера.Смысл такой:Есть здание (Хочу создать лабораторию,но так как готовых зданий похожих нет,приходится городить из разных зданий) я хочу поставить там бота,который будет там ходить (Например зомби,но проблема армы в том что бот начинает как бешеный бегать по зданию,проходить сквозь стены (а так же например я построил просто прямой туннель из объектов) и бот не может бегать по таким кастомным объектам,как уже говорил бегает сквозь стены,проваливается сквозь текстуры,короче фигня полная.Дак вот и подумал,есть ли возможность,ограничить,так сказать определить область передвижения бота триггером.Тобишь я ставлю триггер,например,размером 50 на 50 и высотой 2 м,ставлю внутрь бота и бот уже не может выйти за пределы триггера.То есть граница триггера для бота будет как капитальная стена через которую он даже сквозь пройти не может...Вот возможно ли заставить бота не выходить за пределы триггера?
|
› Воскресенье
› 03.01.2021
› 22:07
› Сообщение #
Выставляем юнита, который не должен выходить за пределы триггера.
Даем триггеру имя переменной (напр, trigger1). В инитиализации юнита пишем: [this, trigger1] call {[_this select 0, _this select 1] execVM "in_trigger_area.sqf"}. Создаем скрипт в папке с миссией под названием in_trigger_area.sqf. В скрипт копируем этот код: Код params ["_unit","_trigger"]; while {canMove _unit} do { if !(_unit inArea _trigger) then { private _position = _unit getRelPos [0.05, _unit getDir _trigger]; private _z = (getPosATL _unit) select 2; _unit setPosATL [_position select 0, _position select 1, _z]; }; }; Работает как на земле, так и на крыше зданий. |
› Воскресенье
› 03.01.2021
› 23:37
› Сообщение #
|
› Вторник
› 05.01.2021
› 17:24
› Сообщение #
В редакторе EDEN в поле инитиализации юнита команды execVM и spawn выдают ошибку. А call работает.
|
| |||
| |||
Чат сайта |