Как добавить постройки\слоты для построек городам
Автор: demis14
Эта инструкция покажет вам как добавлять слоты для построек городу, благодаря чему город становится больше и появляется вомзожность строить дополнительные здания (например, адмиралтейство). Это потребует достаточно много времени, так что будьте терпеливы и повторяйте все за нами шаг за шагом.
ЗАМЕТЬТЕ: Эта инструкция основана на такое изменение города, при котором тот имел бы 5 зданий. Чтобы установить любое другое значение, сделайте то же самое, кроме нашего изменения координат, так как они будут различаться в зависимости от числа.
Нажмите, чтобы прочитать Во-первых вам нужна последняя версия программы
Esf Editor.
В этой инструкции я добавлю адмиралтейство в Афины (как я пробовал для потребностей своего мода
Greece ETW Playable & Retexture mod.
Итак, начнем:
1) Во-первых сделайте резервную копию ("бэкап") файлов, которые мы будем редактировать:
startpos.esf (У автора - C:\Program Files\Steam\steamapps\common\empire total war\data\campaigns\main)
regions.esf (У автора - C:\Program Files\Steam\steamapps\common\empire total war\data\campaign_maps\global_map)
2) Теперь откройте startpos.esf через Esf Editor. Для начала, нам нужно "клонировать" существующий
REGION_SLOT_ARRAY любого
settlement building (здания поселения; т.е. расположенного внутри города).
Это мы найдем тут:
CAMPAIGN_STARTPOS\CAMPAIGN_ENV\CAMPAIGN_MODEL\WORLD\REGION_MANAGER\REGIONS_ARRAY\REGIONS_ARRAY\REGION(Greece)\REGION_SLOT_MANAGER\REGION_SLOT_ARRAY. Щелкните правой кнопкой мыши по уже существующему слоту постройки и нажмите
"CLONE".
3) После "клонирования" должен появится новый
REGION_SLOT_ARRAY, подсвеченный зеленым. Теперь щелкните по зеленому
REGION_SLOT'у и измените его первое значение справа (ID здания, впишите [необходимый]
Uint) и "переименуйте" его на случайное значение, но только девятизначное! (шанс переписать уже существующий ID чрезвычайно мал)
4) Теперь нам нужно изменить второе значение на новое, отражающее то строение, которое мы хотели бы добавить. В нашем случае это
"settlement:greece:athens:settlement_navy-admin". Измените соответствующий текст.
Значения ID разных зданий можно найти в
main.pack/db/building_chains_to_slots_tables\building_chains_to_slots под данными, для открытия которых нужен
PackFileManager.
Пятое и шестое значение - координаты для стратегической карты, соответственно, мы изменим их позже, что будет описано ниже. Также мы останем нетронутым неизвестное восьмое значение, одинаковое со значением
REGION_SLOT'а данного региона. (Фактически это значение должен соответствовать первому, когда вы редактировали выделенное поле
SETTLEMENT, т.е. в моем случае, это был номер 3).
Мы не собираемся редактировать остальные поля.
5) Теперь выделите
SIEGABLE_GARISSON_RESIDENCE и измените здесь первое значение, в соответсвии с
Building ID того
REGION_SLOT'а, который вы только редактировали.
Затем, под
SIEGABLE_GARISSON_RESIDENCE, щелкните на
GARISSON_RESIDENCE и измените правое значение, на ID фракции, которая владеет Городом. (в нашем примере - Греция) Вы можете просто копировать значение существующего
GARISSON_RESIDENCEs других
REGION_SLOT_ARRAYs региона.
6) Этот шаг определит, будет ли город иметь пустой слот, или уже построенное до начала игры здание.
a) Для пустого слота:
Просто щелкните правой конпкой мыши поле (если есть)
BUILDING, что под
BUILDING_MANAGER, а затем нажмите
DELETE (оно должно покраснеть).
После этого, щелкните на
BUILDING_MANAGER и измените значение 1-го логического типа ("булеана") на ”
FALSE”.
б) Для построенного здания
Щелкните
BUILDING_MANAGER и убедитесь, что значение первого логического типа - ”
TRUE”.
Здесь также должно быть поле
BUILDING, показанное под
BUILDING_MANAGER. (Если такого нет, просто копируйте аналогичное правой конпкой мыши из другого слота). Когда поле
BUILDING выделено, измените третье значение на нужного
owner faction (в этом случае - меняем "portugal" на "greece") и четвертое значение на
owner faction government type (форма правления владельца; в этом случае - от ”gov_constitutional_monarchy” к ”gov_absolute_monarchy” ).
Второе значение отображает
building level (уровень здания), так что сюда вводите соответствующий текст (в нашем случае - "адмиралтейство").
ID зданий других уровней найдете тут:
main.pack/db/building_levels_tables/building_levels в папке данных, для открытия которой потребуется PackFileManager -
]]>http://www.twcenter....p...ile&id=2409]]>
7) Сейчас, нам придется добавить слот здания для использования ИИ тоже, чтобы игра не "вылетела", когда будет строиться обновление здания ("апгрейд"). Для этого мы будем использовать метод
HusserlTW.
a) Перейдите в
startpos.esf\CAMPAIGN_STARTPOS\CAMPAIGN_ENV\CAMPAIGN_MODEL\CAI_INTERFACE\CAI_WORLD\CAI_WORLD_BUILDING_SLOTS и щелкните правой кнопкой мыши по любому из
CAI_WORLD_BUILDING_SLOTS, а затем выберите
CLONE. Должно появиться новое поле
CAI_WORLD_BUILDING_SLOTS, выделенное зеленым. Щелкните по нему.
Измените первое справа значение, то есть ID слота, на случайное четырехзначное число, но этот номер не должен конфликтовать с любым другим ID, так что, чтобы изменить обезопасить игру, измените его на, скажем, "9999". (это была одна из моих ошибок:whistling)
c) Затем щелкните на поле
CAI_BUILDING_SLOT, что под
CAI_WORLD_BUILDING_SLOTS которые мы клонировали. Отсюда измените первое справа значение, чтобы точно соответствовать случайному
REGION_SLOT ID, который мы создали выше, в шаге 3. Второе значение должно составить 0, вероятно, указывая, что здание находится внутри города.
d) Последний шаг - изменить третье справа значение, на значение нашего Settlement AI ID (например, в нашем случае ID ИИ Athens' составляет 1681). Чтобы найти этот ID для других поселений, используйте список, в который я внес все значения AI Settlement IDs,
чтобы спасти вас от необходимости самим это искать...
WARNING - это жуть. В столбик автор писать не умеет
Список AI Settlement :
Нажмите, чтобы прочитать
RegionSettlement AI IDmoldaviaiasi2142persiaisfahan1504bulgariasofia2018algonquin_territoryniagara3400naplesnaples1780ko
miust_sysolsk2614malwaujjain2902don_voiskocherkassk2054french_guyanacayenne3051great_plainsknife_riv
e
r_village3497ukrainekiev2331croatiazagreb1974marylandannapolis3382leeward_islandsantigua3173carnatic
a
arcot2730kareliapetrovskaya_sloboda2700ingriast_petersburg2657wurttembergstuttgart2103curacaopunda31
2
2savoyturin1928galicialwow2295new_andalusiacaracas3078flandersbrussels2243lithuaniavilnius2463iroquo
i
s_territorycayuga3461norwaychristiania2620cherokee_territorytellico3287greeceathens1681belarusminsk2
3
12portugallisbon1752upper_louisianafort_chartres3327rhinelandkoln2227sindhneroon_kot2937azerbaijanar
d
abil1732tripolitripoli1480arkhangelskarkhangelsk2671trinidad_tobagosan_jose_de_oruna3588cubala_haban
a
3209windward_islandsmartinique3132moroccotangier1462swedenstockholm2568courlandjelgava2600bavariamun
i
ch2091guatemalaantigua_guatemala3106michigan_territorydetroit3388austriavienna1954prussiakonigsberg2
4
48irelanddublin2345moreapatras1666bosniasarajevo1990rumeliaconstantinople1847finlandaabo2683englandl
o
ndon2184mysoremysore2773mainefalmouth3473virginiawilliamsburg3352gibraltargibraltar2724icelandreykja
v
ik2714labradoragvituk3568new_mexicosanta_fe3263silesiabreslau2285jamaicaport_royal3181serbiabelgrade
2
005new_grenadabogota3028bohemiaprague2258bengalcalcutta2917anatoliaangora1702kashmirsrinagar3018newf
o
undlandplaissance3540spainmadrid1628bijapursatara2805hungarypressburg2113bashkiraufa2514hyderabadhyd
e
rabad2823ceylontrincomalee2756tunistunis1541afghanistankabul1576mesopotamiabaghdad1558netherlandsams
t
erdam2373franceparis1889chechenya-dagestantarki1877syriadamascus1608the_papal_statesrome1825berarnagpur2871acadiafort_nashwaak3483new_
englandboston3429hispaniolasanto_domingo3189hannoverhannover2359saxonydresden2273milanmilano2066new_
s
painmexico3143venicevenice2076estonia_and_livoniariga2641genoagenoa1940armeniayerevan1802denmarkcope
n
hagen2544hindustanagra2971gujaratahmedabad2888carolinascharleston3311georgia_usasavannah3303kaintuck
_
territorytanase3340astrakhanastrakhan2172ahmadnagarahmadnagar2859huron_territoryfort_sault_ste-marie3507dutch_guyanaparamaribo3061tatariyakazan2152corsicabastia1814maltavalletta1660malabargoa2793
bahamasnassau3243new_yorkalbany3412lower_louisiananew_orleans3271georgiatbilisi1865palestinejerusale
m
1493rajpootanaudaipur2951polandwarsaw2428west_pommeraniaberlin2390alsacestrasbourg2218orissacuttack2
8
39punjablahore2998algiersalgiers1591baluchistanzahedan1528sardiniacaligari1770egyptcairo1439transylv
a
niakolozsvar2130ontariomontreal3447pennsylvaniaphiladelphia3368northwest_territoriesyork_factory3580
p
anamapanama3094ruperts_landmoose_factory3554new_francequebec3522crimeabakhchisaray2036floridast_augu
s
tine3227muscovymoscow2484west_prussiagdansk2410scotlandedinburgh2529tejasvilla_de_bexar3251
Наконец, мы закончили редактирование startpos.esf, так что сохраним файл и откроем Esf Editor'ом файл region.esf
8) Перейдите к
global_map\regions.esf\root\region_data\regions\ и найдите регион, в который вы будете добавлять здание\свободный слот (Греция в моем случае). В
regions перейдите к
settlement_and_slots/slot_descriptions и кликните правой кнопкой мыши по существующему полю, выбрав CLONE.
9) Щелкните по выделенному зеленым клонированному
slot_descriptions, и измените первое и второе значение справа, чтобы они соответственно отображали ваше новое здание, как ранее в
startpos.esf (например, в моем случае я изменил первое значение на
"settlement:greece:athens:settlement_navy-admin" и второе на
"settlement_navy-admin").
Третье и четвертое значения, скорее всего, координаты карты, и мы их соответственно изменим позже, это описано ниже.
После этого СОХРАНИТЕ изменения.
Чтобы установить слоты здания правильно, так чтобы здания отлично вписывались в увеличенный с новой постройкой город (как на тактической, так и на стратегической карте), используйте эту отличную электронную таблицу, сделанную
erasmus777, и следуйте инструкциям, описанным в таблице и дополнительным инструкциям ниже.
Таблица:
]]>http://www.twcenter....mp;d=1242957421]]>
а) Редактируя
startpos.esf, перейдите к
REGION_SLOT_ARRAY и щелкните по вашему первому слоту. Пятое и шестое значение - координаты X и Y (для стратегической карты). Проверьте тип строения и введите соответствующее ему значение. Сделайте так со всеми городскими слотами.
Сохранитесь. Теперь ваши строения появятся на карте в правильном положении!
б) Редактируя
regions.esf, перейдите к
slot_descriptions, что под
settlement_and_slots, и щелкните по вашему первому слоту. Третье и четвертое ззначения - координаты X и Y, разделенные знаком " ; ". Проверьте тип строения и введите соответствующее ему значение. Сделайте так со всеми городскими слотами.
Сохранитесь. Ваши здания будут теперь корректно отображаться на тактической карте!
Более детальная информация:
1)
Откройте startpos.esf через Esf editor.
2) Перейдите к
CAMPAIGN_STARTPOS\CAMPAIGN_ENV\CAMPAIGN_MODEL\WORLD\REGION_MANAGER\REGIONS_ARRAY\REGIONS_ARRAY\[Your Region] и щелкните
SETTLEMENT\SIEGEABLE_GARRISON_RESIDENCE
3) Вы увидете
Int-параметр в десятом и оддинадцатом значениях. Это координаты X (десятое) и Y (оддинадцатое). Запишите их. Наши расчеты будут соответствовать этим номерам.
4) Конверитуем их в координаты для карты, их понять проще, разделяя каждый на 1.000.000 (это американский вариант: другими словами, установите 6 десятичных значений, начиная справа и заканчивая слева)
Например, 17328740/1,000,000 = 17.328740
Заметьте: вы можете достигнуть тех же результатов, оставив координаты гарнизона без изменений, вместо этого умножая "вычисленные" номера, которые я привожу к 1.000.000. Если вся эта математика мучает вас (oh, yeah), игнорируйте дальнейшие инструкции, а лучше - загрузите таблицу.
5) Мы собираемся вычислить координаты гарнизонов для каждого здания. Это поможет нам узнать, куда поставить здания. Для каждого здания просто введите соответствующее значение, относящееся к кординатам гарнизона (Garrison). Вот вычисления:
Building X; Y
Army -0.798581; +0.792384
Government +0.003188; -0.009376
Culture +0.815036; -0.821216
Navy -0.808820; -0.821376
Ordinance +0.819688; +0.807104
Road +0.040256; -1.39504
Fortification +0.040256; +1.390304
6) После того, как вы получили координаты для всех зданий, конвертируйте их обратно в игру, умножив на 1.000.000.
Пример:
Нажмите, чтобы прочитать Вот координаты гарнизона Дании: 88411680; 413792544:
A) Я делю каждую координату на: 1,000,000
= 88.411680; 413.792544
Я добавляю вычисления для Army-admin слотов:
88.411680 + (-0.798581) = 87.813099
413.792544 + 0.792384 = 414.584928
C) Затем я конверитую координаты обратна в игру, умножая на 1,000,000 (или просто перемещая запятую на позиций направо):
87.813099 x 1,000,000 = 87813099
414.584928 x 1,000,000 = 414484928
7) Перейдите к
REGION_SLOT_ARRAY и щелкните по первому слоту. Пятое и шестое значения, соответственно, координаты Х и Y. Проверьте тип строения и соответствующее ему значение. Сделайте так со всеми слотами в городе.
Сохранитесь. Теперь ваши здания появятся на правильном месте на карте!
Теперь нам надо отредактировать координаты слотов зданий в regions.esf на аналогичный манер (эти координаты, скорее всего, отвечают за тактическую карту).
1)
Откройте regions.esf через Esf Editor.
2) Перейдите в
regions.esf\root\region_data\regions\regions[your region] и щелкните
settlement_and_slots, где находятся координаты X и Y, разделенные знаком " ; ". Их мы будем вычислять вместе с другими координатами здания (как мы деллаи чуть ранее, в
startpos.esf).
3) Вот вычисления для regions.esf:
Building X; Y
Army -0.7616; +0.7557
Government +0.003; -0.0089
Culture +0.7773; -0.7831
Navy -0.7714; -0.7833
Ordnance +0.7817; +0.7698
Road +0.0384; -1.3304
Fortification +0.0384; +1.3259
4) Переходим в
slot_descriptions, под settlement_and_slots. Щелкните по вашему первому слоту. Третье и четвертое значение - координаты, разделенные " ; ". Проверьте тип здания и соответственное значение. Сделайте так со всеми слотами зданий города.
Сохранитесь. Ваши здания теперь будут корректно отображаться на тактической карте!
ТЕПЕРЬ ВЫ УСПЕШНО ЗАВЕРШИЛИ ОБУЧЕНИЕ
Я надеюсь оно было полезным и несложным, хотя и долгим. Я хотел бы поблагодарить erasmus777 и husserlTW за их помощь в составлении этой инструкции и их коммандной работе, что мне действительно нравится в сообществе TWC!
Аттачмент:
]]>http://www.twcenter....mp;d=1242127232]]>
Ффу-у-у-ух!
Тяжкое дело - онлайн-перевод, где так "многабукаф".
Сообщение отредактировал Reitar-13: 15 апреля 2011 - 22:50