Стратегикон – Форум о стратегиях на PC, новости стратегий

Автор Тема: Азбука мододела  (Прочитано 283 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Адмирал

  • Модератор
  • Новичок
  • ******
  • Сообщений: 72
  • Репутация +1/-0
  • Стратег
    • Просмотр профиля
Азбука мододела
« : 10 Июль 2018, 20:47:22 »
Урок первый: Введение в понятие модификации CK2; Идеи моддинга; Создание модификации. Первый шаг; Реализация идей (ввод кириллический шрифтов, изменение названий государств и провинций, музыкальная тема, картинки на загрузочном экране).
Урок второй (видео): Приоритет файлов и папок в модификациях.
Урок третий: Реализация идей (Де-юре границы империй и королевств. + Создание новых де-юре образований и флагов с гербами, часть 1).
Урок четвертый: (Де-юре границы империй и королевств. + Создание новых де-юре образований и флагов с гербами, часть 2).
Урок пятый: (Де-юре границы империй и королевств. + Создание новых де-юре образований и флагов с гербами, часть 3).
Урок шестой: Реализация идей (изменяем цвет де-юре образований на карте).
Урок седьмой: Реализация идей (Разблокируем возможность "листать" стартовую дату с 867-ого года).
 файла colormap_water.dds. 7. Правка файла colormap.dds.
« Последнее редактирование: 10 Июль 2018, 21:00:55 от Адмирал »

Оффлайн Адмирал

  • Модератор
  • Новичок
  • ******
  • Сообщений: 72
  • Репутация +1/-0
  • Стратег
    • Просмотр профиля
Re: Азбука мододела
« Ответ #1 : 10 Июль 2018, 20:49:16 »
Введение в понятие «модификация СК2».

Для начала, стоит заострить внимание на том, что какая бы чУдная или чуднАя идея не посетила вашу светлую голову, вводить её в игру следует в виде модификации. Не в виде файлов, заменяющих собой оригинал простым забросом в корневую папку ( папка, куда установлена сама игра), а именно в виде модификации, которую всегда можно подключить или отключить в лаунчере игры, просто поставив или сняв галочку. В случае конфликта модификации с игрой ( как правило это выражается в невозможности запуска или в краше игры на стадии загрузки контента), достаточно будет её просто не подключать.

Как бы не ругали парадоксов за их желание заработать «побольше денег» вводом сонма DLC, модификация игры доступна каждому желающему. Причём, можно менять в игре абсолютно всё, кроме основ механики, зашитых в ехе-шник. И пусть вы назовёте меня занудным, ещё раз предостерегу вас, как начинающих мододелов, от попыток модификации файлов в корневой папке игры. Ошибки, неизбежные в процессе создания модификации, неизбежно же приведут к вылетам игрового клиента и к последующей его переустановке с полной и абсолютной потерей ( естественной в такой ситуации) всех данных. То же самое случится с вашей «модификацией» и при очередном изменении версии игры.

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

Итак, первая заповедь мододела СК2— ВСЕ модификации игры создаются в специальной папке по адресу C:\Users(Пользователи)\Имя пользователя(Имя вашего компьютера, как правило)\Documents(Мои Документы)\Paradox Interactive\Crusader Kings II\mod.

То есть, захотели создать любую модификацию — следуем в эту папку. Впоследствии ( в тексте ниже) буду называть эту папку просто \mod, минуя весь этот длинный путь, однако нужно понимать, что я буду иметь в виду именно этот первоначальный путь ( дело в том, что в корневой папке игры есть ещё одна папка \mod, но использовать нужно не её). Если в будущем вам надоест игра и вы решите удалить СК2 ( или случайно сделаете это), все ваши наработки останутся в том виде, в котором вы их видели крайний раз.

Постоянный поиск в «документах» иногда утомляет, ага, поэтому у себя, для удобства доступа, вывел ярлык этой папки на рабочий стол. Дёшево и сердито, как говорится. А «ползать» в эту папку придётся ой как часто. Зачастую, малейшее изменение части кода в файлах мода требует перезапуска игры. Ну что же, надеюсь мы прояснили этот вопрос, и вы поняли, что создание всех модификаций в «Моих документах» в ваших же интересах.

К сожалению, я так давно установил первую версию СК2, что не помню создаётся ли эта папка автоматически, но в том случае если нет — ничего страшного — создайте её вручную.

Идеи моддинга.

Теперь поговорим о том, что именно вы хотели бы поменять в игре. В принципе, это может быть что угодно, но зачастую начинающие мододелы недовольны не таким уж и огромным списком игровых моментов. Попробую их озвучить.

Вместо русских шрифтов какая-то "билиберда".______________________Ввод кириллических шрифтов. Сложность — элементарно.

Не по фэншуй указаны названия империй и королевств.______________________Работа с локализацией игры. Сложность — просто.

Что за бредовая музыка. Надо бы её изменить.______________________Работа с небольшим количеством файлов. Сложность — просто.

Картинки на загрузочном экране вызывают тоску.______________________Работа с небольшим количеством файлов. Сложность — просто.

Неверно указаны де-юре границы этих империй и королевств.______________________Работа с файлом landed_titles.txt. Сложность — средняя.

Да и вообще — политическая карта тоже какая-то корявая.______________________Работа с файлом landed_titles.txt. Сложность — средняя.

Блин, ну кто такой флаг и герб придумал?______________________Работа с комплексом файлов, сложность — средняя.

Короче, хочу создать собственную династию!______________________Работа с комплексом файлов, сложность — средняя.

А почему на карте эта провинция настолько огромна? Поделить бы.______________________Работа с комплексом файлов, сложность — выше среднего.

Какой-то бред с религиями и культурами!   ______________________Работа с комплексом файлов, сложность — выше среднего.

Как создать республику то?______________________Работа с комплексом файлов, сложность — выше среднего.

Слишком мало событий (ивентов) и решений.______________________Работа с комплексом файлов, сложность — сложнее некуда.

Существуют и другие вопросы у начинающих мододелов, как то — «как сделать мод с уникальной картой, с эльфами, гоблинами, блэкджеком и шлюхами?», но, не осилив выше-озвученные методики, не рекомендую начинать ничего более глобального. Осилив же перечисленный выше список вопросов, мододел обычно уже представляет себе, что именно ему предстоит в более глобальных модификациях, ибо всё делается по аналогии, меняются лишь масштабы.

В общем, следуя золотому правилу — от простого к сложному - попробую описать создание всех озвученных модификаций игры пошагово. Рекомендую делать всё на «чистом» клиенте, с не изменённой корневой папкой игры. Следуя инструкциях к концу «курса молодого бойца» вы осилите создание любой модификации «по аналогии».

Создание модификации. Первый шаг.

Ну что же. Вы по-прежнему бодры и полны желания «преодолевать»? Не смею вам мешать и объясню таки как создать источник вашей будущей головной боли.

Начнём с создания папки, в которой будет «жить» ваша модификация. Естественно, что папка должна иметь определённое имя. Не знаю как игра отнесётся к имени на русском языке, не пробовал так «баловаться» и вам не советовал бы. Частенько возникают проблемы совместимости, если в пути запускаемых файлов имеется кириллица. И это относится не только к СК2.

Итак. «Топаем» в папку \mod. Создаём там новую папку и называем её как-нибудь на английском ( название может отражать будущее наполнение модификации или просто быть набором символов). Давайте, смеха ради, назовём эту папку «бредом сумасшедшего»? Не против? Ну что же — меньшее сделано, «домик» для наших галлюцинаций — папка «ravings_of_a_madman» - готов.

На названиях папок и файлов из нескольких слов также стОит остановиться подробнее. Все пробелы в именах файлов и папок заменяю нижним подчёркиванием по одной простой причине — парадоксы делают именно так, типичный пример — файл landed_titles.txt. Не хочу спорить с демиургами СК2.

Следующим полу-шагом, способствующим появлению нашей модификации в списке доступных в лаунчере игры, будет создание файла запуска нашей модификации. В этом нет ничего трудного.

Необходимо в папке \mod создать текстовый файл с названием, аналогичным названию папки с модом. Сделаем это. Создаём ravings_of_a_madman.txt. Теперь открываем этот текстовый файл и пишем:

name = "ravings_of_a_madman"
path = "mod/ravings_of_a_madman"
Как видно из кода, имя мода, указанное в текстовом файле, должно совпадать с именем созданной нами ранее папки. Сохраняем текстовый файл и выходим из него. Но это не всё.

Чтобы игра воспринимала наш «текстовик» как файл запуска мода, нужно поменять ему расширение ( текст в имени файла после точки). Меняем расширение файла тупейшим переименованием, только редактируем не имя, а расширение файла - с ravings_of_a_madman.txt на ravings_of_a_madman .mod. Не обращая внимания на ругань системы, утверждаем переименование.

Вот теперь наш мод виден в лаунчере, и, хоть его пока и нельзя назвать хоть сколько-нибудь рабочим, первый шаг к этому сделан.

Запоминаем основное - модификация СК2 должна содержать изначально:

1) папку с изменёнными файлами и

