Вы здесь:

Total War моды

Как менять хозяев регионов (Empire: Total War)

Автор: GeorgiaPeanuts.

В этой инструкции я покажу вам, как передавать регионы [одних государств] другим фракциям, а также как сделать "возникающие" фракции играбельными.

Вначале сделайте резервную копию ("бэкап") вашего файла startpos.esf в папке data/campaigns/main/.

Теперь вам нужно скачать вот эту программу: http://www.twcenter.net/forums/showthread.php?t=242353 и открыть с её помощью ваш файл startpos.esf.

Я начну с создания играбельной "возникающей" фракции, потому что [мы и так] в конце-концов мы придём к передачи регионов другой стране, была ли она в игре ранее, или нет.

Первым разделом, который мы будем редактировать, будет CAMPAIGN_PREOPEN_MAP_INFO. Имя [раздела] свидетельствует о том, что это его "читает" игра, когда вы находитесь в режиме [выбора фракции] Grand Campaign, таким образом она генерирует [меню выбора] играбельных фракций с принадлежащими им регионами.

Для начала мы хотели бы отредактировать [параметр] CAMPAIGN_PLAYERS_SETUP. Найдите "возникающую" фракцию, за которую вы желаете поиграть.

В разделе CAMPAIGN_PLAYER_SETUP вы увидите имя фракции и значения её логического типа. Выставив значение "Истина" для второго логического типа, вы сделаете эту фракцию выбираемой в качестве игровой в меню [кампании].

Теперь найдите вашу фракцию в FACTION_INFOS и измените значение последнего [целого числа\переменной] на 1, либо, если вы хотите предоставить фракции несколько регионов, установите вместо 1 число регионов, которые вы намерены передать [фракции]. Этот шаг, возможно, не так уж необходим, поскольку, как я заметил, у фракций с "украденными" регионами значение изменяется автоматически, чтобы корректно изображать [регионы фракции] на старовом экране.

Следующий по счету [редактируемый параметр] - REGION_OWNERSHIPS_BY_THEATRE. Каждый [его] подраздел соответствует отдельному "театру военных действий" - Индии, Америке, Европе. Итак, найдите "театр войны", в котором расположен ваш регион и затем найдите раздел этого региона и измените имя [владеющей регионом] фракции на имя "возникающей" фракции.

Теперь перейдем к разделу CAMPAIGN_ENV. Он определяет общие свойства держав кампании в начале первого хода.

В [подразделе] CAMPAIGN_PLAYERS_SETUP мы выполняем те же действия, что и в основном разделе, где выставили значение "Истина" для второго логического типа.

Перейдем к CAMPAIGN_MODEL/WORLD.

В этом разделе вы найдете [параметры] FACTION_ARRAY и REGION_MANAGER. Это два последних параметра, которые мы будем редактировать.

Для начала перейдем в FACTION_ARRAY и найдите "возникающую" фракцию, которую вы хотите [сделать играбельной], либо фракцию, которой вы хотите передать регион.

Найдя его, вы увидите множество переменных значений параметров фракции в ее подразделе FACTION. Вот некоторые из них (Boolean - логический тип):

1. faction_id - int
2. faction_db_name - uft16
3. faction_display_name - utf16
4. unknown - Boolean
5. unknown - Boolean
6. Is Major Faction? - Boolean
7. unknown - Binary Data
8. Official Religion - utf16
9. unknown - Boolean
10. capitol_region_id - Int
11. capitol_region_id - Int
12. unknown - Boolean
13. Is Emergent? - Boolean
14. unknown -Uint
15. unknown - Binary Data
16. unknown - int
17. unknown - int
18. Main AI mode - utf16 (FULL or MAINTAINANCE)
19. AI Personality - utf16
20. protector faction_id - int



Для игры за "Появляющиеся" фракции в логическом типе "Is Emergent?" нужно указать "False". (извините, забыл про этот шаг)

Итак, советую записать Faction ID# для вашей фракции.

Перейдем в REGION_MANAGER, где вам надо найти подраздел вашего региона, на что потребуется некоторое время, ведь придется просмотреть 250 регионов.

В подразделе REGION вы найдете большой список параметров для каждого региона, объясняю для чего они нужны:

1. region_db_name - utf16
2. region_id - int
3. (skip past 13 unknowns)
4. owner faction_id - uint
5. owner theater_id - uint
6. theater_name - utf16
7. main_rebels - uft16 (Can be any Faction or just a rebels type)
8. base rebels type - utf16 (This can only be a rebels type of faction)
9. coastal climate? - utf16



Для начала возьмем faction_id нашей фракции и поменяем faction_id владельца [региона] на наше значение.

Если вы редактируете "появляющуюся" фракцию, то нам также нужно вернуться в её faction section и изменить capitol_region_ids, чтобы указать на этот регион.

Теперь мы продолжим редактирование региона в параметрах REGION_SLOT_MANAGER и SETTLEMENT.

Продвигайтесь насколько сможете ( ) в параметрах раздела REGION_SLOT_MANAGER, пока не дойдете до раздела BUILDING, который указывает на принадлежность фракции зданий, а также gov_type. Вы должны отредактировать каждое здание для отображения названия вашей фракции и вашей формы правления.

