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

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

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

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

14
Вот сижу уже 30 минут думаю, придумал создавать москита, через которого проигрывать анимацию, а основного героя прозрачным делать триггерно, хз
32
Взять канал и настроить анимацию? Не низя?
Принятый ответ
14
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
}
Может пригодиться кому
24
А канал пробовали? В смысле, в канале же анимацию задать тоже можно в РО.
20
Если нужно запретить атаковать, то можно дать способность Склад.
4
Можно дать безмолвие на время или периодически приказывать отставить
14
prog:
А канал пробовали? В смысле, в канале же анимацию задать тоже можно в РО.
Там короче проблема появляется, в том, что если я начинаю чарджить, то анимации нет, в РО указывается только анимация, котороая будет проигрываться только после самого каста спелла.
KaneThaumaturge:
Если нужно запретить атаковать, то можно дать способность Склад.
Вот тут по-подробнее~Calabe:
Можно дать безмолвие на время или периодически приказывать отставить
Отставить=проигрывание анимации stand, что будет сбивать мне анимацию
Мне нужно чтобы юнит в любой момент мог использовать способность или атаковать, только при своем желании
KaneThaumaturge:
Если нужно запретить атаковать, то можно дать способность Склад.
Склад вырубает саму атаку, мне нужна только лишь автоатака
28
Склад вырубает саму атаку, мне нужна только лишь автоатака
А какая разница? Если отключить только автоатаку, то при подходе к герою, он всё равно будет атаковать.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.