2) элементарнейший файл запуска рядом с этой папкой.

Оффлайн Адмирал

  • Модератор
  • Новичок
  • ******
  • Сообщений: 72
  • Репутация +1/-0
  • Стратег
    • Просмотр профиля
Re: Азбука мододела
« Ответ #2 : 10 Июль 2018, 20:53:51 »
Реализация идей.

Ввод кириллических шрифтов.

Простейшая модификация игры. Я надеюсь, что вы последовали моему совету и используете версию игры без модификаций. Единственная модификация которую следует установить перед началом наших опытов - русские шрифты. Подключать существующую локализацию игры на русский при этом нет никакой необходимости, чтобы не путаться. Впоследствии — пожалуйста, а пока — не стОит.

Без ввода шрифтов, кириллица не будет отображаться в игре, вместо неё будем наблюдать так называемые «кракозябры», ни в коей мере не читаемые. Русские шрифты вводятся в игру элементарно. Состоят они из одной папки. Не буду вдаваться в подробности создания самих шрифтов, дам готовое решение.https://yadi.sk/d/jJ_wyQnFBFXXu. В итоге, после того как вы распакуете zip-архив, в созданной нами папке для модификаций ravings_of_a_madman, создаёте папку gfx, в ней папку fonts, и уже в ней располагаем шрифты. Во избежание путаницы, изучите скриншот.
6903608.jpg
Обратите внимание - путь к файлам модификации повторяет этот путь в корневой папке игры. Любой файл, который будет подвергаться модификации, должен лежать в папке с адресом, идентичным оригинальному в корневой папке. На примере тех же шрифтов это прослеживается в полном объёме. При запуске модификации совместно с игрой, система отдаёт приоритет файлам модификации, которые "ложаться поверх" оригинальных. Если напутать с адресом изменяемого файла, система попросту ничего не изменит.

