Как триггерно проверить прошел ли кулдаун на способность?

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

либо через мемхак, либо отслеживать использование способности, устанавливать кулдаун в переменную и уменьшать ее таймером; при достижении нуля считать что способность перезарядилась.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
7 лет назад
0
Похожие вопросы:

ответ
В предмете ID кулдауна разный ставьте.
ответ
SetUnitPropWindow
Спс, что то раньше этой нативки не видел, ну пока сделал на пересоздании предмета, там посмотрим.
ответ
Ну, перенеси всё это clawbfs.ucoz.ru/forum/3-2-1 и итемы и две игровые карты с кучей режимов и сотни шапок и т. д. + в 2 раза больше новых идей clawbfs.ucoz.ru/forum/7 clawbfs.ucoz.ru/forum/16-1571-1 clawbfs.ucoz.ru/forum/9 со всеми функциями варкрафта (а их там всё же не так уж и мало) в игру на юнити или ещё куда в один присест, сделай дело доброе.
Бтв, про сбор команды - для продвинутых сущностей нередко исправлять за другими оказывается тяжелее, чем делать самому, важно создать максимально комфортные условия для созидания, вот для чего деньги не лишние, а уж дело и самому можно делать.
И, да, тема-то не про то, надо это или не надо, а про то, как лучше это сделать, я про это и в стартовом сообщении написал.
Я на крайний сам вопрос по варианту 3 проверю и/или будет сделан выбор между третьим вариантом, вторым, каким-то ещё и отказом от Cooldown Reduction, но если кто поможет - спасибо.
ответ
Gerhop, если у игрока лишь 1 герой то можно сразу дать этот скилл
при подборе предмета разрешать его а при выпадении запрещать
тогда вроде кд будет сохранятся
если мне память не изменяет
ответ
а нафига так много ифов?
если каждый лвл даёт по 12 пробегов цикла то не проще ли написать
цикл от 1 до 12*лвл способности
только лвл способности в локалке хранить надо
ошибка в том что в цикле используется глобальная переменная A
когда триггер работает он каждую секунду увеличивает значение A на 1
если триггер был запущен дважды то каждую секунду A увеличивается на 2
как только A достигает лимита(12*лвл способности) все циклы использующие переменную A завершаются
для того чтобы избавиться от этого бага надо юзать локальные переменные
у нас есть куча статей по локалкам, циклам, и прочей фигне

2
20
7 лет назад
2
либо через мемхак, либо отслеживать использование способности, устанавливать кулдаун в переменную и уменьшать ее таймером; при достижении нуля считать что способность перезарядилась.
Принятый ответ
0
8
7 лет назад
0
biridius:
либо через мемхак, либо отслеживать использование способности, устанавливать кулдаун в переменную и уменьшать ее таймером; при достижении нуля считать что способность перезарядилась.
Была идея с отслеживанием, но немножко запаристо таким путем. Жаль что другого варианта нет!
1
28
7 лет назад
Отредактирован nvc123
1
Altf40160, в большинстве случаев проверка на самом деле не требуется и надо просто приказать кастануть способность
если же без проверки никак(в чём я не уверен) то таймер/мемхак
6
21
7 лет назад
Отредактирован ClotPh
6
Если отслеживанием без мемхака, то еще важно не забыть учитывать всякие рефрешероподобные абилки - после их применения сразу засчитывать все кулдауны у того, кому рефрешнуло, готовыми.
Можно, например, при каждом рефреше накидывать на того, кому он произведен, способность-маркер-пустышку "этому сейчас рефрешнуло", во всех своих отслеживающих таймерах проверять ее наличие у юнита, если она есть - сразу делать "достижение нуля" и удалять ее (т. к. свою функцию выполнила).
Хотя во избежание багов еще такую абилу-пустышку тогда надо удалять при каждом ПРИМЕНЕНИИ способности, а таймер-счетчик должен быть с малым периодом...
0
27
7 лет назад
Отредактирован MpW
0
nvc123, твои слова мне кое-что напомнили. я видел в функциях приказов, что возвращает boolean. То есть можно использовать в качестве проверки. Один чувак на форуме как-то советовал использовать это в качестве проверки на проходимость. Короче приказ в точку. Если юнит туда не идет, значит, что туда не пройти (вернет false). Иначе стоп (вернет true). Только я не проверял этот способ. Просто вспомнил про него. А что будет если использовать также приказ в качестве проверки на использование скила? Если кд уже запущен, или у юнита нет способности, не изучена способность, выключена или спрятано, то вернет false
недостаток в том, что это не совсем проверка. Даже, если всунуть в условие, то может случайно запустить способность в кд. Есть решение: если скилл запустится, то его удаляем абилку и заново пихаем эту же. Чрезмерно грубо, еще надо знать какой скилл удаляться. неудобно. попроще приказом stop отменяем, но перебиваем приказ молота (у меня в карте молот).
вот карта пример
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.