Вы здесь:

Total War моды

Как добавить новую фракцию, заменяя существующую (Empire: Total War).

Необходимый софт:
1. EsfEditor 1.4.5
2. PFM
3. OpenOfice spreadsheet
4. Gimp

Пока изменения в startpos чреваты ошибками я не вношу изменения в него, но копипаст из spread sheet приемлем.

1. Подготовка startpos.esf

Сначала надо выбрать фракцию для замены. Лучше брать минорные. В данном примере Саксонией будет заменена Финляндия. Это можно сделать двумя путями:

a. Более сложный – это править startpos и передать территорию Финляндии от Швеции Саксонии..

b. Более легкий – сделать гибридный startpos что мы и предпримем. Нам понадобится оригинальный startpos и сейв. Детали смотрите в ветке обсуждения STARTPOS ESF.

Здесь приведены только действия: начните игру за Швецию (владелец Финляндии), предложите Финляндию Саксонии, сохранитесь, выйдите, сделайте гибрид. Это будет новый startpos пока новый гибрид не будет закончен.

c. Какой бы путь вы ни выбрали (новый ил модифицированный) откройте startpos при помощи editor -> REGION Saxony, запомните Id региона затем-> FACTION Saxony и сделайте ее столицей фракции (как это сделать - смотрите обсуждение STARTPOS ESF).

d. У Саксонии на старте армия и два персонажа, все в столице. Надо переместить их в регион «Финляндия». ("как" см. в ветке STARTPOS ESF). Здесь будут перечислены некоторые основные моменты. Перемещение армии означает изменение координат армии и ее лидера (генрал или полковник, иногда оба). То же относительно персонажей. Параметры расположения персонажей находятся в startpos [...]CAMPAIGN_ENV/CAMPAIN_MODEL/WORLD/FACTION_ARRAY/FACTION/CAHARCTER_ARRAY/CHARACTER/LOCOMOTABLE где две пары сеток в первых 4 линиях. Расположение армии в [...]CAMPAIGN_ENV/CAMPAIN_MODEL/CAI_INTERFACE/CAI_WORLD/CAI_WORLD_RESOURCE_MOBILES/CAI_SITUATED где в первых двух линиях - координаты и id в третьей CAI_REGION. Если мы хотим ввести новые координаты армии это надо делать в указанных выше местах и ввести CAI_REGION Id. Заметьте, что у каждого моря есть CAI_REGION Id с морями дело обстоит аналогично. Другая важная вещь – армия или персонаж находятся в городе, где другие строки тоже нуждаются в правке в WORLD и CAI_WORLD полях но мы обойдемся бех этого для облегчения процесса. Автору еще не удавалось переместить персонажей типа джентлмена.

Итак, для перемещения армии с генералом, джентлмена и повесу из Саксонии в Финляндию надо обладать тремя новыми парами координат. Затем необходимо править startpos. Вот как это делается автором:

d1. начинаем игру (юзая новый startpos) Саксонией и выводим всех из города. Сохраняемся называя сейв "гибрид" но не выходим. Идем в Финляндию (уже принадлежит Саксонии) и рекрутируем трех юнитов. Жмем конец хода и разводим этих трех в три разные места возле города. Сохраняемся называя сейв "сетки" и выходим. Сейв «гибрид» понадобится для создания гибридного startpos и и сейв «сетки» - чтоб взять новые координаты.

Важно: Если джентлмен и повеса отсутствуют можно распустить юнита и сэкономить время пропустив пункты d2 и d3.

2. Перед тем, как продолжить у нас должны быть 3 Id CAI_ARMY (CAI_WORLD_RESOURCE_MOBILES). Это не совсем просто, поэтому подробнее. Сперва заходим в [...]WORLD/FACTION_ARRAY/FACTION/CAHARCTER_ARRAY/CHARACTER и запоминаем Id (первая линия) для каждого персонажа. Затем в CAI_WORLD/ CAI_WORLD_REGIONS и находим записи Саксонии и Финляндии. Единственное что может посоветовать автор для быстрого нахождения записей CAI – это открыть regions.esf (!!!) и рассчитать – где в списке root/region_data/region расположены эти регионы. Затем открыть список CAI_WORLD/ CAI_WORLD_REGIONS и найти их по имени CAI_WORLD_REGIONS/CAI_REGION. От Финляндии надо CAI_REGION Id - запоминаем. От Саксонии нужно кое-что другое. Идем в CAI_WORLD_REGIONS/CAI_REGION и видим CAI_SETTLEMENT Id в третьей линии. С его помощью находим Саксонскую CAI_SETTLEMENT запись в CAI_WORLD_ SETTLEMENTS идем дальше в CAI_WORLD_ SETTLEMENTS/CAI_GARISSONABLE. В первой линии тут CAI_ARMY Id! Используя это находим CAI_WORLD_RESOURCE_MOBILES запись для армии. Идем туда и в CAI_WORLD_RESOURCE_MOBILES/ CAI_RESOURCE_MOBILE I замечаем CAI_CHARACTER's Id в первой линии (для генерала). Хотя ближайшие записи это две другие нужные cai армии надо убедиться, в том, что у джентлмена и повесы Id не армейские, чтоб подтвердить их. Идем в CAI_WORLD_ CHARACTERS/CAI_ CHARACTERS юзая Id найденный для генерала и находим. Проверив ближайшие записи при помощи Id персонажа находим в [...]WORLD/FACTION_ARRAY/FACTION/CAHARCTER_ARRAY/CHARACTER (9 знаков, они должны появиться в CAI_WORLD_ CHARACTERS/CAI_ CHARACTERS четвертой линии) Можно обнаружить Id для джентлмена и повесы. В CAI_WORLD_ CHARACTERS/CAI_ CHARACTERS первая линия - это CAI_ARMY которую ищем, так что замечаем их, а также какой cai армии Id кому принадлежит.