Изменение названий государств и провинций.

Простая модификация игры.

Применительно к нашей модификации - переименуем любое государство на карте, просто переведя его на русский язык. Напомню, локализация игры на русский язык не подключена, зато в модификацию, которую мы создали, зашиты русские шрифты. Запускаем игру и изучаем карту. Что же нам переименовать то? Мой взгляд случайно упал на Северный Кавказ и Грузию. Довольно интересный небольшой регион, где наглядно можно показать все механики модификаций. Ну что же, приступим.

Так как все названия, да и любой текст, находятся в папке localisation, копируем эту папку из корневой папки игры в папку с модом. Однако, нам не нужны все файлы из этой папки. Уже в скопированном, в папке с модификацией (!!!), удаляем всё кроме text1.csv и любого другого файла. Пусть другой будет text2.csv.

После этого, откроем text2.csv простым блокнотом, в меню "правка" - "выделить всё" и удалить. Должен остаться пустой файл. Теперь переименуем text2.csv в georgian_localisation.csv. Вот теперь мы готовы к локализации ( в нашем случае - к фактическому переименованию) государства и его провинций.



Обратите внимание. ЭТО ОЧЕНЬ ВАЖНО.
Все файлы локализации имеют расширение .csv и представляют собой таблицы данных. В принципе они открываются и просматриваются Экселем, НО. Я ПРЕДОСТЕРЕГАЮ ВАС ОТ ЭТОГО.

Никакого экселя, только ПРОСТЕЙШИЙ ТЕКСТОВЫЙ РЕДАКТОР - БЛОКНОТ, например. Блокнот прекрасно редактирует csv-файлы, не повреждая их при сохранении изменений, а вот за Экселем подобное замечено неоднократно.
 
На игровой карте пока всё по-английски, давайте это изменим. Для этого нужно лишь запомнить ( записать) название страны и названия всех провинций, в неё входящих.

Итак, имеем

GEORGIA - собственно Грузия

и провинции, в неё входящие:

ABKHAZIA - Абхазия

IMERETIA - Имеретия

GURIA - Гурия

KAKHETI - Кахетия

KARTLI - Картли

Далее, "идём" в папку /mod/localisation.

Обычно, названия всех провинций и государств содержатся в файле text1.csv, именно поэтому мы оставили именно этот файл. Открываем этот файл Блокнотом. Рядом открываем созданный нами пустой georgian_localisation.csv.

После этого, в файле text1.csv в меню сверху находим пункт меню - "правка", и далее - "найти", в появившемся окошке вводим текст GEORGIA ( без каких-либо кавычек). Это - название государства. После этого жмём "найти далее".

Через это меню находим в text1.csv, все строчки, имеющие отношение к слову GEORGIA и все их копируем в открытый нами рядом georgian_localisation.csv. Простейшая операция. По аналогии - находим в этом файле всё, относящееся к провинциям государства, не забывая перемещать курсор на самый верх текста. Но, в отличие от Грузии, ищем только текст, начинающийся с PROV ( так игра отмечает название провинций).

В итоге, после поиска и копирования, текст в georgian_localisation.csv оказывается таким:

georgian;Georgian;Gйorgien;Georgisch;;Georgiana;;;;;;;;;x здесь идёт локализация культуры, переводим как грузинск

k_georgia;Georgia;Gйorgie;Georgien;;Georgia;;;;;;;;;x То что и искали - название государства, переводим как Грузия, остальное уже не важно, но

k_georgia_adj;Georgian;Gйorgienne;Georgischer;;Georgiana;;;;;;;;;x Прилагательное, используемое применительно к государству, преводим как грузинск

d_georgia;Georgia;Georgie;Georgia;;Georgia;;;;;;;;;x Тут название герцогства Грузия, переводим как Грузия.

d_georgia_adj;Georgian;Gйorgienne;Georgischer;;Georgiano;;;;;;;;;x Прилагательное для герцогства, по аналогии с королевством, переводим как грузинск

d_company_of_st_george;Company of St. George;Compagnie de Saint-Georges;Kompanie von St. Georg;;Compaснa de San Jorge;;;;;;;;;x Относится к торговой республике, удалю эту строку вовсе из отборки.

d_company_of_st_george_adj;St. Georgian;Saint-georgien;St. Georger;;Mercenaria;;;;;;;;;x аналогично прилагательное для республики, удаляю.

PROV601;Imeretia;Imйrйthie;Imeretien;;Imeretia;;;;;;;;;x переводим Имеретия

PROV600;Abkhazia;Abkhazie;Abchasien;;Abjasia;;;;;;;;;x переводим Абхазия

PROV679;Kartli;Karthli;Kartli;;Kartli;;;;;;;;;x переводим Картли

PROV677;Guria;Gourie;Guria;;Guria;;;;;;;;;x переводим Гурия

PROV676;Kakheti;Kakhйtie;Kakheti;;Kakheti;;;;;;;;;x переводим Кахетия

Текст зелёным - мои комментарии, в файле его быть не должно. Итог работы над georgian_localisation.csv таков:

