Собственно ситуация такова - есть аура, которая действует на враждебных юнитов, юнит умирает, происходит то-то. Если выставить в условие "Юнит имеет бафф", то ничего не происходит. Есть ли способ засечь это, без постоянной проверки подходящих юнитов, находящихся на нужном расстоянии?
P.S. - желательно на ГУИ

Принятый ответ

Можно сделать переменную-отряд, в которую периодически засовывать юнитов с баффом.
Каждые 2 сек. - перебрать всех юнитов -
  • если юнит не в группе и имеет бафф - засунуть в группу
  • если юнит в группе но без баффа - убрать из группы
при смерти проверять что юнит в группе
по другому бафф не отследить тк они снимаются при смерти
2
21
6 лет назад
2
Можно сделать переменную-отряд, в которую периодически засовывать юнитов с баффом.
Каждые 2 сек. - перебрать всех юнитов -
  • если юнит не в группе и имеет бафф - засунуть в группу
  • если юнит в группе но без баффа - убрать из группы
при смерти проверять что юнит в группе
по другому бафф не отследить тк они снимаются при смерти
Принятый ответ
0
3
6 лет назад
0
Этого я и боялся... Игра не сильно будет лагать, если будут идти несколько подобных проверок (разные триггерные заклинания у разных юнитов, каждые 0.10 секунд проверяют юнитов в разных группах), при условии что утечек памяти нет?
0
21
6 лет назад
0
DirtyBeach, можно все эти проверки делать в одном триггере в одном цикле перебора всех юнитов
0.1 сек. не обязательно, у аур все равно задержка наложения/снятия
игра не должна лагать от собственно кода сколько бы его ни было (варкрафт тупо обрывает выполнение когда кода слишком много), только от накопления утечек и создания новых объектов этим кодом
0
3
6 лет назад
0
Все локации и группы в переменных, которые потом удаляются custom скриптом. Большое спасибо за ответы.
0
21
6 лет назад
0
имхо вместо групп удобнее значение на хэш юнита сейвить
0
21
6 лет назад
0
ClotPh, на гуях неудобно с хешом ковыряться
Чтобы оставить комментарий, пожалуйста, войдите на сайт.