d3. Теперь надо определить новые координаты. Открываем сейв «сетки», доходим до WORLD/FACTION_ARRAY/FACTION(Саксония)/CAHARCTER_ARRAY/CHARACTER и обнаруживаем три записи полковника, принадлежащие трем новым юнитам, рекрутированных в Финском регионе. В LOCOMOTABLE находим новые координаты и запоминаем их и решаем какие кому выдать.

d4. Юзая startpos и сейв «гибрид» создаем новый гибридный startpos. Открываем его и в Саксонской строке [...]WORLD/FACTION_ARRAY/FACTION/CAHARCTER_ARRAY/CHARACTER вводим новые координаты, запомненные ранее (двойной enter в первых четырех линиях).В CAI_WORLD_RESOURCE_MOBILES запись для каждого персонажа юзая CAI_RESOURCE_MOBILE Id найденную ранее и в CAI_SITUATED вводим новые координаты в первых двух линиях и в третьей CAI_REGION Id для Финляндии найденную в шаге d2. Сохраняемся и выходим.

e. Начинаем игру за Саксонию и если все ок, то Саксония будет владеть двумя регионами (Саксония и Финляндия), Финляндия как столичный регион, персонажи и армия - там. Автор выдал регион Саксония Пруссии, сохраняемся и выходим. Делаем последний гибрид startpos и открываем его для двух небольших правок [...]CAMPAIGN_PREOPEN_MAP_INFO/REGION_OWNERSHIP_BY_THEATRE тут меняем владельца Финляндии со Швеции на Саксонию, и владельца Саксонии с Саксонии на Пруссию. Затем в [...]WORLD/FACTION_ARRAY/FACTION(саксония)/FACTION_FLAG_AND_COLOURS меняем R,G,B цвета используемые игрой. В программе типа Paint выбираем цвет для нашей фракции и копируем R,G,B числа. Напрмер, светло-голубой (86, 173, 255). Эти числа будут использованы также в mod.pack/db/faction_tables.

2. Подготовка mod pack файла.

Создайте паку и назовите ее по желанию, напр. «моймод». Откройте patch.pack при помощи PFM и извлеките db/factions_table и после экспорта как TSV, указываем для обеих назначение – паку «моймод». То же сделайте для units_to_exclusive_faction_permissions, warscape_rigid_lod_tables и warscape_rigid_tables, извлекая и экспортируя как TSV каждую таблицу. Затем откройте models.pack и извлеките rigidmodels/ campaignbuildings/campaignagenticons, flags/textures и naval/textures. Откройте ui.pack и извлеките flags/saxony (в нашем случае старая фракция).

a. Откройте factions.TSV юзая spreadsheet и найдите ряд с фракциями. Первые две секции оставьте нетронутыми - где имя фракции и код (Faction Id и Id2). В Category введите нужную строку используя аналогичную от другой фракции со схожей культурой. В Type, Nation, Nationality введите нужные строки. Не все ни оказывают влияние на игру. В Names введите имя (name_group) для вашей новой фракции. Если у вашей фракции недоступное имя (ак у нас для Финляндии) вам придется вносить значительные изменения в localisation.loc. В Sounds вставьте подходящую строку, Icons для юнитов, в R1, G1, B1, ..., введите числа использованные ранее для startpos. Group определяет тип юнитов новой фракции. Names 1 оставьте как names_english и в Names 2 повторно введите строку для Names. Когда закончите удалять фракционные строки за исключением той, которую модифицируете выйдите и сохраните изменения в TSV.