georgian;грузинск;Gйorgien;Georgisch;;Georgiana;;;;;;;;;x
k_georgia;Грузия;Gйorgie;Georgien;;Georgia;;;;;;;;;x
k_georgia_adj;грузинск;Gйorgienne;Georgischer;;Georgiana;;;;;;;;;x
d_georgia;Грузия;Georgie;Georgia;;Georgia;;;;;;;;;x
d_georgia_adj;грузинск;Gйorgienne;Georgischer;;Georgiano;;;;;;;;;x
PROV601;Имеретия;Imйrйthie;Imeretien;;Imeretia;;;;;;;;;x
PROV600;Абхазия;Abkhazie;Abchasien;;Abjasia;;;;;;;;;x
PROV679;Картли;Картли;Kartli;;Kartli;;;;;;;;;x
PROV677;Гурия;Gourie;Guria;;Guria;;;;;;;;;x
PROV676;Кахетия;Kakhйtie;Kakheti;;Kakheti;;;;;;;;;x
Обратите внимание в какую часть кода вводится локализация! Сохраняем и закрываем файл georgian_localisation.csv

Ну что же, файл text1.csv более нам не нужен, удаляем его из папки с модификацией. Вот теперь пришло время запустить лаунчер игры и впервые поставить галочку на нашей модификации, подключая её. Любуемся результатом. Естественно, что переименовать можно любую территорию и любое государство в игре так как вам хочется.

В случае, если у вас стоит русская локализация игры, удобней и проще править названия провинций и государств в ней. Работать нужно по аналогии.

Картинки на загрузочном экране.

Простая модификация игры.

Все загрузочные экраны СК2 "лежат" в папке C:\Program Files\Crusader Kings II\gfx\loadingscreens.

 Все картинки имеют формат dds и размер 1920х1440, который прекрасно редактируется ( в случае необходимости) бесплатной программой Paint.NET. Создадим в нашей модификации папку \loadingscreens в папке \gfx. Скопируем туда файл load_0.dds из корневой директории C:\Program Files\Crusader Kings II\gfx\loadingscreens. Теперь найдём в интернете любую картинку, которая нам понравится. В моём случае, я особо не думал, выбрал по разрешению на тему средневековья. Сохраняем её в любое удобное место ( для меня удобно на рабочий стол, например).

Теперь идём в папку mod\ravings_of_a_madman\gfx\loadingscreens и открываем там программой Paint.NET файл load_0.dds. После этого открываем сохранённый ранее файл той же программой.

Теперь по пунктам:

Правка - выделить всё - правка - копировать - переходим в правом верхнем углу на ранее открытый файл - опять правка ( уже в ранее открытом файле) - вставить - файл - сохранить - ОК (не меняя ничего в появившемся меню). Закрываем Paint.NET.

Всё. Запускаем игру. Первый загрузочный экран промелькнёт на экране перед загрузкой контента. Естественно, что так можно поменять все загрузочные экраны в игре, желательно стилизовав их под тематику мода.

Оффлайн Адмирал

  • Модератор
  • Новичок
  • ******
  • Сообщений: 72
  • Репутация +1/-0
  • Стратег
    • Просмотр профиля
Re: Азбука мододела
« Ответ #3 : 10 Июль 2018, 20:56:01 »
Реализация идей.

Де-юре границы империй и королевств. + Создание новых де-юре образований и флагов с гербами

Часть первая

Модификации средней степени сложности.

В принципе, главное при работе с де-юре границами государств - невероятная внимательность. Настоятельно рекомендую ( очень настаиваю, то есть - несколько раз буквально) делать бэкап ( копию рабочей версии) файла landed_titles.txt. Перед любым планируемым изменением.

Итак.

Продолжим развивать все идеи с Грузией. Благо, что регион действительно удобен в плане моддинга.

Давайте посмотрим на границы де-юре в этом регионе. Запустите игру и внимательно изучите три вкладки.

Что имеем перед началом работы?

Видим что королевство Грузия включено де-юре в империю Византия.

Сама де-юре Грузия состоит юридически же из трёх герцогств - Абхазия, Картли, Дербент.

Общие приблизительные границы королевства Грузия отражены более-менее верно. Не идеально, конечно, в связи с корявостью самой карты Европы от парадоксов, на которой искажены пропорции Кавказского региона, но - более-менее.

А вот юридическое нахождение Грузии в пределах Византии мне лично не нравится однозначно. Закавказье являлось ареной столкновения интересов Византии, Персии, а потом и Арабского халифата и регулярно переходило из рук в руки, не прекращая борьбы с разного рода "освободителями". В общем, принимаю решение выделить Грузинское государство из пределов Византийской империи.

Кроме того, считаю, что будет правильным создать в регионе новую империю, отражающую расцвет Грузинского царства при Тамаре. Империя будет объединять собственно Грузию и территорию современного Азербайджана (Ширван). У Азербайджана-герцогства, что указано в игре, надо "подрезать" три провинции, назвав Ширваном и придать им статус герцогства+королевства ( создание королевства необходимо, так как минимальные требования для создания империи - 80% территории (де-юре империи) и 2 королевских титула). Королевству Ширван также необходимо придать герцогство Дербент, что будет соответствовать требованиям создания королевства ( два герцогства) и логичнее с исторической точки зрения.

Помимо этого, есть ляпы с провинциями самой Грузии. Кахетия на карте от парадоксов севернее, а не восточнее Картли. То же самое с Имеретией, она должна быть восточнее, а не севернее Гурии. Но исправлением этого казуса займёмся в другой главе мини-гайда. Пока задачи такой не ставим.

