Community Imperial: Критический вылет при переходе хода в модах на MTW2. - Сообщество Империал




holdfast

Критический вылет при переходе хода в модах на MTW2.

Возможные методы лечения в домашних условиях.
Theme created: 29 January 2017, 02:54 · Author: holdfast
Views:
 23 881

  • 3 Pages
  • « First
  • 1
  • 2
  • 3
 1 
 holdfast
  • Imp
Imperial
 

Date: 29 January 2017, 02:54

Приветствую всех. Часто встречаю в топиках, а в частности в теме To view the link Register, которую сейчас сам играю, просьбы о помощи к создателю при фатальных вылетах при переходе хода: то ли на ребелах, то ли на других фракциях. Пан OPASEH помогает страждущим по мере сил, но всё же хотелось бы заметить, что много вылетов можно обойти самому, не напрягая автора мода.
Во-первых, хочу сразу заметить - если вылет испортил Ваши сейвы, то тут, я думаю, помочь никто не сможет.
Во-вторых, прошу убедиться, что вылет таки фатальный - возможно, после повторной перезагрузки его не будет и не стОит тратить время ни на прочтение моей статьи, ни на выполнение предписаний.
Если же Вы несколько раз загружали сейв, но вылет стабилен, то мой текст, возможно, Вам поможет. Также хочу сразу предупредить - метод включает в себя использование консольных команд, так что, если Вы раньше их не знали и не уверены, что сможете удержаться после прочтения - ЛУЧШЕ НЕ ЧИТАЙТЕ! Эти коды являются инструментами разработчиков, но так же они могут "помочь" захватить Вам игровой мир за несколько часов и, что самое страшное, забросить игру на очень долгое время - пропадёт интерес. Если же с восприятием реальности и силой воли у Вас всё нормально - тогда приступим.

1. Нам нужно локализовать очаг вылета. Для этого надо включить в настройках "Показывать перемещения ИИ":
Spoiler (expand)

и ввести консольную команду, открывающую карту (консоль открывается клавишей "~" или "Ё", после введения команды нужно нажать кнопку Enter):
Осторожно! Консольная команда! (Reveal)

Лично я после открытия карты стараюсь не смотреть на миникарту, чтоб не портить себе интерес к открытиям, но тут уже дело Ваше - всё равно во время мониторинга ходов ИИ Вы увидите много такого, что не видели бы с закрытой картой - приходится терпеть это небольшое неудобство во имя продолжения кампании.

2. Жмём кнопку "Конец хода" и смотрим. По карте по очереди фракций бегают генералы и агенты фракций, занятые своими делами и заботами, а Вы вынуждены всё это смотреть. Ускорить одного конкретного агента можно нажав левую кнопку мыши, всех - пробелом - тогда агенты двигаются шустрей. Отменить скорость можно повторным нажатием пробела. В конце концов мы доходим до нужной фракции и наблюдаем, скорей всего, какое-то поселение, на котором игра замирает и происходит злосчастный вылет. Что ж, этого мы и добивались.

3. Снова запускаем игру и грузим сейв. Открываем карту консолью (команда выше есть), смотрим это поселение. Что с ним не так? Возможно, никаких признаков аномалий нету и она возникает в процессе перехода хода. А может и нет. Например у меня был невидимый генерал, осаждающий Вильнюс. Чтоб разглядеть всё поближе лучше всего использовать шпиона. Что делать, если нету шпиона - напишу ниже. Если же шпион есть, то нам надо его телепортировать в проблемную область для осмотра. Во-первых, надо узнать имя агента. Берём игровые, например у меня был "Андре де Лион", и ищем его английский оригинал - с переводом консольная команда работать не будет. Найти имя можно в папке text мода (например у меня "...\mods\Bulat Steel TW 3.0\data\text") в файле names.txt. Открываем его блокнотом и в поиске вбиваем сначала имя "Андре", потом фамилию "де Лион". Поиск даёт мне такие строчки: "{Andre}Андре" и "{de_Lyon}де Лион". Как несложно понять, кодовое имя моего агента - "Andre de_Lyon". Бывает, что одно имя может иметь несколько переводов или наоборот, несколько имён может иметь один перевод - смотрите внимательно, пробуйте искать имя дальше, если первый вариант не сработал.
Оффтоп (контент вне темы)

