Есть действия, которые нужно совершить, если юнит перестал атаковать. Не соображу, какими событиями это отловить. Очевидно, юнит перестанет атаковать, если умрёт, или есть умрёт его цель. А вот как отловить, что он сбежал или вернулся на базу (в случае крипа), не знаю. Может, есть простой способ проследить вот это вот всё?

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

подведя итоги
простого способа нету
надо писать громоздкую систему с таймером и проверками на приказ, время с последней атаки и местоположения(на случай если юнит побежит за целью)
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
5
8 лет назад
0
Как вариант, запускать таймер, где у переменной отнимается его период (0.03 сек например), а сама переменная изначально равна 3.
Проверять текущий приказ цели.
Если "smart" или "attack", задаем переменной начальное значение - 3 секунды. Иначе ничего не делаем.
Когда переменная равна 0, юнит перестал атаковать.
Естественно задержку выхода из боя можешь сделать не 3 секунды, а сколько тебе надо.
0
33
8 лет назад
0
BonBo, а как ты предлагаешь проверить «текущий приказ цели»?
2
5
8 лет назад
2
Если гуи, то вот
Загруженные файлы
0
33
8 лет назад
0
Не гуи, но спасибо. Совсем забыл, что есть такая функция. Получается, простой вариант — проверять, когда приказ юнита станет не attack, да. Надо попробовать.
0
20
8 лет назад
0
а с авто-кастами что делать?
у них приказ тоже attack?
0
33
8 лет назад
0
ssbbssc, автокастами я могу пренебречь, не планирую их использовать.
0
5
8 лет назад
0
ssbbssc, вроде бы да, точно не знаю.
Но если ты мануально применяешь способность, у которой есть автокаст, то приказ способности используется
0
32
8 лет назад
0
Кет, приказ юнита равен 0 значит он ниче не делает, ему нужно отдать приказ еще раз.
0
33
8 лет назад
0
quq_CCCP, ты это к чему?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.