Герой кастует способность, проигрываются анимки и эффекты, так вот, нужно чтобы пока все это кастовалось, герой не мог атаковать, использование подготовки для спелла не подходит, т.к. юнит не проигрывает анимацию триггерно. Холд тоже, т.к. если юнит подходит, то мой герой начинает атаковать

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

Взять канал и настроить анимацию? Не низя?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
19
5 лет назад
2
Похожие вопросы:

ответ
awesomesk1ll:
NickIAm:
NickIAm:
Странно.. Не работает с декорацией...
Сделай Triggering unit заместо Attacking unit
Главное чтоб условия соблюдались, тогда всё работает.
По такому же принципу делается запрет атаки по союзникам. Можно сделать проверку на процент хп. Что бы нельзя было бить только если у него 50% хп или меньше, если больше то можно.
С юнитами всё работает. Не надо мудрить с процентами. А вдруг крит?
ответ
Событие: юнит атакован
Дальше, проверять путь что между атакованным и атакующим является проходимым.
если пусть содержит непроходимости:
Приказать атакующему юниту "Отмена"
ответ
меняй acquire range триггерно, и дальность атаки не будет сбрасываться
ответ
второй триггер
на орудийные расчеты работает, вместе с первым
ответ
пеон, других вариантов нет

0
14
5 лет назад
0
Вот сижу уже 30 минут думаю, придумал создавать москита, через которого проигрывать анимацию, а основного героя прозрачным делать триггерно, хз
0
32
5 лет назад
0
Взять канал и настроить анимацию? Не низя?
Принятый ответ
0
14
5 лет назад
Отредактирован LainMikoroso
0
quq_CCCP:
Взять канал и настроить анимацию? Не низя?
Нет, анимка не проигрывается триггерно, во время каста спелла, только через РО
В общем, нашел решение проблемы. Проблема оказалась в модели, однако если использовать последовательность анимаций, то можно кастануть необходимую.
void NWUAnimationsByIndexAct() {
    timer t = GetExpiredTimer()
    int id = GetHandleId(t)
    int tick = LoadInteger(h,id,0) + 1
    unit u = LoadUnitHandle(h,id,8)
    
    SaveInteger(h,id,0,tick)
    SetUnitAnimationByIndex(u,tick)
    
    if tick >= 2 {
        SetUnitAnimationByIndex(u,LoadInteger(h,id,1))
        PauseTimer(t)
    }
    
	u = null
    t = null
}

void NWUAnimationsByIndex(unit u, integer i) {
    timer t = CreateTimer()
    int id = GetHandleId(t)
    
    SaveInteger(h,id,0,-1)
    SaveUnitHandle(h,id,8,u)
    SaveInteger(h,id,1,i)
    TimerStart(t,0.01,true,function NWUAnimationsByIndexAct)
    
    t = null
}
Может пригодиться кому
0
24
5 лет назад
Отредактирован prog
0
А канал пробовали? В смысле, в канале же анимацию задать тоже можно в РО.
4
19
5 лет назад
4
Если нужно запретить атаковать, то можно дать способность Склад.
0
4
5 лет назад
0
Можно дать безмолвие на время или периодически приказывать отставить
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.