Изменение символики фракции в Medieval 2 Total War
Автор: Avtocrator
Дата: 26 сен 2013, 03:18 · Просмотров: 11 277
Дата: 26 сен 2013, 03:18 · Просмотров: 11 277
Добавление/замена символа фракции
Добавление герба фракции
без использования .sd конвертера
без использования .sd конвертера
Спойлер (раскрыть)
I.Добавление стандартного символа фракции.
II.Добавление совершенно нового символа фракции(поправки к основной статье)
Спойлер (раскрыть)
I.I.Добавление символа фракции в меню.
I.II.Добавление символа отображаемого при игре.
Спойлер (раскрыть)
Файлы используемые меню находятся по адресу mods\retrofit\data\menu\symbols в папках fe_buttons_24, fe_buttons_48, fe_symbols_80.
Тут ничего сложного, просто необходимо переделать(дорисовать, поставить другое изображение) все файлы нужной Вам фракции. Либо при создании новой фракции, сохранить файлы с ее названием(например symbol24_bulgar.tga)
Тут ничего сложного, просто необходимо переделать(дорисовать, поставить другое изображение) все файлы нужной Вам фракции. Либо при создании новой фракции, сохранить файлы с ее названием(например symbol24_bulgar.tga)
I.II.Добавление символа отображаемого при игре.
Спойлер (раскрыть)
При игре отображаются не те символы, что используются в меню и добавление их является более трудоемким:
1) Необходимо сделать копию файла stratpage_02.tga(он лежит по адресу:mods\retrofit\data\ui\southern_european\interface)назвать можно stratpage_05.tga.
2) В новом файле меняете гербы стран на те, которые нужны, например на месте английского я поставил норвежский.
3) Далее надо открыть через блокнот файл strategy.sd.xml(по адресу:mods\retrofit\data\ui) и сделать следующие изменения:
3.1)В строке <texture_pages count="5"> 5 меняем на 6 (это указание на количество используемых файлов и мы ставим 6 т.к. нам надо прибавить свой файл)
3.2)Собственно записываем сам файл:
<page file="stratpage_01.tga" width="512" height="512" force32bit="0"/>
<page file="stratpage_02.tga" width="512" height="512" force32bit="0"/>
<page file="stratpage_03.tga" width="243" height="250" force32bit="0"/>
<page file="editor_strat01.tga" width="256" height="256" force32bit="0"/>
<page file="stratpage_04.tga" width="512" height="512" force32bit="0"/>
<page file="stratpage_05.tga" width="512" height="512" force32bit="0"/>
3.3) Далее меняем в записи <sprites count="304"> 304 на 305(это количество используемых символов)
3.4) Добавляем саму запись по символу. Я заменял английский символ, потому беру английскую запись по файлу:
<sprite index="175" name="FACTION_LOGO_ENGLAND" page="1" left="1" right="68" top="78" bottom="153" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
ставлю ее в конце документа:
<sprite index="303" name="SETTLEMENT_STATUS_ICON_NOT_HOLDING_RACES" page="1" left="418" right="439" top="137" bottom="158" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
<sprite index="175" name="FACTION_LOGO_ENGLAND" page="1" left="1" right="68" top="78" bottom="153" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
</sprites>
</root>
И делаю следующие изменения:
<sprite index="303" name="SETTLEMENT_STATUS_ICON_NOT_HOLDING_RACES" page="1" left="418" right="439" top="137" bottom="158" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
<sprite index="304" name="FACTION_LOGO_NARWA" page="5" left="1" right="68" top="78" bottom="153" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
</sprites>
</root>
Стоит обратить внимание на то, что наш файл 6-ой, но т.к. счет начинается с нуля ставим page="5", а не 6.
Теперь осталось только поставить данный символ для фракции в descr_sm_factions.txt
запись:logo_index FACTION_LOGO_NARWA
Также добавляется и символ меньших размеров, только запись по нему находится в файле shared.sd.xml.
1) Необходимо сделать копию файла stratpage_02.tga(он лежит по адресу:mods\retrofit\data\ui\southern_european\interface)назвать можно stratpage_05.tga.
2) В новом файле меняете гербы стран на те, которые нужны, например на месте английского я поставил норвежский.
3) Далее надо открыть через блокнот файл strategy.sd.xml(по адресу:mods\retrofit\data\ui) и сделать следующие изменения:
3.1)В строке <texture_pages count="5"> 5 меняем на 6 (это указание на количество используемых файлов и мы ставим 6 т.к. нам надо прибавить свой файл)
3.2)Собственно записываем сам файл:
<page file="stratpage_01.tga" width="512" height="512" force32bit="0"/>
<page file="stratpage_02.tga" width="512" height="512" force32bit="0"/>
<page file="stratpage_03.tga" width="243" height="250" force32bit="0"/>
<page file="editor_strat01.tga" width="256" height="256" force32bit="0"/>
<page file="stratpage_04.tga" width="512" height="512" force32bit="0"/>
<page file="stratpage_05.tga" width="512" height="512" force32bit="0"/>
3.3) Далее меняем в записи <sprites count="304"> 304 на 305(это количество используемых символов)
3.4) Добавляем саму запись по символу. Я заменял английский символ, потому беру английскую запись по файлу:
<sprite index="175" name="FACTION_LOGO_ENGLAND" page="1" left="1" right="68" top="78" bottom="153" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
ставлю ее в конце документа:
<sprite index="303" name="SETTLEMENT_STATUS_ICON_NOT_HOLDING_RACES" page="1" left="418" right="439" top="137" bottom="158" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
<sprite index="175" name="FACTION_LOGO_ENGLAND" page="1" left="1" right="68" top="78" bottom="153" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
</sprites>
</root>
И делаю следующие изменения:
<sprite index="303" name="SETTLEMENT_STATUS_ICON_NOT_HOLDING_RACES" page="1" left="418" right="439" top="137" bottom="158" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
<sprite index="304" name="FACTION_LOGO_NARWA" page="5" left="1" right="68" top="78" bottom="153" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
</sprites>
</root>
Стоит обратить внимание на то, что наш файл 6-ой, но т.к. счет начинается с нуля ставим page="5", а не 6.
Теперь осталось только поставить данный символ для фракции в descr_sm_factions.txt
запись:logo_index FACTION_LOGO_NARWA
Также добавляется и символ меньших размеров, только запись по нему находится в файле shared.sd.xml.
II.Добавление совершенно нового символа фракции(поправки к основной статье)
Спойлер (раскрыть)
1) При создании нового символа, необходимо сохранить его изображение в формате .tga(32bit). При этом нужно:
1. Удалить фон на котором расположен символ.
2. Отобразить на альфа-канале символ белым цветом, фон черным(иначе фон все равно останется).
2)Записать в strategy.sd.xml параметры своего файла(например 123 Х 321):
<page file="stratpage_05.tga" width="123" height="321" force32bit="0"/>
А также изменить, в соответствии с размерами своего символа(в пикселях):
left="1" - расстояние от левого края картинки до левого края символа
right="68" - расстояние от левого края картинки до правого края символа
top="78" - расстояние от верхнего края картинки до верхнего края символа
bottom="153" - расстояние от верхнего края картинки до нижнего края символа
(расстояние лучше брать с запасом на пиксель)
В остальном запись в файле strategy.sd.xml соответствует предыдущему примеру.
1. Удалить фон на котором расположен символ.
2. Отобразить на альфа-канале символ белым цветом, фон черным(иначе фон все равно останется).
2)Записать в strategy.sd.xml параметры своего файла(например 123 Х 321):
<page file="stratpage_05.tga" width="123" height="321" force32bit="0"/>
А также изменить, в соответствии с размерами своего символа(в пикселях):
left="1" - расстояние от левого края картинки до левого края символа
right="68" - расстояние от левого края картинки до правого края символа
top="78" - расстояние от верхнего края картинки до верхнего края символа
bottom="153" - расстояние от верхнего края картинки до нижнего края символа
(расстояние лучше брать с запасом на пиксель)
В остальном запись в файле strategy.sd.xml соответствует предыдущему примеру.
Добавление символа фракции на штандарте генерала(страт карта)
Спойлер (раскрыть)
Все операции по добавлению символа я буду проводить в Фотошопе(СS5)
1) Для начала необходимо создать новый файл 128х128 пикселей(лучше с прозрачным фоном, чтоб удобней было впоследствии создавать альфа-канал).
Этот файл рассчитан на 4 символа фракций.
2) Затем я беру понравившийся мне рисунок(будущий символ) и помещаю его в верхнем левом углу.
3) Потом при выделенном символе необходимо создать альфа-канал:
4) Полученный файл сохраняем в папке data\banners под именем symbols9(т.к. предыдущие восемь уже заняты) в формате tga(сохранение 32бит).
5) Теперь этот файл надо зарегистрировать как файл со штандартом в документе descr_standards.txt папки data:
6) Также символ надо прописать для фракции в документе descr_sm_factions.txt(папка data), строка(у соответствующей фракции):
х - это номер символа, по очередности созданный мной символ занимает 24 место:
Вот так, как-то:
1) Для начала необходимо создать новый файл 128х128 пикселей(лучше с прозрачным фоном, чтоб удобней было впоследствии создавать альфа-канал).
Этот файл рассчитан на 4 символа фракций.
2) Затем я беру понравившийся мне рисунок(будущий символ) и помещаю его в верхнем левом углу.
3) Потом при выделенном символе необходимо создать альфа-канал:
4) Полученный файл сохраняем в папке data\banners под именем symbols9(т.к. предыдущие восемь уже заняты) в формате tga(сохранение 32бит).
5) Теперь этот файл надо зарегистрировать как файл со штандартом в документе descr_standards.txt папки data:
factions
symbols banners/symbols1.tga
symbols banners/symbols2.tga
symbols banners/symbols3.tga
symbols banners/symbols4.tga
symbols banners/symbols5.tga
symbols banners/symbols6.tga
symbols banners/symbols9.tga
rebels_factions
symbols banners/symbols7.tga
symbols banners/symbols8.tga
symbols banners/symbols1.tga
symbols banners/symbols2.tga
symbols banners/symbols3.tga
symbols banners/symbols4.tga
symbols banners/symbols5.tga
symbols banners/symbols6.tga
symbols banners/symbols9.tga
rebels_factions
symbols banners/symbols7.tga
symbols banners/symbols8.tga
6) Также символ надо прописать для фракции в документе descr_sm_factions.txt(папка data), строка(у соответствующей фракции):
standard_index х
х - это номер символа, по очередности созданный мной символ занимает 24 место:
standard_index 24
Вот так, как-то:
Добавление/замена символа фракции находящегося над городом
Спойлер (раскрыть)
Когда-то, но в другой теме меня уже спрашивали как это делается и если честно я(и не я один) до сих пор не знаю как осуществить добавление абсолютно нового символа. Потому здесь рассмотрю добавление символа, путем переделывания его из уже существующих.
Допустим мы создаем новую фракцию, и для нее нам естественно нужен свой, особенный символ. Для этого нам необходимо взять 3 файла, относящиеся к новому символу:
\mods\retrofit\data\models_strat
файл symbol_фракция.CAS
\mods\retrofit\data\models_strat\textures
#banner_symbol_фракция.tga.dds
#banner_symbol_фракция.tga
(если в папке нет файла .tga, то его необходимо сделать самому, сохранив файл #banner_symbol_фракция.tga.dds в .tga формате)
*когда сохраните его в .tga формате, проследите за тем, чтоб расширение .tga не повторялось два раза.
Теперь перейдем к тому, файлы какой фракции надо брать.
Для того, чтоб сделать символ для новой фракции, нельзя брать за основу символы фракций, которые уже есть в моде.
Нельзя этого делать потому, что в самой модели символа - .CAS файле идет привязка к конкретному изображению(как она делается я не знаю) и если вы возьмете .CAS файл уже существующей в моде фракции, то он все-равно будет ссылаться на прежний рисунок.
Я делаю мод на основе Retrofit, а значит не могу использовать .CAS файлы всех фракций уже существующих в нем.
Однако есть еще 4 кампании(Британская, Крестоносная, Тевтонская и Американская) в которых есть новые фракции. Файлы этих новых фракций мы и будем использовать. Возьмем файлы фракции Литва:
#banner_symbol_lithuania.tga.dds
symbol_lithuania.cas
и перенесем их в соответствующие папки своего мода.
Теперь в фотошопе перерисуем файл #banner_symbol_lithuania.tga.dds, так, чтоб он подходил новой фракции, и сохраняем измененный вариант в двух форматах:
#banner_symbol_lithuania.tga.dds
#banner_symbol_lithuania.tga
Затем в файле descr_sm_factions.txt делаем ссылку на литовский файл .CAS для новой фракции:
Все, теперь у нашей новой фракции есть свой собственный символ над городом.
Когда-то, но в другой теме меня уже спрашивали как это делается и если честно я(и не я один) до сих пор не знаю как осуществить добавление абсолютно нового символа. Потому здесь рассмотрю добавление символа, путем переделывания его из уже существующих.
Допустим мы создаем новую фракцию, и для нее нам естественно нужен свой, особенный символ. Для этого нам необходимо взять 3 файла, относящиеся к новому символу:
\mods\retrofit\data\models_strat
файл symbol_фракция.CAS
\mods\retrofit\data\models_strat\textures
#banner_symbol_фракция.tga.dds
#banner_symbol_фракция.tga
(если в папке нет файла .tga, то его необходимо сделать самому, сохранив файл #banner_symbol_фракция.tga.dds в .tga формате)
*когда сохраните его в .tga формате, проследите за тем, чтоб расширение .tga не повторялось два раза.
Теперь перейдем к тому, файлы какой фракции надо брать.
Для того, чтоб сделать символ для новой фракции, нельзя брать за основу символы фракций, которые уже есть в моде.
Нельзя этого делать потому, что в самой модели символа - .CAS файле идет привязка к конкретному изображению(как она делается я не знаю) и если вы возьмете .CAS файл уже существующей в моде фракции, то он все-равно будет ссылаться на прежний рисунок.
Я делаю мод на основе Retrofit, а значит не могу использовать .CAS файлы всех фракций уже существующих в нем.
Однако есть еще 4 кампании(Британская, Крестоносная, Тевтонская и Американская) в которых есть новые фракции. Файлы этих новых фракций мы и будем использовать. Возьмем файлы фракции Литва:
#banner_symbol_lithuania.tga.dds
symbol_lithuania.cas
и перенесем их в соответствующие папки своего мода.
Теперь в фотошопе перерисуем файл #banner_symbol_lithuania.tga.dds, так, чтоб он подходил новой фракции, и сохраняем измененный вариант в двух форматах:
#banner_symbol_lithuania.tga.dds
#banner_symbol_lithuania.tga
Затем в файле descr_sm_factions.txt делаем ссылку на литовский файл .CAS для новой фракции:
symbol models_strat/symbol_lithuania.cas
Все, теперь у нашей новой фракции есть свой собственный символ над городом.
Замена символа фракции в процессе игры
Спойлер (раскрыть)
Замена символа фракции относится скорее к написанию скриптов. Делается это довольно просто, при составлении скрипта со своим условием выполнения необходимо задать следующую команду по смене символа:
В соответствии с данной записью символы Руси заменяются символами Византии следующим образом:
-изменяется сам символ(страт карта)
-изменяется символ на знамени полководца(страт карта)
-изменяется цвет самого знамени(страт карта)
-изменяются знамена войск и кнопка включения подсветки маркеров(такт режим)
Единственно, что на страт карте территория фракции по-прежнему отмечается ее изначальным цветом.
На верхней картинке Новгород не принадлежит Руси, потому его территория на мини карте окрашена в другой цвет.
set_faction_banner
faction russia
banner byzantium
end_set_faction_banner
faction russia
banner byzantium
end_set_faction_banner
В соответствии с данной записью символы Руси заменяются символами Византии следующим образом:
-изменяется сам символ(страт карта)
-изменяется символ на знамени полководца(страт карта)
-изменяется цвет самого знамени(страт карта)
-изменяются знамена войск и кнопка включения подсветки маркеров(такт режим)
Единственно, что на страт карте территория фракции по-прежнему отмечается ее изначальным цветом.
На верхней картинке Новгород не принадлежит Руси, потому его территория на мини карте окрашена в другой цвет.
Поправка к замене символа
Спойлер (раскрыть)
Дело в том, что команда на замену символа работает не совсем корректно. Символы меняются, это да, но при этом символ-кнопка для вызова Свитка сведений о державе меняется при игре за любую из фракций. Так при игре за Англию получилось вот что:
Решить проблему можно следующим образом(cкрипт):
Вторую часть приведенного мною скрипта(там где с Англией) необходимо повторить отдельно для каждой фракции(кроме Руси и Византии, в данном случае).
Можно написать и легкий скрипт(без отслеживания получения Русью символа Византии), но я сделал более сложную форму с использованием счетчика, рассчитывая на другое, не просто I_TurnNumber = 5, а более сложное условие, при котором Русь может получить, а может и не получить символы Византии.
Решить проблему можно следующим образом(cкрипт):
Цитата
declare_counter rzn ;создать счетчик rzn
monitor_event FactionTurnStart FactionType slave ;в начале хода ребелов
and I_TurnNumber = 5 ;на пятом ходу
;собственно замена символа
set_faction_banner
faction russia
banner byzantium
end_set_faction_banner
set_counter rzn 1 ;значение счетчика rzn = 1
end_monitor
monitor_event FactionTurnEnd FactionType slave ;в конце хода ребелов
if I_CompareCounter rzn = 1 ;если значение счетчика rzn = 1
;заменить(т.е. вернуть) Англии английский символ
set_faction_banner
faction england
banner england
end_set_faction_banner
end_if
end_monitor
monitor_event FactionTurnStart FactionType slave ;в начале хода ребелов
and I_TurnNumber = 5 ;на пятом ходу
;собственно замена символа
set_faction_banner
faction russia
banner byzantium
end_set_faction_banner
set_counter rzn 1 ;значение счетчика rzn = 1
end_monitor
monitor_event FactionTurnEnd FactionType slave ;в конце хода ребелов
if I_CompareCounter rzn = 1 ;если значение счетчика rzn = 1
;заменить(т.е. вернуть) Англии английский символ
set_faction_banner
faction england
banner england
end_set_faction_banner
end_if
end_monitor
Вторую часть приведенного мною скрипта(там где с Англией) необходимо повторить отдельно для каждой фракции(кроме Руси и Византии, в данном случае).
Можно написать и легкий скрипт(без отслеживания получения Русью символа Византии), но я сделал более сложную форму с использованием счетчика, рассчитывая на другое, не просто I_TurnNumber = 5, а более сложное условие, при котором Русь может получить, а может и не получить символы Византии.
Изменение знамен(тактический режим)
Спойлер (раскрыть)
По данному вопросу расписывать особо нечего. Все файлы со знаменами войск находятся по адресу Medieval II Total War\data\banners\textures. Необходимо лишь cконвертировать с помощью Конвертерa для файлов texture в dds и обратно файлы из формата texture в формат dds, а затем посредством плагина для фотошопа или программы Paint.NET изменить изображения на знаменах. После изменения файл dds необходимо вновь переконвертировать в texture.
Некоторые текстуры со знаменами повторяются в черно-белом варианте(в названии файла содержится _trans), их тоже необходимо изменять т.к. в ином случае во время игры на новом знамени будут проступать черты старого рисунка.
Некоторые текстуры со знаменами повторяются в черно-белом варианте(в названии файла содержится _trans), их тоже необходимо изменять т.к. в ином случае во время игры на новом знамени будут проступать черты старого рисунка.