В-общем, работая с файлом landed_titles.txt, мы 1) создадим новую локальную империю (Грузия), 2) создадим новое локальное королевство и герцогство (Ширван), 3) научимся правильно изымать территории из одних де-юре образований и присоединять их к другим, 4) научимся создавать гербы новым государственным образованиям.

Итак, первым делом создаём копию файла landed_titles.txt в нашей модификации, сохраняя оригинальный путь. На скриншоте этот процесс отображён наглядно, запутаться вы не должны. Обратите внимание на путь в командной строке, будьте внимательны, не перепутайте нужный файл.

6885179.jpg
После этого закройте оригинальную папку игры, она нам долго не пригодится, будем работать лишь в папке с модификацией. Создайте в этой папке рядом с файлом landed_titles.txt пустой файл 1landed_titles.txt ( название отличается у меня добавлением одного символа - цифрой "1" перед названием, но, в принципе, в названии пустого файла может быть и одна буква, ничего не изменится). Работать мы будем с этими двумя файлами вплоть до "великой победы".

Ну что же, далее, для облегчения процесса работы, пойдём по пунктам.

Реализация идей.

Де-юре границы империй и королевств. + Создание новых де-юре образований и флагов с гербами

Часть вторая

Поясню зачем нужен 1landed_titles.txt и приступим.

В принципе, вносить изменения можно и в оригинальный landed_titles.txt, но, учитывая его сложную структуру, сделать это без ошибок будет практически невозможно. Оперируя же двумя дополняющими ( обратите внимание - это важно) друг друга файлами, мы наглядно контролируем вносимые изменения, минимизируя шанс возникновения ошибок. Как правило, правка landed_titles.txt носит минимальный (по сравнению с самим этим файлом) характер и использование 1landed_titles.txt со всех сторон более чем оправдано.

Открываем копию файла landed_titles.txt в левой части монитора и пустой файл 1landed_titles.txt в правой части монитора. В левом файле видим умопомрачительного размера структуру, ввергающую в ступор начинающего мододела. Нам с вами проще, мы знаем, что ищем. Нам нужна Грузия в составе Византии. Вспоминаем, что в локализации мы переводили название королевства Грузия. Этот титул выглядел там как k_georgia. Именно этот текст мы ищем в левой папке.

Итак: правка - найти - k_georgia - найти далее. Теперь выделяем весь текст кода вплоть до Венеции и ВЫРЕЗАЕМ его. Следуем в пустой пока файл 1landed_titles.txt и вставляем вырезанное. Сохраняем ОБА файла. Закрываем их.

Внимательно изучите скриншоты. Наглядное пособие поможет вам не ошибиться.

6941498.jpg
Задача №1 выполнена. Запустите игру, совместно с модом. Если всё сделано верно, игра не вылетит при запуске, а королевство Грузия перестанет входить в империю Византия, представляя теперь собой самостоятельное королевство вне любых империй.

6943546.jpg
Обратите внимание, что королевство Грузия не принадлежит ни одной империи и потому зачернена системой. Ничего страшного в этом нет, до "Старых Богов" почти вся карта была в таком виде. В нашем случае, зачернение - показатель успешности работы по выделению Грузии из состава Византийской империи.

Теперь обратите внимание на гербы, которые отображены на карте. Как видите, они не соответствуют реальным. Изменение структуры файла landed_titles.txt не прошло бесследно. К счастью, это - легко решаемый вопрос.

После редактирования файлаlanded_titles.txt , всегда идите в папку C:\Users\Имя_пользователя\Documents\Paradox Interactive\Crusader Kings II\gfx\flags и удаляйте там всё. Абсолютно всё.

И только после этого запускайте игру совместно с модом. Запуск будет более долгим чем обычно, не пугайтесь. Зато гербы примут адекватный вид.

Оффлайн Адмирал

  • Модератор
  • Новичок
  • ******
  • Сообщений: 72
  • Репутация +1/-0
  • Стратег
    • Просмотр профиля
Re: Азбука мододела
« Ответ #4 : 10 Июль 2018, 20:57:20 »
Реализация идей.

Де-юре границы империй и королевств. + Создание новых де-юре образований и флагов с гербами

Часть третья

еперь вспомним о наших "имперских" планах.

Обратимся к файлу landed_titles.txt и изучим его структуру. Открыв его, сразу видим часть кода наверху такого вида:
e_rebels = {
rebel = yes
landless = yes
primary = yes

culture = swedish
tribe = yes

color={ 0 0 0 }
color2={ 0 0 0 }
}
Это описание империи повстанцев. Что нам нужно из этого кода, чтобы создать империю Грузия по подобию?

