Сообщество Империал: Гайды по созданию модов для игры Hearts of Iron IV - Сообщество Империал

Стратегии, Игровые Миры, История, Total War


Imperial
Империал
Империал
Rup.

Гайды по созданию модов для игры Hearts of Iron IV

Гайды по созданию модов для игры Hearts of Iron IV
Тема создана: 28 августа 2016, 00:08 · Автор: Rup.
СОХРАНИТЬ ИНФОРМАЦИЮ
Сообщений: 9 · Просмотров: 8 716
П Последний Римлянин
 Rup.
  • Imperial
Imperial
Hexenjäger
7 266
139
699
13 612
10

Дата: 28 августа 2016, 00:10

Приобрести Hearts of Iron IV со значительной скидкой у официального партнёра Империала магазина Zaka-Zaka
Здесь будут публиковаться материалы за авторством kepke386 по созданию модов для Hearts of Iron IV.


Внимание всем!
В этой теме публикуются ТОЛЬКО ГАЙДЫ по моддингу игры! Всё обсуждение - извольте писать в Для просмотра ссылки Зарегистрируйтесь.
Модератор оставляет за собой право переносить и/или удалять комментарии, не относящиеся к гайдам по моддингу.
     Rup.
    • Imperial
    Imperial
    Hexenjäger
    7 266
    139
    699
    13 612
    10

    Дата: 28 августа 2016, 00:08

    Часть I. Создание ивента (события).

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

    Необходимый софт
    Для комфортного и правильного написания кода ивента, я рекомендую скачать бесплатную программу Для просмотра ссылки Зарегистрируйтесь. Она поддерживает смену кодировок, подсвечивает некоторые элементы структуры кода, в общем, необходимая программа для мододела.
    Если вы планируете добавлять свои картинки событий, их необходимо перевести в формат .dds (Direct Draw Image). Лучше всего с этим справляется бесплатная программа Для просмотра ссылки Зарегистрируйтесь.
    На этом список необходимых программ закончен.

    Начало.
    Для начала создаем мод (я думаю, все знают как это делается), затем заходим в папку мода (C:\users\user\Documents\Paradox Interactive\mod\%имя мода%) и создаем папку events в корне каталога. Затем создаем пустой текстовый файл с названием, в котором первое слово это тег страны события маленькими буквами, затем нижнее подчеркивание, затем название вашей страны. Пример: ger_Germany, sov_SovietUnion.

    Заходим в созданный нами файл. Добавляем в самом начале переменную, отвечающую за обнаружение игрой этого файла в дальнейшем:
    add_namespace = raj

    Я использую исходники моего мода (Extended Asia mod), поэтому у меня в переменной прописано raj. Вы же прописываете тег вашей страны малыми буквами. Пример - ger, sov, rus, usa.

    Затем копируем и вставляем туда структуру ивента:

    country_event = {
    id =
    title =
    desc =
    picture =

    option = {
    name =
    }
    }

    В данном коде country event обозначает начало и конец ивента, id - номер ивента, title - название, desc - описание, picture - картинка ивента, option - вариант ответа на ивент.

    Прописываем номер, название, описание ивента:
    id = raj.1
    title = raj.1.t
    desc = raj.1.d

    Первый ивент всегда имеет номер 1, а название и описание - это приставка к номеру (t или d). Не прописывайте название ивента словами - оно указывается в файлах локализации!

    Теперь добавляем картинку события. Открываем папку с игрой (место, куда вы ее установили), заходим в папку gfx\event_pictures и выбираем нужную вам картинку с помощью Paint.net. Затем копируем ее название, открываем файла ивента и записываем в строку picture такой код:
    picture = GFX_report_event_gathering_protest

    где picture = GFX_ это обязательная часть кода, а следующее за ней предложение - название вашей картинки.

    Если же вам не нравится данные парадоксами картики ивентов, вы вполне можете добавить свою. Для этого создаем в корне мода папку gfx, в ней папку event_pictures, затем копируем в нее любую понравившуюся из файлов игры картинку ивента и меняем в ней изображение на свое. Также необходимо ее переименовать - например, report_event_test_event1. Теперь заходим в файл ивента и пишем там следующее:
    picture = gfx/event_pictures/название файла картинки.dds

    Теперь добавим опцию, или вариант ответа на ивент. Допустим, этот ивент отвечает за независимость Индии от англичан. В нем должно быть два варианта ответа - либо смена правительства, либо гражданская война. Вот как это выглядит в коде:
    Спойлер (раскрыть)

    Все предельно просто. Осталось только добавит условие срабатывания события. Делается это через команду trigger:

    trigger = { # триггер
    tag = RAJ # страна - Индия
    date > 1941.2.1 # дата после 1 февраля сорок первого
    has_government = neutrality # правящие люди - нейтралитеты
    }

    Триггер вставляется перед опцией. Вот так выглядит весь код:
    Спойлер (раскрыть)

    Вот так. В следующем гайде поговорим о файлах локализации.
       Rup.
      • Imperial
      Imperial
      Hexenjäger
      7 266
      139
      699
      13 612
      10

      Дата: 28 августа 2016, 00:23

      Часть II. Локализация ивента (события).

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

      Начало.
      Для начала нам нужно зайти в папку с модом, созданным ранее, и создать в корне каталога (Hearts of Iron IV/mod/название) папку с названием localisation. В ней создаем пустой текстовый файл под именем event_stuff_l_russian, где вместо event_stuff может быть что угодно, главное сохранить последующие за ним слова.

      Как видно по названию, этот файл отвечает за локализацию на русский язык. Если вы собираетесь делать перевод на английский или немецкий, в названии файла необходимо заменить слово russian на deutsch или english.

      Открываем файл. В самом начале вписываем следующее для русской локализации:
      l_russian: #русская локализация

      Примечание: текст после символа # является комментарием к коду и служит для пояснения элементов программы. Он не влияет ни на что.

      После этого начинаем вписывать названия (id) событий таким образом:

      l_russian:
      raj.1.t:0 "Название"
      raj.1.d:0 "Описание"
      raj.1.a:0 "Первый вариант ответа"
      raj.1.b:0 "Вторй вариант ответа"
      raj.2.t:0 "Название"
      raj.2.d:0 "Описание"
      raj.2.a:0 "Вариант ответа"
      raj.2.b:0 "Вариант ответа"

      Как видите, все предельно просто. Мы вписываем сюда id события, все его описания, варианты и т. д, ставим после этого двоеточие и ноль, затем кавычки. В них уже пишется локализация. Еще один пример из моего мода:

      raj.1.t:0 "Освободительное движение"
      raj.1.d:0 "Люди выходят на улицу с требованием отставки президента и конца колониальной диктатуры Индии. Они угрожают нам гражданской войной."
      raj.1.a:0 "Индия - часть Великобритании."
      raj.1.b:0 "Убить всех заговорщиков."
      raj.2.t:0 "Революция начинается."
      raj.2.d:0 "Люди все больше угрожают нам гражданской войной. Может, стоит договориться?"
      raj.2.a:0 "Да здравствует новый порядок!"
      raj.2.b:0 "Заручимся поддержкой Британии."

      Если в ивенте одна опция (вариант ответа) - писать локализацию на вторую не требуется, достаточно написать лишь на опцию а. Аналогично и с большим кол-вом опций - для трех опций достаточно просто добавить строчку с буквой с.

      В следующем выпуске гайдов поговорим о классах (командах) в Paradox Script, которые позволяют менять игру полностью. (например: класс set_politics устанавливает политические значения, а класс start_civil_war начинает гражданскую войну).
         Tempest
        • Imperial
        Imperial
        Прокрастинатор
        9 519
        180
        798
        13 303
        229

        Дата: 28 августа 2016, 00:27

        Про логические элементы (or, and и т.д.), не сказано, непорядок
           Rup.
          • Imperial
          Imperial
          Hexenjäger
          7 266
          139
          699
          13 612
          10

          Дата: 30 августа 2016, 19:16

          Небольшое дополнение, как привязать ивент к определённой дате:
          [html]country_event = { id = raj.1 #ID title = raj.1.t #Название desc = raj.1.d #Описание picture = GFX_report_event_gathering_protest #Картинка fire_only_once = yes #Вылезает только один раз (важно!) trigger = { #УСЛОВИЯ ДЛЯ ПОЯВЛЕНИЯ tag = RAJ #Страна - Бритаская Индия date > 1941.2.1 #Дата позже первого февраля сорок первого года } mean_time_to_happen = { #Время после срабатывания условия до выполнения ивента days = 14 #Четырнадцать дней } option = { #Вариант ответа name = raj.1.a } }[/html]
             Rup.
            • Imperial
            Imperial
            Hexenjäger
            7 266
            139
            699
            13 612
            10

            Дата: 02 сентября 2016, 15:36

            Часть III. Часто задаваемые вопросы.

            Q: Как добавить свою музыку в игру?
            A: Открываем папку с вашим модом, создаем в корне папку music. В ней создаем два файла: файл music1.txt и файл music1.asset. Обратите внимание на расширения файлов: у первого расширение txt, а у второго - asset. Это очень важно.
            Теперь берем музыку, которую мы хотим добавить и конвертируем ее в формат .ogg. Это можно сделать здесь: Для просмотра ссылки Зарегистрируйтесь
            Теперь, после конвертации, кидаем музыку в папку с музыкой, созданной нами в самом начале. Название файла не имеет значения.
            Открываем файл music.asset. Вписываем для каждой музыки следующее:
            [html]music = { name = "CHI1" file = "CHI1.ogg" volume = 0.65 }[/html]
            Первый параметр - имя композиции, второй - название файла с ней, третий - громкость.

            Теперь открываем файл music.txt и пишем в нем следующее:
            [html]music = { song = "CHI1" #Название композиции (указывается в music1.asset) chance = { factor = 2 #Шанс ее проигрывания - 2 modifier = { #Модификатор вероятности factor=0 #Шанс ее проигрывания - 0 NOT = { OR = { tag = CHI #Если страна - не Китай } } } } }[/html]


            Q: Я перевел названия стран/партий/чего нибудь на русский язык, но у меня в игре вместо них непонятные знаки. Что делать?
            A: Проблема в неправильной кодировке файла локализации. Открываем его при помощи Notepad++, затем нажимаем Кодировки-Преобразовать в UTF8.


            Q: Как добавить свой национальный дух?
            A: Создаем в папке с модом папку common, в этой папке папку ideas, в идеях в свою очередь создаём текстовый файл с любым названием, в нем пишем следующее:
            [html]ideas = { country = { RAJ_communism_focus = { #Название идеи picture = home_of_revolution #Картинка removal_cost = -1 allowed = { always = no} #Разрешен к добавлению при условии (в данном коде нет условий, но они могут быть) modifier = { #Что дает нац.дух communism_drift = 0.1 #Продвижение к коммунизму на 0.1 } } } }[/html]
            И меняем этот код под свой.
            Вызывается идея такой командой:
            add_ideas = НАЗВАНИЕ НАЦИОНАЛЬНОГО ДУХА

            через фокус или событие.
            Q: Какая команда начинает гражданскую войну в стране через ивент?
            A: В файле ивента пишем такую команду:
            [html]start_civil_war = { #Начать гражданскую войну ideology = democratic #Демократическую size = 0.7 #С размером в 70% }[/html]
            Если вам надо начать войну, к примеру, в СССР, команда будет выглядеть так:
            [html]SOV = { start_civil_war = { ideology = democratic size = 0.7 } }[/html]
            Q: Какая команда нужна для заключения мира между странами?
            A:
            [html]RAJ = { #Тэг первой страны white_peace = ENG #Тэг вторй страны }[/html]
               Вадим_Оришин
              • Imperial
              Imperial
              Форумчанин
              9
              0
              0
              1
              0

              Дата: 31 декабря 2019, 18:49

              Подскажите. Создал свою картинку (разрешение 64х64) в формате .dds, закинул в папку \gfx\interface\ideas, создал в идеях танковую мануфактуру. Как привязать картинку к идее? Пробовал через "picture = ", работают только стандартные из папки с игрой. Имя мануфактуры и картинки совпадает.

              Не актуально, уже разобрался.
                 Thief2125
                • Imperial
                Imperial
                Форумчанин
                2 774
                91
                202
                2 824
                2

                Дата: 27 февраля 2020, 08:16

                Материальчик то планируется продолжать?
                   KaiserMen
                  • Imperial
                  Imperial
                  Форумчанин
                  143
                  5
                  7
                  76
                  0

                  Дата: 27 февраля 2020, 23:16

                  Thief2125

                  Материальчик то планируется продолжать?

                  А где можно связаться с автором kepke386?
                     Remastered
                    • Imperial
                    Imperial
                    Форумчанин
                    117
                    1
                    5
                    47
                    0

                    Дата: 07 марта 2020, 02:23

                    KaiserMen

                    А где можно связаться с автором kepke386?

                    Вконтакте поищите его.
                      Рыцари Девяти: Откровение
                      Дата: 26 сен 2020, 14:03
                      The Necromancer / Некромант
                      Дата: 26 сен 2020, 13:57
                      Город Ночи. Возрождение Тёмного Братства
                      Дата: 26 сен 2020, 11:55
                      Двемерское искусство: Пустыня Алик'р
                      Дата: 26 сен 2020, 10:39
                      Пиратские острова / The Pirate Isles
                      Дата: 25 сен 2020, 19:15
                      Elsweyr the Deserts of Anequina
                      Дата: 25 сен 2020, 19:04
                      The Town Of Bartholm
                      Дата: 25 сен 2020, 18:59
                      Поселение Фросткрег
                      Дата: 25 сен 2020, 18:22
                      The History of Ages
                      Дата: 25 сен 2020, 18:11
                      Размещаемые кемперы / Placeable Camper
                      Дата: 24 сен 2020, 16:57
                      PAUG 2112 УРАЛ
                      Дата: 23 сен 2020, 16:37
                      PAUG 2112 Соловки
                      Дата: 23 сен 2020, 16:33
                      PAUG 2112 Ленинград
                      Дата: 23 сен 2020, 16:00
                      PAUG Советский союз Пролог
                      Дата: 23 сен 2020, 15:57
                      "Команда корабля Дзета" для SFW
                      Дата: 22 сен 2020, 16:14
                      "Возвращение в Убежище 101" для SFW
                      Дата: 22 сен 2020, 16:09
                      Сон Охотника | [full_inu] Hunter's Dream
                      Дата: 18 сен 2020, 17:52
                      Third Age: Reforged
                      Дата: 18 сен 2020, 17:32
                      [Саб Мод] Fire and Blood
                      Дата: 18 сен 2020, 17:15
                      Falcom Total War: 1518 Age of Discovery
                      Дата: 18 сен 2020, 17:09
                      Fallout 3 Forgotten Forpost
                      Дата: 18 сен 2020, 16:55
                      Anchorage - Reinforced Special edition. Final
                      Дата: 18 сен 2020, 16:49
                      Ассасин
                      Дата: 18 сен 2020, 16:45
                      Alton IL - Huge World and Quest Mod
                      Дата: 18 сен 2020, 16:41
                      ResmodAlternative
                      Дата: 18 сен 2020, 16:26
                      A Forest | Лес
                      Дата: 18 сен 2020, 16:20
                      Desperados Overhaul | Десперадо - ландшафт и флора
                      Дата: 18 сен 2020, 16:18
                      NTDF-RU (Crusader Kings III)
                      Дата: 18 сен 2020, 02:35
                      Сильвия Флэйм
                      Дата: 17 сен 2020, 20:54
                      Активируйте водяные насосы (переработка) / Activate the Water Pumps - Redone
                      Дата: 17 сен 2020, 19:39
                      Остров - Северная территория
                      Дата: 17 сен 2020, 18:17
                      Vurts Wasteland Flora Overhaul
                      Дата: 17 сен 2020, 18:04
                      Immersive Fort Dawnguard | Иммерсивный Форт Стражи Рассвета
                      Дата: 17 сен 2020, 17:32
                      SavrenX HD 1K Buildings and Interior
                      Дата: 17 сен 2020, 17:28
                      SavrenX Weapon HD DLC | Оружие в HD качестве
                      Дата: 17 сен 2020, 15:50
                      Бункер Серебряный Пик
                      Дата: 17 сен 2020, 12:57
                      Quest for Heaven - Combo Edition
                      Дата: 17 сен 2020, 10:51
                      TSC Expansion
                      Дата: 16 сен 2020, 21:25
                      MZC - Fort Hope
                      Дата: 16 сен 2020, 21:21
                      Остров - Северная территория HD
                      Дата: 16 сен 2020, 13:03
                      A Quest for Heaven 3 - Deep Blue: Retexture
                      Дата: 16 сен 2020, 13:00
                      DC Interiors HD Retexture
                      Дата: 16 сен 2020, 12:56
                      DLC Broken Steel ReTexture
                      Дата: 16 сен 2020, 12:53
                      DLC Point Lookout ReTexture
                      Дата: 16 сен 2020, 12:40
                      DLC Operation: Anchorage ReTexture
                      Дата: 16 сен 2020, 12:36
                      DLC The Pitt ReTexture
                      Дата: 16 сен 2020, 12:32
                      Alton IL HD Retexture
                      Дата: 16 сен 2020, 12:08
                      DLC Mothership Zeta ReTexture
                      Дата: 16 сен 2020, 12:01
                      The Librarian - Orion's Gate (Библиотекарь-Врата Ориона)
                      Дата: 16 сен 2020, 11:56
                      Путешествие в довоенный Сэнкчуари / Visit Prewar Sanctuary and Red Rocket
                      Дата: 16 сен 2020, 11:49
                      У тебя есть вопрос или предложение по этой теме? Или хочешь высказать свою точку зрения?
                      Тогда просто нажми ниже на любую кнопку своей социальной сети и сделай это!

                      [ Регистрация ]Для скрытия рекламы, зарегистрируйтесь на форуме[ Вход на форум
                      © 2020 «Империал» · Условия использования · Ответственность · Визитка Сообщества · 28 сен 2020, 12:16 · Счётчики