Описание ошибки:
Неправильная работа функции API GameDef.gpPostMissionLoad(ISectionFile x).
Стабильность обнаружения:
Всегда.
Пояснение ошибки:
- При загрузке подмиссии через gpPostMissionLoad(ISectionFile x), когда объект ISectionFile наполнен вручную, а не загружен из файла, не создаются пользовательские типы колонн техники.
- Если содержимое ISectionFile сначала сохранить в файл, а потом создать подмиссию через gpPostMissionLoad(string path) - такие колонны создаются.
- Если содержимое ISectionFile сначала сохранить в файл, потом загрузить в ISectionFile и создать подмиссию через gpPostMissionLoad(ISectionFile x) - такие колонны создаются.
- Колонны стандатртного образца (не CustomChiefs) создаются правильно в любом случае.
Пример содержимого объекта ISectionFile:
Сообщение об ошибке в файле log.txtКод:[CustomChiefs] Armor.Custom_DE1 $core/icons/tank.mma [Armor.Custom_DE1] Tank.SdKfz_222 Tank.Panhard_178_25 [Chiefs] DEPartrolAF01 Armor.Custom_DE1 de [DEPartrolAF01_Road] 275050.25 207294.09 38.40 0 2 8.33 275286.50 207158.53 38.40 0 2 1.00 TARGETATTACK 275495.91 206988.80 38.40
Пример кода:Код:[1372] ERROR [AI] Mission: Can't create chief 'DEPartrolAF01'[class:Armor.Custom_DE1]. Object reference not set to an instance of an object.
Код:var secfile = GamePlay.gpCreateSectionFile(); secfile.add("CustomChiefs", "Armor.Custom_DE1", "$core/icons/tank.mma"); secfile.add("Armor.Custom_DE1", "", "Tank.SdKfz_222"); secfile.add("Armor.Custom_DE1", "", "Tank.Panhard_178_25"); secfile.add("Chiefs", "DEPartrolAF01", "Armor.Custom_DE1 de"); secfile.add("DEPartrolAF01_Road", "", "275050.25 207294.09 38.40 0 2 8.33"); secfile.add("DEPartrolAF01_Road", "", "275286.50 207158.53 38.40 0 2 1.00 TARGETATTACK"); secfile.add("DEPartrolAF01_Road", "", "275495.91 206988.80 38.40"); // Не работает GamePlay.gpPostMissionLoad(secfile); // Работает string path ="$user/missions/Single/Subm_01.mis"; secfile.save(path); GamePlay.gpPostMissionLoad(path); // Работает secfile.save(path); GamePlay.gpPostMissionLoad(GamePlay.gpLoadSectionFile(path));




Ответить с цитированием