Jump to content


Photo

Удалить всех юнитов в триггере\на заданной территории.


  • Please log in to reply
4 replies to this topic

#1 OFFLINE   Afeallan

Afeallan

    Ефрейтор

  • Пользователи
  • 32 posts
  • Откуда:Москва

Posted 27 August 2016 - 19:54

Суть в сабже. Нужен способ удалить всех юнитов, находящихся в определённой зоне.
Зачем: в миссии огромное количество ботов, игроки двигаются через них. Нужно чтобы при выходе игроков из определённой территории удалялись все боты с этой территории, чтобы не жрало ресурсы.
Как вариант, создать триггер с чем-то вроде "игроков нет в триггере - удалить из триггера всех юнитов и объекты (пустой транспорт, объекты типа ящиков, и пр.)". Увы, команд не знаю, и по каким словам их искать тоже. Если кто-то делал такое и поможет - буду благодарен.

п.с. встроенное в редактор нечто типа "появись бот, когда игрок рядом" в мультиплеере работает до сих пор как-то очень криво.

Edited by Afeallan, 27 August 2016 - 19:55.

  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 27 August 2016 - 20:02

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


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


+ знание геометрии
Ну или через триггеры с активацией на всех и присутствуют:

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


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


PS

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


  • 0

#3 OFFLINE   Afeallan

Afeallan

    Ефрейтор

  • Пользователи
  • 32 posts
  • Откуда:Москва

Posted 11 September 2016 - 01:08

Afeallan, каким образом появляются боты?

Изначально на карте сразу со старта миссии.
Спасибо за ссылки, попробую из них что-нибудь склепать.
  • 0

#4 OFFLINE   A2012V

A2012V

    Ефрейтор

  • Пользователи
  • 80 posts

Posted 11 September 2016 - 14:53

удаляет всех с центра карты

 

_mapDefPos = getArray (configFile >> "CfgWorlds" >> worldName >> "centerPosition");
 {
 if ((_x distance _mapDefPos) < 50) then
  {
  _crew = crew _x;
  
   {
   deleteVehicle _x
   }
  foreach _crew;
  
  deleteVehicle _x;
  }
 }
foreach vehicles;
 {
  {
  if ((_x distance _mapDefPos) < 50) then
   {
   deleteVehicle _x;
   }
  }
 foreach (units _x);
 
 if ((({not (isNull _x) and {(alive _x)})} count (units _x)) < 1) then
  {
  deleteGroup _gp
  }
 }
foreach allGroups;
 {
 if ((_x distance _mapDefPos) < 50) then
  {
  deleteVehicle _x;
  } 
 }
foreach allDead;

 


  • 0

#5 OFFLINE   Afeallan

Afeallan

    Ефрейтор

  • Пользователи
  • 32 posts
  • Откуда:Москва

Posted 11 September 2016 - 19:03

A2012V, так мне с центра карты ни к чему. И как-то слишком много строк.
 
Я себе нашёл простейший и рабочий вариант.

Заехали в триггер, активировали строку с указанными параметрами, выпилили всё ненужное по целевому триггеру.

{deleteVehicle _x} forEach nearestObjects [имятриггера, ["all"], радиус]

Один минус - хотелось бы удаление ровно по форме триггера, даже по квадратной, пока решается несколькими триггерами, создающими нужную форму выпиливания объектов.


  • 0




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