Создание собственных Супер ивентов

Hearts of Iron IV595 views27 favorites5 min readby MotLuk211View on Steam ↗

Заглавие

Привет друзья, думаю многие из вас играли в такие моды как The Fire Rises, East Showdown и Соединённые Штаты Сибири и многие из вас ловят приход от суперивентов, тут я вас научу делать свои супервиенты в моде. Кипятите себе формальдегид, мы начинаем

Кто такие эти ваши суперивенты

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

Понятия не имею из какого мода, но суть та же

Процесс мододелания

В целом, сама работа довольно простая, всего лишь надо будет скачать этот мод и приготовиться к работе с файлами.
А для тех кто делает моды регулярно думаю это вообще будет крайне легко, хотя уверен что даже новички могут справиться, если будут иметь относительно прямые руки
ЧТО ВАМ ПОНАДОБИТСЯ

  1. Картинка .dds размером 882х500
  2. Ну очень крутая цитата
  3. Этот мод, если вы его ещё по какой то причине не скачали
  4. Музыка
    (Для первого раза рекомендую не пытаться что то изменить, а хотя бы интегрировать ивенты в ваш мод, учтите, что тут не будет урока как работать с spriteType и т.п., однако если захотите - возможно сделаю)

Когда вы скачали мод, вы видите перед собой несколько прикольных смешных папок: common, gfx и interface. По факту то, я бы мог вам сказать просто закинуть их в ваш мод и отдыхать, но дам более подробную инструкцию для кастомизации.

Кто не знает, мод будет лежать в \SteamLibrary\steamapps\workshop\content\394360
Там вы и найдёте эти 3 чудесных папки, для начала запустите сам мод/вставьте папки в свой мод, для проверки работоспособности. Вот вам пошаговая инструкция

  1. Запускаете игру с этим модом/вашим модом (если таков есть)
  2. Заходите за Германию и запускаете время
  3. Готово
    Если вам высветился суперивент про Геленджик - поздравляю вас, вы готовы к редактированию! Вот то что вам надо знать.

Откроем common/scripted_guis/superevent_gelendzhik_unite.txt. Там вас встретит:

scripted_gui = {
superevent_gui = {
window_name = "superevent_gelendzhik_unite_window"
context_type = player_context

visible = {
NOT = {
has_country_flag = gelendzhik_unite_flag_NOT_visible
}
original_tag = GER
is_ai = no
}

effects = {
button_text_exit_click = {
set_country_flag = gelendzhik_unite_flag_NOT_visible
}
}
}
}

Этот файл отвечает за отображение ивента, ивент указан в строке:
window_name = "superevent_gelendzhik_unite_window"

Этот файл вы будете копировать, менять название и тег отображения ивента (где написан тег ивента - покажу позже)
Немало важно знать и раздел visible и effects
visible = { ... } отвечает за видимость ивента (англичанам привет), то есть при каких условиях этот ивент у вас отобразится, тут стоят 2 параметра которые вы будете менять, и тот, который не стоит менять

  1. NOT = {
    has_country_flag = gelendzhik_unite_flag_NOT_visible
    }
    Дословно - НЕ имеет параметра страны gelendzhik_unite_flag_NOT_visible
    Если вы имеете этот параметр, ивент никогда больше не отобразится
  2. original_tag = GER
    Этот триггер отвечает за то, что вам будет показан ивент только если вы играете за Германию (триггер можно менять, например можно сделать триггер на войну между странами, как реализовано в East Showdown)
  3. is_ai = no
    Не рекомендую это менять, этот триггер проверяет, а не сидит ли на вашей стране бот? Это сделано для сохранения производительности, допустим если суперивент будет у всех стран, боты его не увидят (а иначе была бы сильная нагрузка и даже возможно вылет)

А что такое effects? Это эффект который будет вам выдан, если вы нажмёте на кнопку закрытия ивента, в нашем случае мы присваиваем параметр, чтобы суперивент больше не отображался, там нужно обязательно ставить тот же параметр, какой стоит в visible, иначе баги практически гарантированы

Перейдём в папку interface - файл superevent_gelendzhik_unite.gui
Этот файл уже очень важен, отвечает за отображение самого ивента и предметов в нём
Просьба особенно к новичкам: не трогать то, что не надо, практически всегда даже случайное вмешательство ломает мод, а иногда и крашит игру!

Этот файл вы тоже будете копировать по несколько раз для создания новых ивентов
Вот что тут важнее всего:

  1. На третьей строчке у вас есть:
    name = "superevent_gelendzhik_unite_window"
    Это и есть тот самый тег суперивента для вписывания в файлы в папке scripted_guis (вы помните, что для каждого ивента свой файл), этот тег можно менять и подстраивать под себя, чтобы вы понимали, что это за ивент
  2. Далее у вас идёт код дальше, я отмечу вам что отвечает за что либо
    iconType ={
    name ="pol_view_bg"
    spriteType = "GFX_superevent_gelenzhik_unite" --- Сюда пишите GFX тег картинки
    position = { x = 20.5 y = 50 }
    Orientation = "centre"
    }

instantTextBoxType = {
name = "speech_text"
position = { x = 615 y = 435}
orientation = "LOWER_RIGHT"
font = "hoi_36header"
maxWidth = 290
maxHeight = 36
vertical_alignment = center
text = "«Если у русских останется только один хутор, то и тогда Россия возродится.»" --- Сюда пишите свою цитату
}
instantTextBoxType = {
name = "speech_author"
position = { x = 680 y = 490}
orientation = "LOWER_RIGHT"
font = "hoi_36header"
maxWidth = 210
maxHeight = 36
vertical_alignment = center
format = right
text = "- Н. В. Гоголь" --- Сюда пишите автора цитаты
}
buttonType = {
name = "button_text_exit"
position = { x = 376 y = 530 }
quadTextureSprite = "GFX_button_261x34"
buttonText = "Империя расширяется.." --- Сюда пишите текст с кнопки
buttonFont = "hoi_16mbs"
Orientation = "LOWER_RIGHT"
}

iconType ={
name ="title_event"
spriteType = "GFX_superevent_title"
position = { x = 110 y = -30 }
Orientation = "centre"
}
instantTextBoxType = {
name = "title_event_text"
position = { x = 330 y = -5 }
orientation = "LOWER_RIGHT"
font = "hoi_36header"
maxWidth = 440
maxHeight = 36
vertical_alignment = center
text = "Геленджик объединяет юг" --- Сюда пишите заголовок суперивента
}

Обратите внимание, иногда текст может смещаться если недостаточно большой, поэтому можете менять значения position = { x = число y = число }

  1. GFX теги вписываете в superevents.gfx, но там легко разобраться уже самим:
    name это название текстурки
    texturefile это путь к файлу текстурки

Что то ещё?

Я рассказал о всём что необходимо знать, но могу сказать ещё в дополнение:
Картинки следует хранить в gfx/interface (НЕ ПУТАТЬ С interface В ОСНОВНОЙ ПАПКЕ!). Творите, придумывайте, создавайте. Я свой долг выполнил, теперь дело за вами. Возникнут вопросы? Пишите в комментариях, постараюсь всем ответить.
Всё, всем пока, меня в дурку увозят

This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.