Всем привет,
вопрос: есть ли функция в Jass, которая возвращала бы true, если способность можно использовать, и false, если способность нельзя использовать. Если да, то можно ли разграничить эту невозможность использования, т.е. отслеживать причину невозможности каста (не хватает маны, способность в кулдауне, сам кастер в стане, нет в наличии способности и т.д.)
Если нет, какие мысли по поводу создания такой функции?

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
25
9 лет назад
0
А теперь вопрос: зачем? Для чего это нужно? Но функцию написать можно. Делается по отлову приказа применения способности.
1
7
9 лет назад
Отредактирован Ambruziy
1
Использовать хочу вот в чем: при логике принятия решений ИИ будет выбирать действием с наибольшим весом. Применение тех или иных способностей будет наравне с действием атаки или к примеру хила. Но ИИ должен отслеживать, может ли он кастовать хил, если нет - соответствующий вес будет множиться на ноль для этого момента времени.
Итог, нужно отлавливать эту возможность.
0
28
9 лет назад
0
Ambruziy, приказываем кастануть скил и смотрим на результат
если кастанул то молодец если нет то обнуляем вес
0
7
9 лет назад
0
nvc123, вот тут и основная проблема: во-первых, нельзя менять текущий приказ (но с этим можно справиться в общих чертах), во-вторых, если юнит каст применил, то уже поздно отслеживать возможность, т.е. нужно вычислять именно потенциал, сможет или не сможет допустим через секунду кастануть. И опять же, таким способом не находим причины невозможности каста. С маной вроде бы можно разобраться, где-то на форуме была функция, которая цепляла стоимость каста. А вот с кд я не знаю.
0
17
9 лет назад
Отредактирован naxim
0
А вот с кд я не знаю.
Привязываешь к определённому типу способности срок её кд. Когда способность применяется, это значит, что способность ушла в кд и устанавливаешь таймер на время её кд. Когда таймер истёк, это значит, что с этого момента способность больше не в кд.
Ambruziy:
не хватает маны
Привязываешь к определённому типу способности количество маны, которую она требует для применения. Если требуемое количество маны больше или равно текущему количеству маны самого кастера, значит маны для применения достаточно.
Принятый ответ
0
7
9 лет назад
0
naxim, в общем "база данных в помощь") Да, видимо только так и можно.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.