Гайды по созданию модов для игры Hearts of Iron IV - Страница 2 - Учебники по моддингу - Strategium.ru Перейти к содержимому

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

Рекомендованные сообщения

kepke386

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

Предисловие

 

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

 

Необходимый софт

 

Для комфортного и правильного написания кода ивента, я рекомендую скачать бесплатную программу Notepad++. Она поддерживает смену кодировок, подсвечивает некоторые элементы структуры кода, в общем, необходимая программа для мододела.

 

Примечание: ссылки даны через сервис сокращения ссылок adfly. Если у вас включен adBlock или аналогичный блокировщик рекламы, могут возникнуть проблемы со скачиванием. Спасибо за понимание.

 

Notepad++

Спойлер

 

Если вы планируете добавлять свои картинки событий, их необходимо перевести в формат .dds (Direct Draw Image). Лучше всего с этим справляется бесплатная программа Paint.net.

 

Paint.net

Спойлер

 

На этом список необходимых программ закончен.

 

 

Начало

 

Для начала создаем мод (я думаю, все знают как это делается), затем заходим в папку мода (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

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

option = {
		name = raj.2.a # название опции (a, b, c, d...)
		retire_country_leader = yes # убрать текущего президента
		if = { # если
			limit = { is_in_faction_with = ENG } # условие - в альянсе с Англией
			ENG = { remove_from_faction = RAJ } # выйти из альянса
			ENG = { end_puppet = RAJ } # Индия перестает быть марионеткой Англии
		}
		set_politics = { 
			ruling_party = democratic # установить правящую партию - демократия
			elections_allowed = no # выборов нет
		}
		add_timed_idea = { idea = reign_of_terror days = 1337 } # добавить идею власть террора на 1337 дней
		ai_chance = { factor = 30 } # шанс выбора этой опции ИИ - 30 процентов
	}

	option = {
		name = raj.2.b # название опции
		start_civil_war = { # демократы начинаю гражданскую войну
			ideology = democratic
			size = 0.7 # размер войны - 70 процентов
		}
		start_civil_war = { # комми начинают гражданскую войну
			ideology = communism
			size = 0.2 # размер войны - 20 процентов
		}
		start_civil_war = {
			ideology = fascism
			size = 0.2
		}
		ai_chance = { factor = 70 } # шанс выбора этой опции ИИ - 70 процентов
	}

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

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

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

add_namespace = raj

country_event = {
	id = raj.2
	title = raj.2.t
	desc = raj.2.d
	picture = GFX_report_event_gathering_protest

	is_triggered_only = yes

	option = {
		name = raj.2.a
		retire_country_leader = yes
		if = {
			limit = { is_in_faction_with = ENG }
			ENG = { remove_from_faction = RAJ }
			ENG = { end_puppet = RAJ }
		}
		set_politics = {
			ruling_party = democratic
			elections_allowed = no
		}
		add_timed_idea = { idea = reign_of_terror days = 1337 }
		ai_chance = { factor = 30 }
	}

	option = {
		name = raj.2.b
		ai_chance = { factor = 0 }
		start_civil_war = {
			ideology = democratic
			size = 0.7
		}
		start_civil_war = {
			ideology = communism
			size = 0.2
		}
		start_civil_war = {
			ideology = fascism
			size = 0.2
		}
		ai_chance = { factor = 70 }
	}
}

Вот так. В следующем гайде поговорим о файлах локализации.


Закреплённые сообщения
Ярослав Офицеров

Народ , делаем с другом свой мод , нужна помощь. Как менять флаги гос-тв и портреты лидеров?


evgenlewandowskiy
1 час назад, Ярослав Офицеров сказал:

Народ , делаем с другом свой мод , нужна помощь. Как менять флаги гос-тв и портреты лидеров?

В папке с игрой найдите папку gfx. В ней есть папочка flags и  leaders, Собственно, в этой папке и должны быть все флаги гос-в и портреты лидеров. Вот там и заменяете

Флаги должны быть в формате tga, портреты лидеров в dds. Рисуйте их лучше фотошопом(всякие халтурки типо paint.net не оч)


Garbat_Garbaz

Народ, как сделать картинки для новостей?


Как сделать ивент у одной страны после выполнения фокуса у другой?

 

Допустим Греция забирает Кипр под свой контроль, и у Турции вылазит ивент на оккупацию острова (к примеру)


kepke386
2 минуты назад, Tenzero сказал:

Как сделать ивент у одной страны после выполнения фокуса у другой?

 

Допустим Греция забирает Кипр под свой контроль, и у Турции вылазит ивент на оккупацию острова (к примеру)

Вот:

focus = {
		id = НАЗВАНИЕ ФОКУСА
		icon = КАРТИНКА
		prerequisite = { focus = ПРЕДЫДУЩИЙ ФОКУС }
		available = {
			AND = {
				NOT = { has_war_with = TUR } #доступен если нет войны с Турцией
			}
		}
		bypass = { NOT = { country_exists = TUR } } #пропустить фокус если Турция не существует
		x = 15 #координаты
		y = 6
		cost = 10 #стоимость
		completion_reward = { #после выполнения
			TUR = { #в Турции
				country_event = { id = НАЗВАНИЕ СОБЫТИЯ (например, greece.1 } #происходит событие
			}
		}
	}

Потом создаете ивент и пишете в нем что надо.


brogov1976

Я так и не понял как ставить тригер

 


стекорус

А как сделать мод на войну по типу там 1 января 1936 германия объявляет войну россии?


как передать стейт другой стране через события и как объевить войну другой стране


Актуально?


Mr_Makyta

А как сделать выполнение фокуса после ивента? 


Китайчик

А что если пишет абсолютно всегда когда делаю моды то что системе не удается найти указанный путь, и даже самый простой код не работает


2 часа назад, Китайчик сказал:

А что если пишет абсолютно всегда когда делаю моды то что системе не удается найти указанный путь, и даже самый простой код не работает

Вероятно, нужно как обычно бороться с кириллицей в путях к файлам.


Китайчик
4 часа назад, GBV сказал:

Вероятно, нужно как обычно бороться с кириллицей в путях к файлам.

Я уже всю кириллицу убрал, или мне нужно даже "Мой компьютер" и диск мой даже нужно на кириллицу?


Китайчик

Я вроде бы исправил, но новая ошибка, путь в этом дескриптном файле неправильный или отсутсвует

 


У меня вот баг у меня новые советники на страну не аанилние но когда я нанимаю любого нового советника все другие пропадают до момента того как я его уволю


Присоединиться к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   You cannot paste images directly. Upload or insert images from URL.

  • Ответы 34
  • Создано
  • Последний ответ
  • Просмотры 20626

Лучшие авторы в этой теме

  • kepke386

    7

  • Дагон

    4

  • Китайчик

    3

  • GeneralM

    2

  • mandrivnyk133

    2

  • GUNN

    1

  • Robert_Edward_Lee

    1

  • Garbat_Garbaz

    1

  • Sir.Rumata

    1

  • historian06

    1

  • Zhilkin

    1

  • Ярослав Офицеров

    1

  • evgenlewandowskiy

    1

  • yargont

    1

  • Tenzero

    1

  • GBV

    1

  • Mr_Makyta

    1

  • brogov1976

    1

  • стекорус

    1

  • urittney

    1

  • _Alka_

    1

  • naxpqk

    1

Лучшие авторы в этой теме

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу


admin@strategium.ru

Copyright © 2008-2025 Strategium.ru Powered by Invision Community

×
×
  • Создать...