Во-первых, следует понять, что описание империи начинается с записи вида e_название = {.

В нашем случае с Грузией, текст должен выглядеть так e_georgia = {.

Во-вторых, со следующей строки следуют разнообразные условия, необходимые и достаточные для создания этой империи.

В нашем случае ничего выдумывать нет необходимости. Можно просто скопировать весь этот блок у королевства Грузии. Этого будет вполне достаточно.

В-третьих, в самом конце общего кода, необходимо закрыть текст фигурной скобкой.

6930234.jpg
Теперь, вспомним ту чепуху, что творилась с гербами после вырезания Грузии из Византии и приходим к выводу, что добавление в игру новой империи требует и создание для неё герба.

Ничего сложного в этом нет.

Создаём в папке mod/gfx папку /flags.

Идём в корневую папку gfx/flags и ищем там файл k_georgia.tga. Как видим, название флагов для титулов совпадает с названием самого титула. Флаги существуют у каждого титула в игре.

Копируем найденный файл в папку с модом и просто переименовываем его в e_georgia.tga. Флаг новой империи создан. При желании можно найти в тырнетах любую картинку и загнать её в игру, преобразовав в формат tga и дав размеры 128х128. Но нам сейчас не это важно, да и герб королевства Грузия подойдёт империи в данной ситуации.

6917946.jpg
Следующим шагом будет создание локализации новой империи. В данный момент эта империя не имеет и строчки кода о себе в файлах локализации, что приведёт к вылету игры при запуске или к вылету при наведении мышкой на название новой империи уже в игре. Не локализованный введённый вами контент - зло. Запомните это.

Итак, идём в папку локализации мода и текстовым редактором открываем там georgian_localisation.csv. Особо мудрить не будем, попросту скопируем две строки, относящиеся к королевству, вставим их в самый низ файла ( не имеет значения куда, но так удобнее впоследствии нам самим - всегда видно чем занимались в крайний раз), и отредактируем их. Итог работы должен выглядеть так:

georgian;грузинск;Gйorgien;Georgisch;;Georgiana;;;;;;;;;x
k_georgia;Грузия;Gйorgie;Georgien;;Georgia;;;;;;;;;x
k_georgia_adj;грузинск;Gйorgienne;Georgischer;;Georgiana;;;;;;;;;x
d_georgia;Грузия;Georgie;Georgia;;Georgia;;;;;;;;;x
d_georgia_adj;грузинск;Gйorgienne;Georgischer;;Georgiano;;;;;;;;;x
PROV601;Имеретия;Imйrйthie;Imeretien;;Imeretia;;;;;;;;;x
PROV600;Абхазия;Abkhazie;Abchasien;;Abjasia;;;;;;;;;x
PROV679;Картли;Картли;Kartli;;Kartli;;;;;;;;;x
PROV677;Гурия;Gourie;Guria;;Guria;;;;;;;;;x
PROV676;Кахетия;Kakhйtie;Kakheti;;Kakheti;;;;;;;;;x
e_georgia;Грузия;Gйorgie;Georgien;;Georgia;;;;;;;;;x
e_georgia_adj;грузинск;Gйorgienne;Georgischer;;Georgiana;;;;;;;;;x
Казалось бы - всё. Но это не так. Введённая нами империя никогда не будет создана в игре, ибо в её составе лишь одно королевство. А согласно требованиям игры, их должно быть как минимум два. Собственно для этого я и планировал "отжать" у Персии Ширван. С чем мы с вами и займёмся в следующей мини-главе.

Как мы помним, территория, которую я планировал включить в ново-созданную империю "Грузия", пока принадлежит де-юре Персии. Давайте исправим это.

Для начала запустим игру и изучим карту, запомнив/записав названия провинций, которые нам необходимы.

А необходимы нам графства Shirvan, Syunik и Shemakha, входящие в состав герцогства Azerbaijan, совместно с одноимённым графством.

Открываем в папке модификации файл landed_titles.txt и ищем там герцогство Azerbaijan. Правка - найти - d_azerbaijan - найти далее.
Открываем рядом файл 1landed_titles.txt.

В файле landed_titles.txt вырезаем графства c_shirvan, c_suenik и c_shemakha по одному ( чтобы не запутаться) и вставляем их в файл 1landed_titles.txt, придавая их временно герцогству Картли ( d_kartli ) по аналогии друг за другом.

Внимательно изучите скриншот перед правкой файлов.

6922042.jpg
Если вы всё сделали верно и уверены в этом - сохраните и закройте файл landed_titles.txt, далее будем работать только с файлом 1landed_titles.txt.

Теперь нужно создать новое герцогство Ширван, которого до сих пор не было в игре.

Если вы были внимательны, ничего сложного в этом для вас не будет. Но в любом случае всё опишу подробно.

Итак, мы вставили в файл 1landed_titles.txt друг за другом три графства, которые планируем придать одному герцогству. Обратите внимание, что делали мы это прямо под строками, которые описывают герцогство Картли. Это совсем не случайное совпадение, а действие, призванное облегчить нам решение поставленной задачи.

Выделите текст с описанием герцогства Картли, как показано на скриншоте СКОПИРУЙТЕ его ( не вырезать!) и вставьте после описания графства c_shemakha. Теперь поставьте курсор перед вставленным текстом и нажмите Enter, В появившейся пустой строке введите символ закрытия фигурной скобки }.

6908730.jpg
Теперь мы с вами имеем два одинаковых блока описывающих герцогство Картли. Естественно, что такого быть не должно и мы будем редактировать один из этих блоков. В нашем случае это, что вполне естественно - первый ( верхний) блок.

Тут всё настолько элементарно, что даже объяснять смысла нет, всё на скриншоте.

6909754.jpg
В итоге, мы создали новое де-юре герцогство Ширван, входящее в королевство Грузия.

Однако нам этого мало, необходимо создать и королевство Ширван, входящее в империю Грузия. Работа по аналогии.

Копируем блок, описывающий королевство Грузия и вставляем ниже герцогства Ширван перед герцогством Картли.

Ставим курсор перед вставленным блоком, нажимаем Enter и закрываем фигурную скобку }.

