Столкнулся с ещё одним мемом варкрафта.
При создании юнита я добавляю их массив.
Далее я всех юнитов из массива выбираю через группу, прохожусь по ней через цикл, для каждого юнита вызываю функцию Sell, что удаляет юнита из массива, самого юнита, а также проделывает такую же операцию над ещё одним юнитом из массива.
Проблема в том, что удалённый юнит из массива считается живым при доставании его из группы и имеется риск удалить уже удалённого юнита.
А почему так? Ведь все действия делаются последовательно.

Карта.

Нужна задержка перед проверкой, жив ли юнит, после функции RemoveUnit. Хотя бы 0.00 секунд.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
24
Отвечу тебе другим мемом - потому что мыслит.
А если серьезно - группа вроде как может содержать null элементы в определенных условиях - скорее всего с этим ты и столкнулся.
26
Нужна задержка перед проверкой, жив ли юнит, после функции RemoveUnit. Хотя бы 0.00 секунд.
Принятый ответ
22
не знаю шас проверил и все нормально или что именно шаманил с группой подробнее разложи... ошушение что у тя там связан с юнитом хук на смерть либо кто то
28
pro100master, я же кинул карту, там весь код в 3-х местах.
prog:
скорее всего с этим ты и столкнулся
А почему у этого элемента есть жизнь и имя?
8gabriel8:
Нужна задержка перед проверкой, жив ли юнит, после функции RemoveUnit. Хотя бы 0.00 секунд.
Совершенно верно.
А вот после KillUnit() функция UnitAlive() сразу же возвращает false.
32
PT153, никогда не удаляйте юнитов, кроме случаев с визуальными даммиками, или героями которые уже ненужны, в бложике DracoL1ch'a в красках описано к чему такое приводит на примере доты.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.