Разработчик мода ещё не ушёл? Вот смотрите, что в оригинале, что в OGSM CS, что OGSM CS + Fixes со временем случается ситуация, когда отряды группировок перестают двигаться по карте без видимых на то причин.
Так вот. В скрипте sim_squad_generic.script есть функция
sim_squad_generic:get_next_action()
Во время таких застреваний, когда отряды никуда не идут, дело упирается вот в эту проверку:
local next_smart = self.board.smarts[next_point.id].smrt
if exist_task_type == "defend_smart_delay" then
log_squad(self, "defend_smart_delay")
self.current_action = sim_stay_point(self)
elseif --next_smart.player_name == "none" and
exist_task_type == "capture_smart" and --------- ВОТ ЭТА ВОТ ПРОВЕРКА
exist_task_community ~= self.player_id --------- ВОТ ЭТА ВОТ ПРОВЕРКА
then
-- На точку выдано задание capture_smart от чужой группировки
log_squad(self, "another community gave capture_smart") -- В ЛОГАХ ОТРЯДОВ, КОТОРЫЕ ДОЛЖНЫ ИДТИ, СПАМИТСЯ ЭТО
self.current_action = sim_stay_point(self)
else
....
Эта проверка отвечает, чтобы отряд не выбирал следующей целью точку, на которую выдано задание другой группировки. Текущие задания на точку достаются через
task_manager.get_task_manager():get_tasks_by_smart(next_point.id)
Так вот, со временем в таблице task_manager.tasks_by_smarts накапливаются несуществующие задания! В task_manager.task_info этих заданий нет!!! И в самой игре (в ПДА) их тоже нет. Так и не понял пока, как туда (в таблицу task_manager.tasks_by_smarts) залетают задания на "Захват точки" от других группировок, которых по факту никогда не было.
Автор, что думаешь?