Поднимаемся наверх, к первому описанию королевства Грузия и делаем из него королевство Ширван.

Если кто-то не понял аналогии - опять скриншоты.

6910778.jpg
В итоге проделанной работы мы создали несколько новых титулов. Это

1) Герцогство Ширван

2) Королевство Ширван.

Они требуют обязательной локализации и факта придания им гербов/флагов.

Сделаем их по аналогии с тем, как делали герб империи "Грузия".

В корневой папке игры в подпапке C:\Program Files\Crusader Kings II\gfx\flags ищем флаг графства Ширван (c_shirvan). Попросту копируем этот флаг в аналогичную папку с модом и переименовываем его, меняя префикс перед именем титула.

6898490.jpg
Теперь локализуем. Откройте простым текстовым редактором файл georgian_localisation.csv и добавьте необходимые строки. Можете разобраться сами или скопировать эти строки из кода ниже. Итог работы:

georgian;грузинск;Gйorgien;Georgisch;;Georgiana;;;;;;;;;x
k_georgia;Грузия;Gйorgie;Georgien;;Georgia;;;;;;;;;x
k_georgia_adj;грузинск;Gйorgienne;Georgischer;;Georgiana;;;;;;;;;x
d_georgia;Грузия;Georgie;Georgia;;Georgia;;;;;;;;;x
d_georgia_adj;грузинск;Gйorgienne;Georgischer;;Georgiano;;;;;;;;;x
PROV601;Имеретия;Imйrйthie;Imeretien;;Imeretia;;;;;;;;;x
PROV600;Абхазия;Abkhazie;Abchasien;;Abjasia;;;;;;;;;x
PROV679;Картли;Картли;Kartli;;Kartli;;;;;;;;;x
PROV677;Гурия;Gourie;Guria;;Guria;;;;;;;;;x
PROV676;Кахетия;Kakhйtie;Kakheti;;Kakheti;;;;;;;;;x
e_georgia;Грузия;Gйorgie;Georgien;;Georgia;;;;;;;;;x
e_georgia_adj;грузинск;Gйorgienne;Georgischer;;Georgiana;;;;;;;;;x
d_shirvan;Ширван;;;;;;;;;;;;;x
d_shirvan_adj;ширванск;;;;;;;;;;;;;x
k_shirvan;Ширван;;;;;;;;;;;;;x
k_shirvan_adj;ширванск;;;;;;;;;;;;;x
Сохраните файл локализации.

Пока не будем локализовать остальные владения в ново-созданной империи "Грузия". Главное сейчас понять, что введение локализации и гербов при создании новых титулов ОБЯЗАТЕЛЬНО.

Ну что же, переходим к следующей мини-главе.

В первую очередь этот шаг необходим для того, чтобы появилась возможность создания нового королевства "Ширван", ибо пока в нём всего одно герцогство, а необходимо минимум два.

Работаем только с файлом 1landed_titles.txt.

