Приветствую)
Возник очередной сложный вопрос. Известно, что после смерти боевая единица не удаляется из памяти игры. Это происходит лишь после ее полного разложения. Функцию RemoveUnit, пока что, во внимание не берем. Когда разложение боевой единицы подходит к концу (и она не герой), то она удаляется с памяти игры и освобождает handle.
Вопрос: Как уловить данный момент очищения handle боевой единицы (учитывая то, что он может быть использован после под другой объект)?
P. S.: Как уловить момент удаления через функцию RemoveUnit? (вариант через define native-функции, то есть ее подмена для последующего отлова как события изменения реальной переменной, не совсем подходит)

вариант через define native-функции, то есть ее подмена для последующего отлова как события изменения реальной переменной, не совсем подходит
Даже интересно, почему?
Как уловить момент очищения handle боевой единицы?
Как вариант - периодическая проверка координат юнита по его хендлу, стали равны 0.0 / 0.0 - юнит был удалён.
Как уловить момент удаления через функцию RemoveUnit?
Вызвать нужную функцию сразу после вызова RemoveUnit, очевидно.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
30
вариант через define native-функции, то есть ее подмена для последующего отлова как события изменения реальной переменной, не совсем подходит
Даже интересно, почему?
Как уловить момент очищения handle боевой единицы?
Как вариант - периодическая проверка координат юнита по его хендлу, стали равны 0.0 / 0.0 - юнит был удалён.
Как уловить момент удаления через функцию RemoveUnit?
Вызвать нужную функцию сразу после вызова RemoveUnit, очевидно.
Принятый ответ
32
Clamp, а хендл и не равен 0, проверял правда на триггерах, там довольно долго можно проверить Istriggerenabled. Просто проверять на тип или еще чего, ибо от переменной берется корректный хендл, но по его адресу в таблице уже ничего нету.
Лич вроде писал что хендлы по второму кругу идут очень,очень редко.
Отследить удаление из таблицы хендлов думаю можно только погрузкой через мемхак какой-то либы, которая бы добавила событие на это дело.
28
только если через мемхак
так же следует помнить что хендл не будет освобождён если есть ссылка на этого юнита
хз зачем это может понадобится
30
а хендл и не равен 0
Я где-то предложил проверять сам хендл?
16
знать время смерти каждого юнита (параметры юнита)
создавать таймер и по его истечению юнит разложился и исчез, готово
32
DracoL1ch, ага их еще RemoveUnit делают и еще иллюзии вроде не разлагаются как и варды. Запаришся плодить таймеры и бд, кто скока...
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.