К тому же, для каждого [параметра] REGION_SLOT вам нужно отредактировать SEIGABLE_GARRISON_RESIDENCE/GARRISON_RESIDENCE. Там находится отдельный Uint, с ID фракции-владельца региона. (такие же параметры также есть в region_slots в слотах дорог (Road) и фортов (Fort).

То же самое сделайте в [подразделе] SETTLEMENT для SEIGABLE_GARRISON_RESIDENCE/GARRISON_RESIDENCE.

Если вы четко следовали всем шагам, то регион полностью перейдет во владения выбранной вами фракции.

Если вы открывали "возникающую" фракцию, пожалуйста заметьте, что вы можете играть ей только потому, что у ИИ скорее всего нет определения для обозначения "возникающей" фракции, так что при загрузке других фракций возможен "вылет" игры. (???) Возможно, автор хотел сказать, что если просто открыть отсутствующую в начальном "страте" фракцию (не проведя всех изменений, перечисленных выше), то игра "вылетит" на рабочий стол.





Дополнение: как убрать вражескую армию из поселения региона, которым они (враги) больше не владеют.


Теперь рассмотрим, как вы можете убрать эти надоедливые армии, которые начинают [игру] в поселении [региона, переданного другой фракции]. Я обнаружил [как это сделать] после столь многочисленных попыток, когда армия в конце-концов исчезла. Обычно эта [убранная из поселения] армия будет вести себя подобно торговым флотам, стоящим на торговых точках, которые "попали в ловушку" (то есть, не могли выйти с торговой точки) когда игра только вышла. Когда вы загрузите игру с этими изменениями в вашем регионе, вы увидите армию, находящуюся в центре вашего поселения, но больше не [cидящую в гарнизоне] поселения. Я думаю, что скоро ИИ поймет, что единица "сломалась" и уничтожит ее сам.

Итак, чтобы это реализовать, рассмотрим [параметр] ARMY, что под [параметром] FACTION [параметра] FACTION_ARRAY исконного владельца региона.

Тут вы видите, что первым шагом для реализации [перемещения армии], будет нахождение той армии, которую мы хотим редактировать.Чтобы сделать это, нам нужно вернуться к региону, который мы передали другой фракции.


В параметре ("уровне") SETTLEMENT/SIEGEABLE_GARRISON_RESIDENCE нашего региона мы найдем такие данные:

settlement_id - int
8 unknowns
some ai ID - int
some ai ID - int
garrisoned_army_id - int



Итак, тут вы видите, что мы захотим записать наш settlement_id, а также изменить [параметр] garrisoned_army_id до 0, таким образом, поселение больше не будет иметь такой гарнизон.

Тогда берем наш settlement_id и ищем [параметр] ARMY в ARMY_ARRAY старого владельца региона.

В параметре ARMY изменяемое значение представляет из себя такие данные:

unknown Binary Data
unknown Binary Data
army_id - int
settlement_id -int (для обозначения поселения, в котором находится армия, 0 - если такого поселения нет)
unknown - boolean
unknown - int


Итак, изменим значение settlement_id на 0, так что армия больше не будет считать, что она "приписана" быть гарнизоном данного поселения. Если все пройдет нормально, то вы увидите армию, стоящую вне [гарнизона] поселения, прямо в его центре, и после того, как вы сохраните игру, проверится правильность позиций каждой армии и эти "плохие" армии будут отправлены в ближайший регион. Когда я так сделал, [отделив] Грецию от Османов, это привело к тому, что [османская] армия застряла на одном из маленьких островков вблизи Анатолии.



Также, для "появляющихся" фракций, если вы хотите получить министров для своего правительства, вам нужно "сгенерировать" их, захватив регион, и игра тут же сгенерирует лидера фракции и министров для неё. (Трудновато будет с некоторыми фракциями, вроде Шотландии, [где они не генерируются], хотя я тестировал с США [и по видимому сработало]).



Вот также два esf'а, как пример. (Вы можете играть только одной "возникающей" фракцией в каждом esf-файле, т.к. пока установки ИИ не будут доработаны, игра за все другие страны будут приводить игру к "вылету").

startpos_us.esf дает США Виржинию, для начала. Как только вы захватите второй регион, все должно заработать нормально, до этого вы не можете изменять налоги, так как у вас нет лидера фракции и министров. Когда я тестировал США, я только сделал 4 Минитменов (милицию) и быстро атаковал регион подо мною, и затем все заработало как обычно. Также в этом esf-файле я сделал Португалию Главной фракцией с полнодействующем ИИ, только для теста.

scotty_startpos.esf - это шотландская версия. Правда она почти бесполезная, так как в Шотландии невозможно строительство зданий и армии, так что я застрял в городе наедине с гарнизоном. Я думаю, что, возможно, какие-то изменения в db файлах могут это исправить.



 

Комментарии  

 
+1 #1 Виктор 2016-04-18 08:29 Передал поселение "Ниагара - земли Алгонкинов" Франции, после чего поселение "заблокировалось " - нанимать войска нельзя, сносить/строить постройки также невозможно (хотя делал все согласно инструкции). Подскажите, как это исправить? Цитировать