Добавлен NatriY
После того, как юнит применяет молот бурь, на его хэндл в хэш таблицу заносится юнит - цель способности.
Далее создаю триггер, когда юнит-цель получает урон, то идёт проверка.
Я выгружаю из хэндла юнита, нанёсшего урон, юнит-цель.
Далее идёт проверка( баф, урон равный 0 и уровень способности > 0 не интересуют), дело именно в последнем условии в IF. Там я сравниваю юнита, получившего урон и юнита, которого я достал из хэш-таблицы с хэндлом юнита, нанёсшего урон ( Так как юнит, нанёсший урон, и юнит, применивший способность в начале - это один и тот же юнит, то его handle одинаковый, значит в handle_target должен был попасть тот же target. Но почему-то условие не проходит. ( Если убрать эту последнюю проверку, то всё работает) Почему так?
Далее создаю триггер, когда юнит-цель получает урон, то идёт проверка.
Я выгружаю из хэндла юнита, нанёсшего урон, юнит-цель.
Далее идёт проверка( баф, урон равный 0 и уровень способности > 0 не интересуют), дело именно в последнем условии в IF. Там я сравниваю юнита, получившего урон и юнита, которого я достал из хэш-таблицы с хэндлом юнита, нанёсшего урон ( Так как юнит, нанёсший урон, и юнит, применивший способность в начале - это один и тот же юнит, то его handle одинаковый, значит в handle_target должен был попасть тот же target. Но почему-то условие не проходит. ( Если убрать эту последнюю проверку, то всё работает) Почему так?
Принятый ответ
Лучше событие spell effect, так же помни что у молотка бурь сперва идёт основной урон, а только потом 0.00 урона и бафф, на первом ивенте урона юнит ещё не оглушен и баффа нету.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. biridius
в первом триггере не обнуляются хендлы
flush'ить хеш у всех юнитов которые бьют цель не стоит, убьет всю инфу сохраненную на юните, лучше RemoveSavedInteger/Handle по одному
ну и попробуй дебажить хотя бы сообщениями, например выводить урон через BJDebugMsg(damage) может поможет понять что не так