Перейти к содержимому


Фотография

Триггер на удаление всего в нем


Лучший Ответ Ibragim , 12 January 2021 - 20:04

Триггер среагирует на первый же активирующий его объект и удалит только его. В данном случае лучше оттолкнуться от определенной точки и удалить все в радиусе.
Ставим любой объект, называем его object1 (или просто определяем позицию), после чего в нужный момент запускаем команду:
 

_center = position object1;   // Центр удаления (объект, позиция, маркер...)
_radius = 500;                // Радиус удаления в метрах
_type = ["Air","CAManBase"];  // Тип объектов, нуждающихся в удалении (вертолеты и люди)
{deleteVehicle _x} forEach (nearestObjects [_center, _type, _radius]);
Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 OFFLINE   Regool

Regool

    Рядовой

  • Пользователи
  • 15 сообщений

Отправлено 12 January 2021 - 17:16

Вообщем делаю в миссию, и в начале над игроками должны пролетать вертолеты, много вертолетов. Во время такого действия и после, понятное дело, лагает. И вот нужно сделать триггер, который удаляет вообще все что в нем есть(поставленное пользователем). Раньше я каждому юниту и технике прописывал имя переменной и на вейпоинте ставил команду на удаление каждого, прописанного до этого, объекта, но в этот раз вейпоинты у вертолетов индивидуальные, да и надоело такой хренью заниматься. Рассчитываю на вашу помощь!


Сообщение отредактировал Regool: 12 January 2021 - 20:53

  • 0

#2 OFFLINE   Ibragim

Ibragim

    Сержант

  • Пользователи
  • 161 сообщений

Отправлено 12 January 2021 - 20:04   Лучший Ответ

Триггер среагирует на первый же активирующий его объект и удалит только его. В данном случае лучше оттолкнуться от определенной точки и удалить все в радиусе.
Ставим любой объект, называем его object1 (или просто определяем позицию), после чего в нужный момент запускаем команду:
 

_center = position object1;   // Центр удаления (объект, позиция, маркер...)
_radius = 500;                // Радиус удаления в метрах
_type = ["Air","CAManBase"];  // Тип объектов, нуждающихся в удалении (вертолеты и люди)
{deleteVehicle _x} forEach (nearestObjects [_center, _type, _radius]);

  • 0

#3 OFFLINE   Regool

Regool

    Рядовой

  • Пользователи
  • 15 сообщений

Отправлено 12 January 2021 - 20:53

 

Триггер среагирует на первый же активирующий его объект и удалит только его. В данном случае лучше оттолкнуться от определенной точки и удалить все в радиусе.
Ставим любой объект, называем его object1 (или просто определяем позицию), после чего в нужный момент запускаем команду:
 

_center = position object1;   // Центр удаления (объект, позиция, маркер...)
_radius = 500;                // Радиус удаления в метрах
_type = ["Air","CAManBase"];  // Тип объектов, нуждающихся в удалении (вертолеты и люди)
{deleteVehicle _x} forEach (nearestObjects [_center, _type, _radius]);

Спасибо большое!


  • 0

#4 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1780 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 12 January 2021 - 20:55

Ibragim, а если нужно удалить в пределах эллипса или прямоугольника?


Сообщение отредактировал Schatten: 12 January 2021 - 20:55

  • 0

#5 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1780 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 12 January 2021 - 21:01

Regool, можно попробовать настроить триггер так, чтобы он отслеживал что-угодно, в поле "При активации" вставить код

{ deleteVehicle _x; } forEach thisList;

и активировать триггер как-нибудь внешним образом.


  • 0

#6 OFFLINE   Ibragim

Ibragim

    Сержант

  • Пользователи
  • 161 сообщений

Отправлено 12 January 2021 - 21:29

Ibragim, а если нужно удалить в пределах эллипса или прямоугольника?

Для такого случая удобно использовать

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

. Работает как с площадью триггера, так и с произвольными площадями и маркерами.
Условие триггера в плоскости будет постоянно проверяться, а разовая функция на удаление в радиусе - нет.

thisList включает только отслеживаемые объекты, и если требуется удалить только вертолеты, триггер должен отслеживать не любые объекты, а именно те вертолеты. 


  • 0

#7 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1780 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 12 January 2021 - 21:41

Ibragim, ну так ставим триггер произвольной формы, задаём отслеживание чего угодно, активируем снаружи, а код

{ deleteVehicle _x; } forEach (thisList select { _x isKindOf "Air" });

удалит внутри триггера воздушную технику (можно поменять).


Сообщение отредактировал Schatten: 13 January 2021 - 02:05

  • 0




Яндекс.Метрика