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

holdfast

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

Возможные методы лечения в домашних условиях.
Тема создана: 29 января 2017, 02:54 · Автор: holdfast
  • 3 Страниц
  • 1
  • 2
  • 3
 1 
 holdfast
  • Imperial
Imperial
Форумчанин

Дата: 29 января 2017, 02:54

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

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

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

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

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

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

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

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

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

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

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

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

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

    Дата: 19 октября 2020, 18:00

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

      Дата: 19 октября 2020, 19:53

      Для просмотра ссылки ЗарегистрируйтесьXamax (19 октября 2020, 18:00):

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

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

      - - - Сообщение автоматически склеено - - -

      Для просмотра ссылки ЗарегистрируйтесьXamax (19 октября 2020, 18:00):

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

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

        Дата: 19 октября 2020, 20:01

        Для просмотра ссылки Зарегистрируйтесьasasin

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

        консольная команда disable_ai
           asasin
          • Imperial
          Imperial
          Форумчанин

          Дата: 19 октября 2020, 20:27

          Для просмотра ссылки Зарегистрируйтесьyouneuoy (19 октября 2020, 20:01):

          Для просмотра ссылки Зарегистрируйтесьasasin

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

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

          Спасибо понял
            • 3 Страниц
            • 1
            • 2
            • 3
             Похожие Темы
            БТехническая поддержка: Вылеты, Баги, Ошибки в Булатной Стали
            Сообщайте сюда о всевозможных ошибках мода БС
            Автор f fgtttt
            Обновление 16 марта 2024, 18:26
            MБаги, глюки, вылеты в Mount & Blade 2:Bannerlord
            Извечная напасть игр
            Автор R Robin
            Обновление 08 февраля 2024, 20:59
            МНовости о модах для Fallout 4
            Новости о модах для Fallout 4
            Автор T Tinder
            Обновление 06 февраля 2024, 23:26
            Воспользуйтесь одной из соц-сетей для входа
            РегистрацияВход на форум 
            Сообщество ИмпериалMedieval 2: Total War Моды Medieval 2 Total War: Kingdoms Мастерская M2:TW Обратная Связь
            Стиль:Language: 
            «Империал» · Условия · Ответственность · Визитка · 29 мар 2024, 14:49 · Зеркала: Org, Site, Online · Эльдорадо казино · Gold казино · Счётчики