Объединение локаций
Авторы статьи: JohnDoe (fabletlcmod.com), Torionel (fablegame.info) и Алексей Скок (fablegame.info)

В данной статье описывается столь горячо любимое моддерами расширение регионов игры через их объединение. На самом деле разделение на локации в Fable 1 довольно искусственное, и путём описанных ниже простых операций мы можем превратить Альбион в "почти-открытый мир" (так как полное объединение всё же сделать нереально).

Статья переведена с оригинала, написанного JohnDoe в 2011 году, адаптирована и изменена моддерами сайта FableGame.INFO.

Плюсы объединения

  1. Можно бегать без подзагрузок и загрузочных экранов.
  2. Локации становятся больше.
  3. Вы получаете необычный взгляд на Альбион.

Минусы объединения

  1. Игра может начать крашиться.
  2. Возрастание нагрузки на процессор и видеокарту.
  3. Начинаются проблемы со скриптами и секциями.
  4. Из-за изменения масштаба камера в CBox начинает перемещаться медленнее, что может вызвать у вас сильную анальную боль.

Базовые знания

FinalAlbion.gtg - просто ещё один tng-файл, но глобального характера, так как он предназначен для всех карт. Лучшее объяснение его назначения - глобальный скриптов всех телепортов игры. Эти скрипты есть и в tng-файлах локаций, но игра использует файл .gtg, так как это самый подходящий и логичный способ, которым могли воспользоваться разработчики (он ускоряет время загрузок, но мешает моддерам объединять локации).

FinalAlbion.bwd - бинарная версия WLD-файла. Игра использует бинарную версию вместо простого текстового WLD-варианта, потому что первый работает быстрее (хотя и не сильно быстрее). В бинарных файлах локаций рыться очень скучно.

FinalAlbion.WLD описывает карты и регионы. Открыв его, вы увидите обычный текстовый файл, напоминающий tng-файлы локаций. Принцип его работы не требует дополнительных пояснений, но вкратце можно сказать вот что:

  1. SeesMap - карты, которые видно из локации.
  2. ContainsMap - карты, которые содержит данная локация.

Помните о том, что не все локации можно соединить. Например, нельзя соединить Гильдию и Смотровую площадку, потому как Гильдия - закрытая локация. Но можем объединить Смотровую площадь и Чащобу.

Последовательность действий

  1. Сделайте бэкап всех файлов, которые будете менять (велика вероятность, что вам не понравится результат модификации).
  2. Открываем любым текстовым редактором (Блокнот, Notepad++) файл userst.ini в папке с игрой.
  3. Находим строку UseCompiledWorldFiles.
  4. Меняем значение с True на False.
  5. В папке Levels находим файл FinalAlbion.wld.
  6. Спускаемся до регионов, где прописаны ContainsMap и SeesMap.
  7. Добавляем/убираем нужное.

Примечания

  • когда вы удаляете регион, то после этого нужно поменять номера всех регионов. Допустим, у меня есть четыре региона и я объединяю регионы 2 и 3, т.е. 4-й становится 3-им. Они по-прежнему должны идти по порядку, без пропусков;
  • каждая карта должна быть упомянута в списке регионов ровно 1 раз. Если два региона используют одну и ту же строку ContainsMap, игра не сможет нормально это обработать. Если карта не привязана ни к одному региону, она будет связана с нулевой локацией. Если игрок пойдёт на любую карту нулевой локации, все карты этой локации будут загружены пустыми (значение по умолчанию);
  • строчки SeesMap представляют собой список карт, которые видны из локации, но не содержатся в нём. Скрипты этих карт не загружаются игрой. Хотя вы не можете на самом деле использовать эти карты в регионе, они дают ощущение бесшовности локации и не привязываются к мини-карте;
  • после объединения локаций квесты не будут работать, так как каждое задание может запуститься только в своём регионе, а объединение уменьшает количество регионов (т.е. задания не могут запуститься);
  • когда вы объединяете локации, мини-карта остаётся прежней, но начинает вести себя странно. Используется картинка от локации, которая послужила основой для объединения. С этим ничего нельзя сделать - разве что вы нарисуете собственную карту, но это может быть очень утомительно и бесполезно.
  • вы не сможете использовать Печать Гильдии и любые пьедесталы телепортации (даже сделанные вручную), чтобы попасть в карты, прикреплённые к одному региону. Поэтому если вы объединили Смотровую Площадь, Лагерь Два-Ножа и Круг Мёртвых, то придётся бежать. Однако в теории Герой должен после закрытия игры оказываться возле ближайшего скрипта Holy Site, поэтому вам хотя бы не придётся идти слишком далеко до того же места, где вы остановились в прошлый раз;
  • телепорты (входы и выходы из локаций и др.) всё ещё будут работать, в некоторых случаях это будет выглядеть странно. К примеру, дверь из спальни мэра в холл её замка будет давать надпись, что вы заходите в спальню, хотя на самом деле вы будете выходить оттуда. Самый лучший выход - просто удалить все телепорты между соединёнными локациями (вот почему важно подредактировать GTG-файл);
  • хотя это и должно быть очевидно, добавление множества уровней к одному региону обязательно уменьшит скорость отклика игрового движка, увеличит тормоза и время загрузки, так что конечный результат будет зависеть от мощности компьютера. Помните об этом;
  • если объединение вам необходимо сугубо для утилитарных, а не художественных целей (т.е. только во время разработки мода), то вы можете воспользоваться возможностью включать его временно, не меняя файлов игры. Для этого нужно воспользоваться параметром "SeesMap" в файле настроек CBox версии 1.3.6.145.