Мой герой во время своего ультимейта удаляется в рандомный момент. Просто исчезает.
У него есть пассивка: Шанс создать иллюзию которая наносит 1 удар с критом (у иллюзии тоже есть такой же шанс на срабатывание)
И есть ульта: Ударить всех юнитов (кроме даммиков, мертвых и зданий) на карте, давая каждому по тычке, после каждой тычки телепортируется к следующему (группа юнитов для атаки формируется один раз во время каста ульты). Если удар по какой-то причине не получается, то его все равно телепортирует к следующему если не удалось совершить удачную атаку в течение 0.5 сек.
По отдельности всё работает нормально, но вместе - абсолютно рандомно, в случайный момент, особенно если юнитов на карте много во время каста ульты с изученной пассивкой мой герой навсегда исчезнет с карты, как я выяснил удаляется. Это может быть на первый, второй, третий, четвертый каст, но обязательно случится.
По отдельности этот баг не проявляется. Я проверял, нигде нет удаления героя, удаляются только даммики, эффекты а иллюзии (GetSummonedUnit) вообще убиваются при помощи KillUnit.
Но по какой-то причине совместно эти две способности ведут к 100% удалению моего героя в рандомный момент.
Может ли быть такое что по причине существования одновременно большого количества иллюзий, эффектов, юнитов и даммиков (которые всё равно удаляются таймерами) срабатывает какой-то защитный механизм начинающий удалять юнитов созданных в самом начале?
Я сомневаюсь, ведь бывало и больше объектов на карте и ничего... Не понимаю как так.

Оборачиваем все RemoveUnit в дебаги или на хук vJass. Убираем использование всех BJ функций, заменяем либо на нативки, либо на свои.
Баг может быть в абсолютно рандомном месте, скидывание куска кода может не всегда помочь.
`
ОЖИДАНИЕ РЕКЛАМЫ...
30
Мой внутренний экстрасенс думает, что герой попадает в группу "даммиков (которые всё равно удаляются таймерами)".
15
NazarPunk:
Мой внутренний экстрасенс думает, что герой попадает в группу "даммиков (которые всё равно удаляются таймерами)".
У меня удаление даммиков происходит индивидуально для каждого, а не каким-то общим чистильщиком. Создался даммик - специально под него и таймер для удаления.
А еще я недавно встроил в проверку IsUnitDummy - не герой ли юнит, и если это герой и он в группе даммиков то его оттуда удаляют.
15
8gabriel8:
Надо код смотреть
Я бы скинул, но его слишком много и вряд ли кто-то будет за меня его смотреть
30
Тогда отключите всё ненужное и включайте поодному, пока баг не появится. Или перенесите героя с сопутствующими системами в отдельную карту и там тестируйте. Если не разберётесь, можете выложить сюда, чтоб люди не гадали на кофейной гуще.

Создался даммик - специально под него и таймер для удаления.
А таймер для удаления таймера?)
15
Создался даммик - специально под него и таймер для удаления.
А таймер для удаления таймера?)
Зачем если таймер удаляется сразу после удаления дамми? (Если конечно это не рофл)
28
Оборачиваем все RemoveUnit в дебаги или на хук vJass. Убираем использование всех BJ функций, заменяем либо на нативки, либо на свои.
Баг может быть в абсолютно рандомном месте, скидывание куска кода может не всегда помочь.
Принятый ответ
32
Тоже был такой баг, похоже из за дырявой структуры " там герой оставался, а при следующем юзе структуры его удаляли", хотя может и что то другое было, ввел на всякий случай комманду -recrate чтобы этот баг больше не мог испортить игру.
20
все может быть проще
если иллюзии создаются через способность орка блейдмастера - в какой-то момент, если их много, если герой зажат склонами или просто мало места - он исчезает и не появляется
и его из такого состояния ни хайдом\анхайдом, ни киллом ничем не достать
выход - использовать дамми с жезлом иллюзий
Чтобы оставить комментарий, пожалуйста, войдите на сайт.