Ответа в поиске не нашел.
При создании пехотинца, триггер запускает следующее создание такого же юнита в здании.
При остановке этого цикла (отменой приказа создания юнита) пропадает возможность улучшить здание до следующего грейда, как будто какая-то единица ещё обучается. Как исправить данный баг или обойти не теряя функционала?

Принятый ответ

call SetUnitPosition(u, GetUnitX(u), GetUnitY(u))
Не знаю как зданиям, а обычным юнитам это приказ сбивает. Попробуй.

Еще такое предположение:
Ты начинаешь строительство нового юнита мгновенно по завершению строительства предыдущего?
Может это вызывает баг? Попробуй вставить задержку 0.01 сек перед созданием следующего.
2
16
7 лет назад
2
Чтоб разобраться в чем проблема, нужно тестить.
Для начала проверь текущий приказ у здания (до отмены и после). Вполне возможно, что оно действительно зависло на строительстве.
А если не хочешь заморачиваться и тебя вполне устроят костыли - то ты можешь триггерно удалять это здание и ставить на его место новое.
0
20
7 лет назад
0
avuremybe, так оно и есть. Тупо зависло на строительстве. Мне нужна функция, которая тупо отчистит список ордеров у единицы.
2
16
7 лет назад
Отредактирован avuremybe
2
DemonoiD, я с приказами практически не работал, такой ф-ции подсказать не могу.
Но ты можешь попробовать поотдавать этому зданию какие-то другие приказы, мб они собьют строительство...
0
23
7 лет назад
0
Сталкивался с такой проблемой, решил пересозданием самого здания. Видимо, баг движка
4
16
7 лет назад
4
call SetUnitPosition(u, GetUnitX(u), GetUnitY(u))
Не знаю как зданиям, а обычным юнитам это приказ сбивает. Попробуй.

Еще такое предположение:
Ты начинаешь строительство нового юнита мгновенно по завершению строительства предыдущего?
Может это вызывает баг? Попробуй вставить задержку 0.01 сек перед созданием следующего.
Принятый ответ
0
20
7 лет назад
0
avuremybe, беру Вас в кодеры. Второй вариант - истина. Какую бы вы хотели зарплату и куда вам отправлять тз?
0
23
7 лет назад
0
как говорит при создание юнита события в прямой поток не отработает если вы его ловите, так как он ловит если пойдет новый цикл потока и тогда и ордер ловит... по сути вейт поможет
Чтобы оставить комментарий, пожалуйста, войдите на сайт.