Это будет двойной вопрос, потому что темы связаны между собой.
На карте массово используется Change ownership(смена владельца юнита) на всех юнитах на карте, из-за этого возникает ряд проблем.
  1. При смене владельца, каким-то фигом отменяются все приказы юнита, что приводит и к отмене производств у зданий, и к отмене вообще всего движения на карте (что делает эту карту совершенно неиграбельной)
  2. Рабочие бунтуют, иначе это не назовёшь. ВСЕ вообще юниты нормально заменяются и не происходит проблем с определением владельца, исключение только рабочие, с каким-то непонятным шансом они решают что не хотят менять свою сторону, от чего все рабочие "меняют цвет" а один уникум этого не хочет делать.
Причём нужно значение для подмены юниту выдаётся, я проверял, но почему-то сама подмена владельца не происходит
Юниты выбираются путём Pick every unit in the map, я пробовал и отслеживать приказы рабочего, думая что дело только в том таинственном исчезновении юнита из пространства-и-времени когда он попадает в шахту, однако это же происходит и со светлячками что добывают дерево (но не с теми, что находятся внутри шахты, с ними проблем никогда нет, как и с послушниками).
Чаще всего в этот момент рабочий носил золото на себе, но это же происходит и когда у рабочего "нет золота".
По части отлова приказов, я даже находил тут сделанную кем-то функцию для этого, но на моей версии она просто не работает.
Если кто знает какая функция сможет поменять владельца без отмены приказа, буду очень благодарен

Рабочие останавливаются, потому что сначала меняет владельца рабочий, а уже потом ратуша. Сначала менять владельца у строений, потом у всех остальных.
Сделал карту-пример. пара заметок:
  1. При смене владельца приказы тренировки и исследования будут сбрасываться. Это никак не починить. Они также могут не выполнится вовсе, если недостаточно ресурсов и пищи.
  2. В хеш можно сразу структуру сохранять, однако нужно помнить, что у структур лимит 8190 объектов на тип струтуры.
Стоит добавить, что приказы, поставленные в очередь, тоже теряются.
Дополнил карту-пример, добавил авто очистку хеша при смерти юнита. Также нужно вызывать ClearLatestOrder перед удалением юнита.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
Рабочие останавливаются, потому что сначала меняет владельца рабочий, а уже потом ратуша. Сначала менять владельца у строений, потом у всех остальных.
Сделал карту пример. пара заметок:
  1. При смене владельца приказы тренировки и исследования будут сбрасываться. Это никак не починить. Они также могут не выполнится вовсе, если недостаточно ресурсов и пищи.
  2. В хеш можно сразу структуру сохранять, однако нужно помнить, что у структур лимит 8190 объектов на тип струтуры.
Загруженные файлы
12
Рабочие останавливаются, потому что сначала меняет владельца рабочий, а уже потом ратуша. Сначала менять владельца у строений, потом у всех остальных.
Сделал карту пример. пара заметок:
  1. При смене владельца приказы тренировки и исследования будут сбрасываться. Это никак не починить. Они также могут не выполнится вовсе, если недостаточно ресурсов и пищи.
  2. В хеш можно сразу структуру сохранять, однако нужно помнить, что у структур лимит 8190 объектов на тип струтуры.
Cпасибо за скрипт, правда мне сложно в нём будет разобраться(я привык всё на gui делать), но хотя бы 1-ю проблему он частично решает

Ещё я заметил, что когда просто добавляю любой триггер, то выдаёт синтаксическую ошибку связанную с чем-то global, и я уже не могу после этого запустить карту
Загруженные файлы
28
Рабочие останавливаются, потому что сначала меняет владельца рабочий, а уже потом ратуша. Сначала менять владельца у строений, потом у всех остальных.
Сделал карту-пример. пара заметок:
  1. При смене владельца приказы тренировки и исследования будут сбрасываться. Это никак не починить. Они также могут не выполнится вовсе, если недостаточно ресурсов и пищи.
  2. В хеш можно сразу структуру сохранять, однако нужно помнить, что у структур лимит 8190 объектов на тип струтуры.
Стоит добавить, что приказы, поставленные в очередь, тоже теряются.
Дополнил карту-пример, добавил авто очистку хеша при смерти юнита. Также нужно вызывать ClearLatestOrder перед удалением юнита.
Загруженные файлы
Принятый ответ
28
A.W.K., обновил карту ещё раз, добавил вывод, кто именно не смог приказ выполнить.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.