Надо сделать агр акса из доты, который каждые 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 то очищай группу и удаляй таймер
если муи то тебе нужен таймер и стек объектов (группа юнитов + счётчик + юнит который применил агр)
таймер бегает по стеку и делает с каждым объектом тоже самое что и с одной группой

если ответ получен то закрой вопрос (выбрав лучший ответ)
если нет то опиши что именно не так в полученных ответах
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
15
Зачем? Я не знаю, что за акс. Но если нужно чтобы каждые 0.05 сек все нужные юниты получали приказ. то сделай таймер. Сделай группу, где будут твои юниты. И под этот таймер мути приказ для твоей группы.
28
агр акса реализован немного не так
если не муи то делай как сказал EnergyFrost
пихай юнитов в глобальную группу
того кто кастанул агр заноси в переменную
переменной типа инт присваивай значение 60 (будет считать количество срабатываний таймера)
и запускай периодический таймер
на каждом тике таймера перебирай группу и приказывай атаковать кастера(он записан в твоей переменной)
после перебора группы уменьшай инт на 1
если инт равен 0 то очищай группу и удаляй таймер
если муи то тебе нужен таймер и стек объектов (группа юнитов + счётчик + юнит который применил агр)
таймер бегает по стеку и делает с каждым объектом тоже самое что и с одной группой

если ответ получен то закрой вопрос (выбрав лучший ответ)
если нет то опиши что именно не так в полученных ответах
Принятый ответ
3
хороший ответ, спс~nvc123:
агр акса реализован немного не так
если не муи то делай как сказал EnergyFrost
пихай юнитов в глобальную группу
того кто кастанул агр заноси в переменную
переменной типа инт присваивай значение 60 (будет считать количество срабатываний таймера)
и запускай периодический таймер
на каждом тике таймера перебирай группу и приказывай атаковать кастера(он записан в твоей переменной)
после перебора группы уменьшай инт на 1
если инт равен 0 то очищай группу и удаляй таймер
если муи то тебе нужен таймер и стек объектов (группа юнитов + счётчик + юнит который применил агр)
таймер бегает по стеку и делает с каждым объектом тоже самое что и с одной группой

если ответ получен то закрой вопрос (выбрав лучший ответ)
если нет то опиши что именно не так в полученных ответах
28
WyngSpan, в вопросе есть графа лучший ответ
там нужно выбирать комментарий
после того как выберешь вопрос считается закрытым
32
Эх нафиг приказ 60 раз в сек, можно же другим путем...
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.