Сообщество Империал: Критический вылет при переходе хода в модах на M2: TW - Моддинг Medieval 2: Total War - Medieval 2: Total War - Библиотека - Сообщество Империал

  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше
Сообщество Империал > Библиотека > Medieval 2: Total War > Моддинг Medieval 2: Total War > Критический вылет при переходе хода в модах на M2: TW Регистрация

Информация об авторе

  • Автор: holdfast

Информация по статье

  • Добавлено: 29 Янв 2017, 03:11
  • Просмотры: 567

Дополнительно


Репутация: 5
Критический вылет при переходе хода в модах на M2: TW

Описание: Возможные методы лечения в домашних условиях
Приветствую всех. Часто встречаю в топиках, а в частности в теме "Булатки 3.0", которую сейчас сам играю, просьбы о помощи к создателю при фатальных вылетах при переходе хода: то ли на ребелах, то ли на других фракциях. Пан 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" на предмет подходящего Вам условия или номера хода), но в больших и известных проектах, обычно, таких примитивных косяков практически нет - при большой аудитории игроков подобные косяки давно нашли и профиксили.
Хотел постом оформить, но текста на целую тему получилось, да и искать легче - надеюсь уважаемая Администрация не будет ругаться. Надеюсь, будет полезна многим игрокам, которые смогут обойти свои фатальные вылеты. Если будут вопросы по существу - попробую ответить, лучше даже в личку, чтоб не замусоривать форум. Но сразу прошу взять во внимание, что на компе у меня всего парочка модов стоит, так что пробовать Ваши сейвы не смогу физически - специально качать и ставить слишком накладно. Да и времени для подобного не так много - так что лучше надеяться на себя и свои силы.
Copyright © «Империал». Копирование информации с этой страницы возможно только при указании прямых ссылок на эту страницу.

Будем благодарны, если Вы поделитесь этой публикацией:





    Воспользуйтесь одной из социальных сетей для входа на форум:


    Внимание: Реклама отключена для зарегистрированных посетителей

    Сообщество Империал > Библиотека > Medieval 2: Total War > Моддинг Medieval 2: Total War > Критический вылет при переходе хода в модах на M2: TW Обратная Связь
      Стиль:
        21 Июл 2017, 11:54
    © 2017 «Империал». Условия предоставления. Ответственность сторон. Рекрутинг на Империале. Лицензия зарегистрирована на: «Империал». Счётчики