XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
Умерший на MapInit юнит остается жив?
Дело в чем: в своем проекте использую массу спелов, в которых стоят неоднократные проверки - Жив ли юнит?
И вот эти самые юниты, которые были убиты триггерно на MapInit, возвращаются функцией как Живые.

Экспериментально пробовал убивать разными функциями, просто Kill unit, Damage Target\Area - во всех случаях при проверке они живы.
Если убивать этими же функциями хотя бы по истечению 0.02 секунд, функция возвращает значение - мертв.
Почему так?
Миниатюры
Кликните на картинку для увеличения
Название:  123.jpg
Просмотров: 40
Размер:  337.9 Кбайт  
Старый 09.04.2013, 06:48
Таурен
The Ps*c*oto*ia ORPG
offline
Опыт: 2,078
Активность:
Очевидно нужно минимальное время на регистрацию смерти юнита движком игры. Возможно это связано как то с сравнением хп юнита, равно ли оно 0.405 или нет, и если равно -фаршить в щи юнита и говорить что он мертв.
Предположительно, это зависит от анимации, мне припоминается пункт Время смерти в РО, но я не уверен что он сюда)
Старый 09.04.2013, 07:03
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
Таурен, со временем смерти тоже поиграл. Без результата.
Основная беда в том, что убитые таким способом юниты могут служить целью для моих спелов, обходя проверку.
Я даже пробовал со способностью стандартной Оживить мертвых у некроманта, она не распознает такого юнита как труп.
Старый 09.04.2013, 07:38
Hanabishi
COOL STATUS
offline
Опыт: отключен
Ну сделай перед убийством вейт нулевой, или смени событие на прошло 0 секунд.
Старый 09.04.2013, 08:39
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
Hanabishi:
смени событие на прошло 0 секунд.
Пробовал так у друга, работает нормально. Но на моем ПК почему-то только по
истечению 0.02 секунд

Сама проблема решена. Мне скорее было эстетически интересно, в чем же причина все таки)
Старый 09.04.2013, 09:30
DioD

offline
Опыт: 45,134
Активность:
у меня глупый вопрос, а зачем проверять умерли ли юниты если ты и так знаешь что они умерли потому что сам их убил?
Старый 09.04.2013, 12:00
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
DioD, проверки идут в циклах спеллов. К примеру, триггерный аналог Цепной молнии, после нанесения урона одному юниту идет проверка, есть ли в радиусе поражения живой уязвимый вражеский юнит ,которого эта молния еще не ударила.
Старый 09.04.2013, 13:06
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,476
Активность:
((код jass
GetUnitState( unit, UNIT_STATE_LIFE ) > 0.4
))
Не пробовал? вернёт false если юнит помер...
Старый 09.04.2013, 14:36
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
quq_CCCP, через проверку по здоровью и сделал, проблем нет)
Спасибо.
Можно тему закрыть.
Старый 09.04.2013, 15:20
ScorpioT1000
Работаем
offline
Опыт: отключен
quq_CCCP, да ты издеваешься, уходи, тебе запрещено отвечать в академии.
Старый 09.04.2013, 17:17
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
ScorpioT1000, ммм, сенкс, буду иметь в виду.
Старый 09.04.2013, 18:13
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 21:46.