Открываем его и ищем строку d_derbent = {.

По аналогии выделяем все владения, относящиеся к этому герцогству.

Вырезаем выделенное.

Вставляем вырезанное сразу после описания королевства Ширван.

Сохраняем изменения.

Собственно - вот и всё, модификация, целью которой было введение в игру империи Грузия, готова.

Не забудьте перед запуском модификации удалить всё , как было описано выше, в папке flags в "Моих документах", чтобы не возникло путаницы с гербами после старта игры.

Оффлайн Адмирал

  • Модератор
  • Новичок
  • ******
  • Сообщений: 72
  • Репутация +1/-0
  • Стратег
    • Просмотр профиля
Re: Азбука мододела
« Ответ #5 : 10 Июль 2018, 20:57:58 »
Реализация идей.

Изменяем цвет де-юре образований на карте

Простая модификация, почти элементарная.

Каждое де-юре образование имеет определённый цвет в игре. Описание этого цвета (RGB-код) идёт стандартным блоком после его названия, откройте созданный нами ранее 1landed_titles.txt. И сразу бросается в глаза код вида:

e_georgia = {
   color={ 205 145 145 }
   color2={ 255 255 255 }
color2={ 255 255 255 } описывает всё богатство палитры и нам не интересен. Его править не нужно.

Нас же интересует строка color={ 205 145 145 }, однако цвет империи Грузия нас устраивает, нам нужно искать герцогство и королевство Ширван ( в общем - цвет подберём для этих двух образований один, зачем плодить сущности?) и герцогство Картли.

Сразу оговорюсь - у де-юре образований этот цвет может быть любым, какой только в голову прийдёт, главное чтобы костюмчик сидел смотрелось фотогенично.

Подобрать необходимый цвет вам поможет любой графический редактор. Можно и "от балды" цифры менять, конечно, но в редакторе наглядней. Не будет нужды каждый раз запускать игру, проверяя что же там получилось.

Давайте используем для этого Paint, встроенный в любую версию Windows. Но можно использовать ( ещё раз напомню) абсолютно любой другой редактор или менять цвета вслепую.

Запускаем его ( если не выведен ярлык на Семёрке - "Пуск - Мои Программы - Стандартные - Paint").

Окно программы запущено. В верхнем правом углу окна кнопка "Изменение цветов ( выбор цвета в палитре)". Жмём её, по центру выскакивает окошко, позволяющее добавлять в палитру свой цвет. Но нам это не особо интересно. Нам важна функция предпросмотра, позволяющая визуально определить будущий цвет, составленный при помощи RGB-кода.

Давайте обратимся вновь к файлу и найдём там герцогство Ширван (d_shirvan):

d_shirvan = {
      color={ 162 234 22 }
Для совсем уж новичков поясню. Цвет в игре читается в формате RGB ( аббревиатура начальных букв английских слов - Рэд (красный), Грин (зелёный), Блу (синий)). В таком порядке и забиты цифры в коде, определяющем цвет де-юре образований ( да и вообще - цвет всего в игре). Давайте проверим как работает окно предпросмотра в Paint. Изучите скриншот, так будет понятнее.

6892346.jpg
Как видите, в итоге мы получили тот самый, похожий на промолчу салатовый, цвет, который пока соответствует Ширвану в игре. Он нас не устраивает, ибо сливается с соседними игровыми де-юре образованиями. Давайте изменим его.

Всё очень просто, пробуйте менять цифры, отвечающие за составляющие RGB-кода, в окне смены палитры Paint и остановитесь на приемлемом цвете, опираясь в своём выборе на окно предпросмотра и здравый смысл. Можно "тыкать" мышкой прямо в верхее окно палитры, система сразу выдаст результат.

Я остановился на чём-то сиреневеньком, что даст контрастный цвет со всеми окружающими Ширван образованиями. Запоминаю/записываю цифры кода и забиваю их в 1landed_titles.txt в поле, определяющее цвет герцогства Ширван.

d_shirvan = {
      color={ 126 109 146 }
Далее.

Ищем k_shirvan = { и определяем королевству тот же цвет:

k_shirvan = {
      color={ 126 109 146 }
Вспоминаем, что хотели поменять цвет и герцогству Картли.

Ищем в 1landed_titles.txt строку d_kartli = {.

Работая по аналогии, подбираем цвет. Я подобрал что-то близкое к чёрно-коричневому.

d_kartli = {
      color={ 98 67 66 }
Сохраняем изменения и закрываем 1landed_titles.txt   . Запускаем игру. Любуемся результатом.

Оффлайн Адмирал

  • Модератор
  • Новичок
  • ******
  • Сообщений: 72
  • Репутация +1/-0
  • Стратег
    • Просмотр профиля
Re: Азбука мододела
« Ответ #6 : 10 Июль 2018, 20:58:42 »
Реализация идей.

Разблокируем возможность "листать" стартовую дату с 867-ого года

Модификация элементарнейшая, однако.

Первым делом идём в корневую папку игры по адресу C:\Program Files\Crusader Kings II\common. Ищем там файл defines.txt и копируем его в папку с нашей модификацией по аналогичному пути \Documents\Paradox Interactive\Crusader Kings II\mod\ravings_of_a_madman\common. Будьте внимательны.

Можно закрыть корневую папку, она нам более не нужна. Откройте файл defines.txt в папке с модом. Наблюдаем код:

start_date = 1066.9.15
last_start_date = 1337.1.1
end_date = 1453.1.1

character = {
}

diplomacy = {
}

economy = {
}

military = {
}
Файл не богат на информацию. Нас же интересует лишь первая строчка. Как видите,

start_date = 1066.9.15.

Но мы ведь помним, что игра в "Старых богах" начинается "немного" раньше? Как же так? Объяснение простое - хитрость парадоксов, не пожелавших прописать историю всех титулов на всём протяжении с 867 года. А сам 867 год запускается в игре лишь при помощи специального сценария. В одном из следующих мини-уроков, я расскажу как их создавать.

И вот тут возникает однако, о котором я упомянул.

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

Однако, начав очень близко к дате, где есть эти "серые куски карты", вы рискуете потерять свою игру, вследствие вылета игрового клиента, ибо получаем конфликт в базе данных - Игровая механика требует владетеля для каждого владения на игровой карте, но "серые куски" этих данных не содержат, система "сходит с ума" и выкидывает вас на игровой стол.

Впрочем, этого может и не произойти - система при запуске даст "пустым" территориям владетелей, но целостность мира всё равно будет нарушена. Владетели будут изначально простыми графами без сеньоров друг от друга независимыми там, где всего год назад могла существовать сильная империя.

Лично я использую возможность прокрутки дат на участке с 867 по 1066 года в основном для теста внесённых изменений на карте выбора династии ( первый экран). Адекватная игра, соответствующая историческим реалиям, при выборе даты в этом интервале не гарантирована без масштабной правки истории всех "пустых" игровых титулов. Вот такое "однако".

Впрочем, на свой страх и риск, ничто не помешает вам выбрать любую страну допустим в 905-ом году, после внесения минимального изменения в defines.txt. Итак, изменяем стартовую дату, внося изменения лишь в первую строчку файла:

start_date = 867.1.1
last_start_date = 1337.1.1
end_date = 1453.1.1

character = {
}

diplomacy = {
}

economy = {
}

military = {
}
Сохраняем файл в папке с модификацией.

Теперь возможность прокрутки стартовой даты активирована. Попробуйте запустить игру и изменить стартовую дату, наблюдая за политической картой Европы с высоты птичьего полёта. Уже на 876-ом году я нашёл первые "серые" не выделяемые владения:

6941501.jpg
При старте в эту дату вылета не происходит ( А-а-аллилуйя!), система даёт "пустым" территориям полностью рандомных ( выбранных/сгенерированных случайным образом) независимых ни от кого графов, что предотвращает подобный вылет, но не соответствует историческим реалиям.

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



 i    

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