А мы продолжим. Если агент уже выполнил свою миссию на этом ходу, что не странно для конца хода, то нам надо сначала перезагрузить его возможности. Для этого используем команду:
Осторожно! Консольная команда! (Reveal)

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

после введения которой мы получаем в консоли ответ в виде: "pos 330,67, region id 187 бла-бла", из чего для нас важным есть только первые две цифры через запятую (330,67) - это координаты точки, куда был нацелен курсор во время введения команды. Находим свободную точку недалеко от "проблемного" города, узнаём её координаты и вводим дальше команду телепорта, предварительно выведя агента из города (это важно, иначе он телепортнётся невидимым, т.е. глючным):
Осторожно! Консольная команда! (Reveal)

Всё, теперь мы у города шпионом. У меня, например, такая вот ситуация нарисовалась - невидимый генерал тевтонцев осаждал Вильнюс, и, видимо, при переходе хода или шёл на штурм, или отбивался от литовцев, что кончалось созерцанием мною рабочего стола:
Spoiler (expand)

Если Ваш шпион слаб по уровню, то консоль поможет и в этом случае. Выбираем шпиона и вводим два кода, добавляя ему два шпионских трейта с большим скиллом:
Осторожно! Консольная команда! (Reveal)
и
Осторожно! Консольная команда! (Reveal)

Возможно в некоторых модах трейты будут другие - смотрите файл export_descr_character_traits.txt, дальше логически по типу агента Spy.
Теперь у нас прокачанный шпион и мы можем и в город влезть (предварительно сохранившись, чтоб снова все команды не вводить!), и обследовать окрестности. Если причина явная, как мой тевтон-невидимка, то его можно убрать убийцей, например - таким-же способом как и шпиона переносим убийцу в нужную точку, прокачиваем при потребности (трейты убийцы похожи, только вместо Spy в консольных командах чуть выше надо писать Assassin, т.е. GoodAssassin и NaturalAssassinSkill). Всё, я генерала убил, его армия пропала, вылет устранился.
Возможно, у Вас ситуация другая, например всё чисто и вокруг ничего. Тогда лучшее решение - телепортировать к городу генерала с армией и кривым/косым/недобитым, но осадным орудием (размер армии не столь важен - хоть пара отрядов). Почему так - нам надо будет взять этот город штурмом, т.е. с одного хода и без осады, а потом либо отдать кому-то, либо оставить в ожидании восстания (вариант "оставить себе" не рассматриваю - зачем облегчать себе игру? :)). У меня когда-то был подобный вылет на повстанцах в Нержавейке на Готланде. Я телепортнулся, захватил, отдал шведам - вылет прошёл. Телепортация генерала происходит аналогично как и шпиона и описана выше (узнаём имя, координаты, выводим с армией, переносим, обнуляем при нужде). Возможно, ваша армия слишком слаба - снова на помощь нам приходит консоль, где нужно ввести команду, которая даёт автоматическую победу нападающему (будьте осторожны, она проста и опасна для слабовольных людей :0142: ):
Осторожно! Консольная команда! (Reveal)

