Надо сделать агр акса из доты, который каждые 0.05 секунд, в течение 3 секунд дает врагу команду атаковать применившего заклятие, все бы хорошо и всё работает, но приказ отдается лишь 1 раз, а надо чтобы отдавался 60 раз/3 сек.
...
loop
set f = FirstOfGroup(n)
exitwhen f == null
call IssueTargetOrder(f, "attack", caster)
call GroupRemoveUnit(n, f)
endloop
...
подскажите, какие есть варианты? Что нужно сделать с этим циклом, чтобы каждое "f" (боевая единица группы) имела свой цикл с таймером и событием
call IssueTargetOrder(f, "attack", caster)
?
Принятый ответ
агр акса реализован немного не так
если не муи то делай как сказал EnergyFrost
пихай юнитов в глобальную группу
того кто кастанул агр заноси в переменную
переменной типа инт присваивай значение 60 (будет считать количество срабатываний таймера)
и запускай периодический таймер
на каждом тике таймера перебирай группу и приказывай атаковать кастера(он записан в твоей переменной)
после перебора группы уменьшай инт на 1
если инт равен 0 то очищай группу и удаляй таймер
если муи то тебе нужен таймер и стек объектов (группа юнитов + счётчик + юнит который применил агр)
таймер бегает по стеку и делает с каждым объектом тоже самое что и с одной группой
если не муи то делай как сказал EnergyFrost
пихай юнитов в глобальную группу
того кто кастанул агр заноси в переменную
переменной типа инт присваивай значение 60 (будет считать количество срабатываний таймера)
и запускай периодический таймер
на каждом тике таймера перебирай группу и приказывай атаковать кастера(он записан в твоей переменной)
после перебора группы уменьшай инт на 1
если инт равен 0 то очищай группу и удаляй таймер
если муи то тебе нужен таймер и стек объектов (группа юнитов + счётчик + юнит который применил агр)
таймер бегает по стеку и делает с каждым объектом тоже самое что и с одной группой
если ответ получен то закрой вопрос (выбрав лучший ответ)
если нет то опиши что именно не так в полученных ответах
если нет то опиши что именно не так в полученных ответах
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. nvc123
если не муи то делай как сказал EnergyFrost
пихай юнитов в глобальную группу
того кто кастанул агр заноси в переменную
переменной типа инт присваивай значение 60 (будет считать количество срабатываний таймера)
и запускай периодический таймер
на каждом тике таймера перебирай группу и приказывай атаковать кастера(он записан в твоей переменной)
после перебора группы уменьшай инт на 1
если инт равен 0 то очищай группу и удаляй таймер
если муи то тебе нужен таймер и стек объектов (группа юнитов + счётчик + юнит который применил агр)
таймер бегает по стеку и делает с каждым объектом тоже самое что и с одной группой
если нет то опиши что именно не так в полученных ответах
там нужно выбирать комментарий
после того как выберешь вопрос считается закрытым