Можете подсказать, какой у орков стринг приказа вылезти из постройки, как при клике на его иконку во время стройки. Гугл не помог, "stop" не сработал.
Заранее спасибо.

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

Не могу найти в списке функций GetConstructingUnit или что нибудь такое.
ApaxHoqpuJL, как не можешь. там в гуи есть такие только без Get. эта переменная на jass.

ApaxHoqpuJL, еще можно запретить строить на начальном этапе - проверить приказ стройки. проверяешь какое здание строит. id приказ => id здание.
во время события приказа в точку можно отдать приказ стоп, однако, "stop" не может сбить приказ в точку (даже стоп не помогает, не знаю почему. юнит просто бежит выполнять приказ в точку. замечал два раза такое).
Он просто не сбивает. Решение находил такое: я отдавал приказ двигаться в тек позицию юнита, и юнит останавливался и не бежал туда. Единственное, что замечано - что статические повороты делает, хотя не так существенно.
call IssuePointOrder(GetTriggerUnit(), "move", GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit()) )
позже нашел другой способ у СССР-а - пауза. не делает развороты не нужные
сall PauseUnit(GetTriggerUnit(), true) //<= вкл паузу
call IssueImmediateOrder(GetTriggerUnit(), "stop")
сall PauseUnit(GetTriggerUnit(), false) //<= выкл паузу
и одновременно выдать текстовое оповещение игроку: "вы это здание не можете строить"
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
27
5 лет назад
Отредактирован MpW
1
Не могу найти в списке функций GetConstructingUnit или что нибудь такое.
ApaxHoqpuJL, как не можешь. там в гуи есть такие только без Get. эта переменная на jass.

ApaxHoqpuJL, еще можно запретить строить на начальном этапе - проверить приказ стройки. проверяешь какое здание строит. id приказ => id здание.
во время события приказа в точку можно отдать приказ стоп, однако, "stop" не может сбить приказ в точку (даже стоп не помогает, не знаю почему. юнит просто бежит выполнять приказ в точку. замечал два раза такое).
Он просто не сбивает. Решение находил такое: я отдавал приказ двигаться в тек позицию юнита, и юнит останавливался и не бежал туда. Единственное, что замечано - что статические повороты делает, хотя не так существенно.
call IssuePointOrder(GetTriggerUnit(), "move", GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit()) )
позже нашел другой способ у СССР-а - пауза. не делает развороты не нужные
сall PauseUnit(GetTriggerUnit(), true) //<= вкл паузу
call IssueImmediateOrder(GetTriggerUnit(), "stop")
сall PauseUnit(GetTriggerUnit(), false) //<= выкл паузу
и одновременно выдать текстовое оповещение игроку: "вы это здание не можете строить"
Принятый ответ
0
3
5 лет назад
Отредактирован ApaxHoqpuJL
0
Steal nerves,
ApaxHoqpuJL, как не можешь. там в гуи есть такие только без Get. эта переменная на jass.
Это же все таки GetTriggerUnit(), как оказалось.
Новый способ работает даже лучше, спасибо еще раз!
0
27
5 лет назад
0
ApaxHoqpuJL, конечно лучше. отмена строительства возвращает 75% от цены. можно конечно настроить в константах
0
28
5 лет назад
Отредактирован PT153
0
В LTW (и в моей карте) при неверном расположении здания оно удаляется сразу, как начинает строиться. Ранее использовал способ с отдачей приказа движения, но возникали баги с золотом (золото отнимается на этапе отдачи приказа, и, из-за перехвата приказа, оно иногда не возвращалось), а ещё этот способ сбивает очередь приказов.
0
27
5 лет назад
Отредактирован MpW
0
золото отнимается на этапе отдачи приказа, и, из-за перехвата приказа, оно иногда не возвращалось
вроде норм работает у меня. пока не замечал такого. но надо будет прочекать
а ещё этот способ сбивает очередь приказов
вроде так и должно быть. но для меня это как то не существенно, тут ничего не поделаешь. в очередь через триггеры не вставишь же
3
26
5 лет назад
Отредактирован 8gabriel8
3
А это не ограничение на одну единицу здания? Если да, то мне такой способ кажется красивее, чтобы наличие иконки в меню строительства не путало:
Да и он обходит проблему 75% возврата.
Загруженные файлы
0
28
5 лет назад
Отредактирован PT153
0
вроде норм работает у меня. пока не замечал такого. но надо будет прочекать
Если ставить приказы в очередь, а в очереди будет неверное место постройки, голда не вернётся.
Вот карта, где используется способ отмены приказом move (смотри триггер Builder's Abilities\BuildOrder). Там этот баг наблюдается, только что проверял.
Запретная местность в карте находится за пределами сетки игрока, а также если башня блокирует проход.
8gabriel8:
А это не ограничение на одну единицу здания? Если да, то мне такой способ кажется красивее
Безусловно, если дело лишь в количестве строений, то правильно и проще будет поставить лимит на количество. Если же дело в местности, то только через удаление строения.
Загруженные файлы
0
27
5 лет назад
0
PT153, я посмотрел интересно.
кстати, смотри. я тестил. вот с "move" в позицию юнита золото не возвращает за несколько здании. а вот выше способ с паузой - все норм возвращает.
0
28
5 лет назад
Отредактирован PT153
0
ApaxHoqpuJL, я сделал тесты, и вот пара выводов.
  1. Способ с приказом move лучше не использовать, почему, я описал выше.
  2. Способ через паузу. Если поставить приказы в очередь, среди которых будет постройка на неверной местности, ресурсы за башню вернутся, а сам воин всё равно побежит строить. Итог - бесплатное строение.
  3. И способ, который использую я (самый надёжный): удаление строения во время начала постройки.
0
27
5 лет назад
0
PT153, вот пример
Загруженные файлы
0
28
5 лет назад
Отредактирован PT153
0
а вот выше способ с паузой - все норм возвращает.
Он у меня вообще не работает.
UPD: смотрю пример, видимо где-то что у меня в карте мешает.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.