Как запустить действие один раз, проверив всех юнитов находящихся в области на то, что если один из них имеет баф, например, "Дух-целитель", то действие должно запускаться только один раз, если даже у двух юнитов будет баф.
Пытался разными способами, но не получается, у меня если два юнита в области, триггер дважды запускается, так как там стоит цикл. Прикрепил карту, посмотрите пожалуйста и если можете, то исправте. Я пытался в этой карте сделать так, что если юнит вошёл в область, то Целители кастуют скилл на фонтан. Всё работает, когда один юнит, но когда заходит второй, то Целители начинают быстро кастовать и сразу останавливать каст, получается какой-то лаг.

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

Можно просто пикать всех юнитов в регионе, или ещё красивее
GetEnumRange('Лечилка')
Загруженные файлы
0
11
6 лет назад
0
If юнит имеет баф такой-то, то добавить его к группе "баффнутые"
Следующее действие - выбрать рандомного юнита из "бафнутые", назначить на него переменную, и дальше уже хилить юнитом-перменной
0
13
6 лет назад
0
Когда условие выполнилось, в cs: прописать exitwhen == true или установить переменную bj_forLoopAIndex равную или больше количеству цыклов
0
4
6 лет назад
0
Функция if GetUnitAbilityLevel(юнит, абилка/баф) > 0
то действия
endif
0
32
6 лет назад
0
Можно не морочится с гемором, просто создать группу, которую обновлять время от времени, а при касте целителя на юнита, заносить юнита в группу, проверяя перед кастом, а юнит то в группе, по завершению каста или раз в N сек очищать группу.
2
29
6 лет назад
2
Можно просто пикать всех юнитов в регионе, или ещё красивее
GetEnumRange('Лечилка')
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.