b. units_to_exclusive_faction_permissions.TSV. Для Финляндии была введена в таблицу фракций для использования sweden_denmark_group юнитов. Но в Шведской армии есть юниты, которых может юзать только эта фракция. Один такой есть у Финляндии. Поэтому в Unit Id ref колонке были оставлены только уникальные шведские юниты (euro_dragoons_sweden, euro_heavy_cavalry_sweden, etc.) и финский юнит hakkapeliitat и удалены остальные. При помощи saxony/true была установлена возможность для Саксонии юзать этих юнитов . Для hakkapelitat был создан второй ряд при помощи sweden/false так что только у Финляндии(Саксонии) будет этот юнит. Выйдите сохранившись в TSV.

c. warscape_rigid_lod_tables.TSV . Откройте его и укоротите. Удалите все кроме строки, которая относится к модели агента вашей старой фракции, в нашем случае RigidModels/CampaignBuildings/CampaignAgentIcons/agent_ID_saxony.rigid_model. Выйдите сохранившись в TSV.

d. warscape_rigid_tables.TSV. Аналогично с сохранением только текстуры агента, в нашем случае agent_ID_saxony.

e. Есть два способа работы с файлами флагов: создание нового и смена старого. В папке «моймод» откройте ui/flags и удалите все папки, кроме относящейся к старой фракции (в нашем случае Saxony). Тут все используемые в игре флаги. Создаем новый tga с теми же размерами и именем, что и существующийпри помощи проги типа gimp. Анамированные флаги (11 фрагментов) могут быть теми же, с измененным только именем. Это для сохранения развевающихся флагов при выборе фракции и ходе Ai. Нет необходимости тратить время, создавая аналогичные флаги самому – юзайте существующие 200х100 tga. На страт и такт картах флаги будут развеваься. Единственная сложность - это шкурки и портреты. Так что создайте большой .tga с 512х256 из картинки с имеющимся флагом и продолжайте с остальными.

g. В папке rigidmodels/ campaignbuildings/campaignagenticons удалите все, окромя модели старого агента, в нашем случае agent_id_saxony.rigid_model. В папке текстур оставьте только dds агента, в нашем случае agent_id_saxony_diffuse.dds. Откройте при помощи gimp и сохраните цвета флага (скопируйте кружок из созданного ранее флага). Это для флага над агентом на страт карте. В flags/textures оставьте только файлы flags.tai, flags0.dds, 1,2,3, naval_id.tai and naval_id0.dds. Найдите, в котором flagsX.dds флаг старой фракции. Замените его болшим .tga (512х256). В naval_id0.dds замените круглый флаг отображаемый над кораблями. В naval/textures оставьте только dds фракции, в нашем случае ensign_saxony_diffuse.dds. Замените его тем же большим .tga и переделайте сторону длинных треугольных флагов(?).

h. Теперь у нас есть все для создания mod.pack файла. Запустите PFM и сделайте новый pack файл, указывая папку «моймод». Выберите тип Pack Action/Change и пометьте мод. Сохраните с любым именем, но в паке «моймод» и не выходите. ПКМ по pack файлу и добавьте директорию. Добавьте се папки из папки «моймод». Сохранитесь. Разверните db и откройте db/factions таблицу, импортируйте TSV и укажите.TSV файл фракции. Аналогично со всеми db таблицамиs. Сохранитесь. Снова откройте db и переименуйте каждую таблицу. Сделайте это только для таблиц. Сохранитесь.


3. Подготовка localisation.loc

Откройте patch_en.pack при помощи PFM, извлеките localisation_loc в паку «моймод» и также экспортируйте как TSV. Закройте PFM и откройте localisation.TSV. Отсортируйте в алфавитном порядке. Найдите строки factions_screen_adjective_xxxxxx и factions_screen_name_xxxxxx и введите в колонку B соответствующие имена для вашей новой фракции. Выйдите и сохраните TSV. Откройте PFM и создайте новый pack с типом «movie». Сохраните с любым именем, но в папку «моймод». Затем добавьте директорию text и импортируйте localisation.TSV в text/localisation_loc таблицу.

Поместите два pack файла сделанных вами в папку ETW/data. Запустите игру при помощи Mod Manager активировав ваш мод. Порадуйтесь новой фракции со своим названием, флагом и цветами.

Остальные правки.

Если ваша новая фракция использует отличные группы имен от старой фракции, то существующие персонажи будут со старыми именами. Для исправления этого нужен startpos, в коем надо поменять все имена в FAMILY и CHARACTERS на имена из localisation.loc. Другой проблемный элемент - религия. Она меняется в FACTION записях, в FAMILY записях и в REGION/POPULATION записи новой фракции. Возможно, аналогичную процедур потребуется провести для правительства, дипломатических отношений и т.д. Большая часть изменений проводится в startpos FACTION записи. В моде автора «Sturm und Drang» вы можете увидеть в pack файле структуру этого. Добавлены три новых фракции и изменены некоторые элементы итальянских фракций.

Если вы создадите новую фракцию – залейте ее, пожалуйста, на twcenter.net для расширения «базы данных» фракций.