Дальше берём город штурмом, распоряжаемся, сохраняемся и опять нажимаем кнопку "Конец хода". Надеюсь, вылет прошёл. А если нет - повторяем всё опять, снова ликвидируя возможный очаг проблемы, который определяем способом, который описан ближе к началу. Если Ваш проблемный город на маленьком островке, а-ля Мальта - попробуйте на всякий случай расчистить свободные клетки перед нажатием "Конца хода" - в одном из модов у меня там спаунилась ведьма, а так как остров очень маленьким был, а ещё там бегал купец и войска, то она просто не могла найти свободной клетки и провоцировала вылет. Случай редкий, но если ничего не помогает - вдруг именно в этом проблема.
Пока всё, может вспомню ещё что, или добавит кто-то. Возможно вылет связан с криво прописанным скриптом, т.е., например, ошибка в названии спаунящегося юнита или персонажа - тогда, скорей всего, спастись будет очень сложно (разве что изучать файл "...\mods\ВАШ_МОД\data\world\maps\campaign\ imperial_campaign\campaign_script.txt" на предмет подходящего Вам условия или номера хода), но в больших и известных проектах, обычно, таких примитивных косяков практически нет - при большой аудитории игроков подобные косяки давно нашли и профиксили.
Хотел постом оформить, но текста на целую тему получилось, да и искать легче - надеюсь уважаемая Администрация не будет ругаться. Надеюсь, будет полезна многим игрокам, которые смогут обойти свои фатальные вылеты. Если будут вопросы по существу - попробую ответить, лучше даже в личку, чтоб не замусоривать форум. Но сразу прошу взять во внимание, что на компе у меня всего парочка модов стоит, так что пробовать Ваши сейвы не смогу физически - специально качать и ставить слишком накладно. Да и времени для подобного не так много - так что лучше надеяться на себя и свои силы.
:ps: Я не так сильно разбираюсь в игре, как многие Лучшие Модмейкеры, посему прошу не ругать последними словами, если есть методы проще - я проще не умею и делюсь тем, что знаю. Знаете методы проще/лучше - думаю, сообщество любителей старушки второй Меди будет Вам благодарно за содержательный совет.
     Xamax
    • Imp
    Imperial
     

    Date: 19 October 2020, 18:00

    хм. попробуй к создателю сабмода обратиться, мб он поможет.
    попробуй еще ии отключить и промотать ход. вылетает? удалить всех агентов на карте, еще что. шаманить короче
       asasin
      • Imp
      Imperial
       

      Date: 19 October 2020, 19:53

      Xamax 19 October 2020, 18:00

      хм. попробуй к создателю сабмода обратиться, мб он поможет.
      попробуй еще ии отключить и промотать ход. вылетает? удалить всех агентов на карте, еще что. шаманить короче

      Извини не понял в каком смысле ИИ отключить?

      -Добавлено-

      Xamax 19 October 2020, 18:00

      хм. попробуй к создателю сабмода обратиться, мб он поможет.
      попробуй еще ии отключить и промотать ход. вылетает? удалить всех агентов на карте, еще что. шаманить короче

      И как можно удалить всех агентов?
         youneuoy
        • Imp
        Imperial
         

        Date: 19 October 2020, 20:01

        asasin

        Извини не понял в каком смысле ИИ отключить?

        консольная команда disable_ai
           asasin
          • Imp
          Imperial
           

          Date: 19 October 2020, 20:27

          youneuoy 19 October 2020, 20:01

          asasin

          Извини не понял в каком смысле ИИ отключить?

          консольная команда disable_ai

          Спасибо понял
             gaulish723
            • Imp
            Imperial
             

            Date: 09 May 2024, 23:05

            У меня в моем воде это было связано с битым файлом автосохранений. Его в таких случаях надо удалять.. Причем в момент перехода хода удалять еще раз создающийся файл автосохраний..Он все равно создасться пи начале нового хода.
            Иногда загружать другую игру за другую фракцию...и сделать в ней новое автосохранение "живое".
            Лучше всего полностью отключать автосохраниния...
            Этот совет не поможет если вылет связан с получениеманчей или трейтов агентами и персонажами.
               Delabras
              • Imp
              Imperial
               

              Date: 24 June 2024, 08:12

              Камрады, столкнулся с такой проблемой, добавил новую постройку, игра запустилась, но когда пытаюсь зайти в город для строительства\найма - игра вылетает,
              меняю культуру которая может строить постройку на roman, захожу в город, в ветке строительства отображается все ок...


              в export_descr_buildings добавил следующий код:

              Quote

              building palaestra
              {
              levels palaestra
              {
              palaestra city requires factions { hellas, } ; У эллинов приводит к вылету прописываю requires factions { roman, } все отлично работает.
              {
              capability
              {

              }
              material stone
              construction 1
              cost 2800
              settlement_min city
              upgrades
              {
              }
              }
              }
              plugins
              {
              }
              }


              в export_descr_buildings_enums

              Quote

              palaestra_name
              palaestra
              palaestra_desc
              palaestra_desc_short
              palaestra_hellas
              palaestra_hellas_desc
              palaestra_hellas_desc_short


              в export_buildings.txt

              Quote

              {palaestra_name}Палестра
              {palaestra}Палестра
              {palaestra_desc}Палестра (Παλαίστρα, palaestra) - древнегреческая борцовская школа.
              {palaestra_desc_short}Палестра - древнегреческая борцовская школа. Кроме того, в палестре упражнялись в упражнялись в кулачном бое и панкратионе.

              {palaestra_hellas}Палестра
              {palaestra_hellas_desc}Палестра (Παλαίστρα, palaestra) - древнегреческая борцовская школа.
              {palaestra_hellas_desc_short}Палестра - древнегреческая борцовская школа. Кроме того, в палестре упражнялись в упражнялись в кулачном бое и панкратионе.


              В чем может быть проблема и как это пофиксить?
                 Delabras
                • Imp
                Imperial
                 

                Date: 27 September 2024, 15:39

                Камрады, столкнулся с такой проблемой, рандомный вылет на ходу повстанцев, единственная ошибка которая присутствует в Логе следующая:

                Quote

                [script.err] [error] Script Error in mods/Natus_ob_Imperium/data/export_descr_buildings.txt, at line 45453, column 2
                Building DB error - faction moors has gap in building prior to temple_baal_pantheon_carthago


                сделано ветвление постройки храма, отдельный пантеон для Нумидии и отдельный для Карфа, возможность строительства открывается по скрипту... может ли вышеприведенный эррор вызывать рандомный вылет?
                   alchen
                  • Imp
                  Imperial
                   

                  Date: 28 September 2024, 09:57

                  Delabras 27 September 2024, 15:39

                  Камрады, столкнулся с такой проблемой, рандомный вылет на ходу повстанцев, единственная ошибка которая присутствует в Логе следующая:

                  Quote

                  [script.err] [error] Script Error in mods/Natus_ob_Imperium/data/export_descr_buildings.txt, at line 45453, column 2
                  Building DB error - faction moors has gap in building prior to temple_baal_pantheon_carthago


                  сделано ветвление постройки храма, отдельный пантеон для Нумидии и отдельный для Карфа, возможность строительства открывается по скрипту... может ли вышеприведенный эррор вызывать рандомный вылет?


                  По идее нет, в ЕБ2 полно таких ошибок - там как раз разветвления в древе построек. Как вариант убрать скрипт и разветвление и посмотреть будет ли вылет.
                     Delabras
                    • Imp
                    Imperial
                     

                    Date: 28 September 2024, 10:40

                    alchen 28 September 2024, 09:57

                    По идее нет, в ЕБ2 полно таких ошибок - там как раз разветвления в древе построек. Как вариант убрать скрипт и разветвление и посмотреть будет ли вылет.

                    тестировал при отключенных скриптах, проверил поочередно export_descr_character_traits.txt, export_descr_ancillaries.txt, export_descr_advice.txt, export_descr_guilds.txt, descr_faction_standing.txt, урал ветлвление построек, тестировал с примененной консольной командой disable_ai и без нее... вылет продолжает происходить... лог чистый лист To view the link Register
                      • 3 Pages
                      • « First
                      • 1
                      • 2
                      • 3
                       
                      Translate a Page
                      Community ImperialMedieval 2: Total War Моды Medieval 2 Total War: Kingdoms Мастерская M2:TW Feedback
                      Style:Language: 
                      Conditions · Responsibility · Confid. · About · 02 Jul 2026, 21:58 · Mirrors: ImtwOrg, ImtwSite, ImtwRuImtwRu, ImtwOrg, ImtwSite