Добавлен Altf40160
Вот такой код (в этом случае три точки), не всегда, но может сработать, даже если один из юнитов мертв.
if not IsUnitDeadBJ(udg_CAPITAN) and not IsUnitDeadBJ(udg_CAPITAN_SC) then
...
endif
P.S. Никаких вейтов не юзал в коде, он мгновенный.
В чем может быть причина?
В чем может быть причина?
Принятый ответ
не юзайте бж говно функции
GetWidgetLife( unit ) < 0.405 or IsUnitType( unit, UNIT_TYPE_DEAD )
Вот это должно помочь.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Может причина в том, что здоровье юнита не обязательно 0 или меньше, а может быть в диапазоне от 0.001 и до 0.405
Окей, буду юзать GetWidgetLife( unit ) < 0.405
Спасибо!
Кроме того, число "0.4" ничем не хуже числа "0.405", и даже лучше: в нём меньше знаков.
Щяс там из за 2х знаков все сломается.
Триггерно я здоровье не менял.
Выяснилось, что бага иногда воспроизводится если в отряде врага есть юнит, ообладающий волной исцеления. Возможно волна исцеления с учётом задержки её применения в некоторых случаях восстанавливает здоровье уже дохлым юнитам.
Почекай это.