创建国家:修订间差异

本页面所适用的版本可能已经过时,最后更新于1.8
无编辑摘要
(修改了一些看不懂的地方,翻译增加了些内容)
第1行: 第1行:
{{Version|1.8}}
{{Version|1.8}}
 这个页 你掌握 [[Mod_structure|创建一个模组]]的基本知识。 该页面主要聚焦于帮助模组作者更好地理解如何在某些特定方面编辑一个
 这个 包括了 已经 掌握 基础的[[Mod_structure|创建一个模组]]的基本知识 ,就可以学习接下来的进阶内容


== 快速 检查单 ==
== 快速 制作 ==
{{SVersion|1.8}}
{{SVersion|1.8}}
 如果你想在模组中创建一个新国家,可以参考以下快速 检查单
 如果你想在模组中创建一个新国家,可以参考以下快速 制作教程
*定义一个独一无二的三字符国家tag。
*定义一个独一无二的三 英文 字符国家tag。
*在''<yourmod>/common/countries''中新建文件。
*在''< 你的模组>/common/countries''中新建文件。
*在''<yourmod>/history/countries''中新建文件。
*在''< 你的模组>/history/countries''中新建文件。
*在''<yourmod>/localisations''中增加本地化。
*在''< 你的模组>/localisations''中增加本地化。
*在''<yourmod>/gfx/flags''中为每一种意识形态添加一个大,中,小号的旗帜。
*在''< 你的模组>/gfx/flags''中为每一种意识形态添加一个大,中,小号的旗帜。
*可选:在''<yourmod>/history/units''中创建OOB文件。
*可选:在''< 你的模组>/history/units''中创建OOB文件。
*可选:把国家加入到游戏中。
*可选:把国家加入到游戏中。


== 国 家tag ==
== 国 家标签——tag ==
{{SVersion|Timeless}}
{{SVersion|Timeless}}
 每个国家都要一个三 英文字符的tag, 这是在 游戏 所有文件 中指 国家的 方式 。所有国家的TAG都得是独一无二的. 任何国家都不能跟别的国家有一样的TAG
 每个国家都要一个三英文字符的tag,这是 模组 唯一 国家的 内容 。所有国家的TAG都得是独一无二的 并且为三个大写英文字母. 任何国家都不能跟别的国家有一样的TAG


 要建立一个新TAG,就往''<yourmod>/common/country_tags'' (或者把原有的文件改了)添加新信息并且再写上像这样的东西:
 要建立一个新TAG,就往''< 你的模组>/common/country_tags'' (或者把原有的文件改了)添加新信息并且再写上像这样的东西:
  SCO = "countries/Scotland.txt"
  SCO = "countries/Scotland.txt"
where
如上所示。在这里,SCO的地方必须为三大写英文字母,而在后面的txt则可以是任意长度的大写小写,但不能有中文。
countries/Scotland.txt
 
 你想创建或者改动国家标签的文件位于''<yourmod>/common/countries''
 你想创建或者改动国家标签的文件位于''< 你的模组>/common/countries''


== 国家文件 ==
== 国家文件 ==
{{SVersion|1.8}}
{{SVersion|1.8}}


 在''<yourmod>/common/countries'' 文件夹中创建一个新的文件.建议复制一个 相似 的国家的文件来再改成你要的。
 在''< 你的模组>/common/countries'' 文件夹中创建一个新的文件.建议复制一个 原版中 的国家的文件来再改成你要的。


=== 单位 图像 ===
=== 单位 模型 ===


 在这里设置设置国家单位 图形 。比如苏格兰是:
 在这里设置设置国家单位 模型 。比如苏格兰是:


  graphical_culture = commonwealth_gfx
  graphical_culture = commonwealth_gfx
第43行: 第43行:
=== colors.txt ===
=== colors.txt ===


 确保国家颜色被写入了''<yourmod>/common/countries/colors.txt'':
 确保国家颜色被写入了''< 你的模组>/common/countries/colors.txt'':


  SCO = {
  SCO = {
第55行: 第55行:
{{SVersion|1.8}}
{{SVersion|1.8}}


 在 <yourmod>/history/countries 文件夹中创建该文件. 或者复制个 相似 国家的文件,重命名并更改。文件名应该是<该国tag - 该国名字>, 比如"SCO - Scotland".这个文件包含了该国家的历史以及默认属性
 在 < 你的模组>/history/countries> 文件夹中创建该文件. 或者复制个 原版中 国家的文件,重命名并更改 为你的 。文件名应该是<该国tag - 该国名字>, 比如"SCO - Scotland".这个文件包含了该国家的历史以及默认属性


===首都===
===首都===
第61行: 第61行:
  capital = 121
  capital = 121


===战斗 顺序===
===战斗 部署===
 这些文件会被链接到'Order of Battle' (OoB)记录了部队数量和位置、经验及装备状况, 还有开局国家拥有的空军联队。开始时的生产状况及部队编制也被记录在那儿。每个国家都需要链接到OoB, 不过如果那个国家将在之后被 释放 那么就别给他写OoB文件了
 这些文件会被链接到'Order of Battle' (OoB)记录了部队数量和位置、经验及装备状况, 还有开局国家拥有的空军联队。开始时的生产状况及部队编制也被记录在那儿。每个国家都需要链接到OoB, 不过如果那个国家将在之后被 吞并 那么就别给他写OoB文件了
  oob = "SCO_1936"
  oob = "SCO_1936"
 为了方便调用,海军通常被编入单独的OoB.另外,因为'炮手就位' DLC对海军改动很大,一个国家通常都有两个独立的海军OoB, 一个就是为了给那个DLC的, 另一个就是给没买那个DLC的人, 使用旧的海军系统(OOB通常以a _legacy为后缀区分)
 为了方便调用,海军通常被编入单独的OoB.另外,因为'炮手就位' DLC对海军改动很大,一个国家通常都有两个独立的海军OoB, 一个就是为了给那个DLC的, 另一个就是给没买那个DLC的人, 使用旧的海军系统(OOB通常以a _legacy为后缀区分)
第79行: 第79行:


===稳定度===
===稳定度===
 写入国家开局时的稳定度百分比。在游戏中会把文件中的数值×100,所以最大是1(游戏中为100)最小是0(游戏中为0)
 写入国家开局时的稳定度百分比。在游戏中会把文件中的数值×100,所以最大是1(游戏中为100)最小是0(游戏中为0) ,如下所示,现在在游戏中显示的稳定度为70%
  set_stability = 0.7
  set_stability = 0.7


===战争支持度===
===战争支持度===
 写入国家开局时的战争支持度百分比。在游戏中会把文件中的数值×100,所以最大是1(游戏中为100)最小是0(游戏中为0)
 写入国家开局时的战争支持度百分比。在游戏中会把文件中的数值×100,所以最大是1(游戏中为100)最小是0(游戏中为0) 。如下所示,现在游戏中显示的战争支持度为50%
  set_war_support = 0.5
  set_war_support = 0.5


第89行: 第89行:
 设置国家开局时的内阁 (民族精神 顾问 制造商和法案).这些东西的清单在 {{path|common/ideas}}<br>
 设置国家开局时的内阁 (民族精神 顾问 制造商和法案).这些东西的清单在 {{path|common/ideas}}<br>


 不过注意,你不 添加任何内阁. 国家开局时就是没有顾问,民用经济和志愿制兵役
 不过注意, 如果 你不添加任何内阁. 国家开局时就是没有顾问,民用经济和志愿制兵役
 这是个例子:
 这是个例子:
<pre>
<pre>
第101行: 第101行:
</pre>
</pre>
===科技===
===科技===
 这里写入国家开局时的科技等级。科技 清单 在 {{path|common/technologies}}.
 这里写入国家开局时的科技等级。科技 列表 在 {{path|common/technologies}}.
<pre>
<pre>
set_technology = {
set_technology = {
第149行: 第149行:
</pre>
</pre>
===其他(可选)===
===其他(可选)===
写入初始政治点数
''' 写入初始政治点数'''
<pre>
<pre>
add_political_power = 500
add_political_power = 500
</pre>
</pre>
写入初始运输船数量. 注意: 如果这在同一文件出现了数次会被叠加
''' 写入初始运输船数量'''
 
 注意: 如果这在同一文件出现了数次会被叠加
<pre>
<pre>
set_convoys = 100
set_convoys = 100
</pre>
</pre>
写入初始科研加成. Useful for example if you had to manually complete a complex National Focus that adds research bonus and effects had to be applied individually. 比如苏联的历史文件中就用了这:
''' 写入初始科研加成'''
 
有了这一行代码,可以让国家在开局时就默认有一个科研加成。 比如苏联的历史文件中就用了这:
<pre>
<pre>
add_tech_bonus = {
add_tech_bonus = {
第165行: 第169行:
}
}
</pre>
</pre>
  写入 战争 目标:
'''战争化借口:'''
 
  有了这行代码可以让当前国家在开局就有一个对某国的 战争 借口。
<pre>
<pre>
create_wargoal = {
create_wargoal = {
第173行: 第179行:
}
}
</pre>
</pre>
Country and global flags:
'''[[Cosmetic tag modding|国家标志]]''':
<pre>
set_global_flag = earhart_disappeared #Global flags can be placed in any country's file
set_country_flag = sudetenland_acquired #For Germany in 1939
</pre>


用于更加进阶的模组制作。可以用于开局就标志一个国家。
<pre>
<pre>
USA = { #country to which the event will happen
set_global_flag = earhart_disappeared
country_event = { id = usa.50 days = 2 } #triggers this event, 2 days from the start
set_country_flag = sudetenland_acquired
</pre>让一个国家毫无条件的触发新闻。<pre>
USA = {
country_event = { id = usa.50 days = 2 } #id为事件的id,days是多少天后触发
country_event = { id = usa.51 days = 2 }
country_event = { id = usa.51 days = 2 }
}
}
第191行: 第197行:
Modifiers have their effects defined in {{path|common/opinion_modifiers}}
Modifiers have their effects defined in {{path|common/opinion_modifiers}}
===外交===
===外交===
If the new country has any diplomatic relations, these can be declared here. It is recommended that one adds relations only in one file (not in both the faction leader's file and the minor ally's for instance).
如果一个国家在开局时就与别的国家有交流,那么在这里定义。建议一个定义内容只写在一个文件中。(比如阵营领导人只写在阵营领导人的文件里,阵营中的次要国家就不必要写了)


====阵营====
====阵营====
Factions are defined by adding the following line:
在国家文件中写下这行代码,将会让游戏一开始就有这个阵营,并且国家默认加入其中,是其成员。
  create_faction = Clanintern
  create_faction = Clanintern
The country that belongs to the file this line is in will take the role of faction leader.
在上一行的基础上,再加上这一行,则表示它是目前阵营的领导人。
Other countries may be added to the faction:
  add_to_faction = IRE
  add_to_faction = IRE
Puppets of members should always be added to the faction as well, to prevent bugs.
如果阵营中的某个国家有傀儡国,那也应该加入到阵营中,以防止不必要的bug。


====傀儡国====
====傀儡国====
Puppets are defined as follows if the player has the 'Together for Victory' Expansion:
如果玩家有“共同胜利”DLC,那么傀儡国的定义如下:
  set_autonomy = {
  set_autonomy = {
  target = ENG
  target = ENG
  autonomous_state = autonomy_integrated_puppet
  autonomous_state = autonomy_integrated_puppet
  }
  }
and as follows if they don't:
如果没有,则是如下:
  puppet = ENG
  puppet = ENG
In order to make the mod useable for both types of players an if-statement should be used:
为了使有DLC和没有DLC的玩家都可以正常使用,因此你可以使用if语句:
  if = {
  if = {
  limit = {
  limit = {
第222行: 第227行:
  }
  }
  }
  }
If the player has 'Together for Victory', Great Britain will be an integrated puppet, if not, they will be a regular (the only type of) puppet.
注意:puppet = ENG指的是当前国家的傀儡是ENG而并非是当前国家被ENG傀儡。
 
====其他外交行动====
====其他外交行动====
'''Guarantee Independence:'''<br>
''' 保证独立:'''<br> 这行代码可以让当前国家保证另一个国家的独立:
The country this file belongs to will guarantee the following TAG
<pre>
<pre>
give_guarantee = FRA
give_guarantee = FRA
</pre>
</pre>
'''Non-aggression Pact:'''
在这里你只需要修改FRA为任意国家TAG即可
 
''' 互不侵犯条约:'''
<pre>
<pre>
diplomatic_relation = { country = USA relation = non_aggression_pact }
diplomatic_relation = { country = USA relation = non_aggression_pact }
</pre>
</pre>
'''Starting trade:'''<br>
在这里你只需要修改USA为任意国家TAG即可。
The country this file belongs to will import preset amount of resource
 
''' 初始贸易:'''<br> 这行代码可以让国家开局就和任意国家进行贸易并添加资源。
<pre>
<pre>
create_import = {
create_import = {
第242行: 第250行:
}
}
</pre>
</pre>
'''Military access:'''
改变文件中的SWE可以改变贸易国家,改变factories后面的数字可以该表交易物品的数量(前提是那个国家要有这么多),改变resource后面的内容可以修改交易的物品。
 
''' 军事通行权:'''
 
这行代码可以让当前国家在开局就给目标国家军事通行权。
<pre>
<pre>
give_military_access = IRE
give_military_access = IRE
</pre>
</pre> 改变IRE就可以了。
 
====科技共享====
====科技共享====
If the player has 'Together for Victory' one can add the country to a tech sharing group:
If the player has 'Together for Victory' one can add the country to a tech sharing group:
  add_to_tech_sharing_group = haggis_investigators
  add_to_tech_sharing_group = haggis_investigators
An if-statement as shown above will be required to limit it to 'Together for Victory' owners and to prevent bugs with those that don't own it.
An if-statement as shown above will be required to limit it to 'Together for Victory' owners and to prevent bugs with those that don't own it.
<nowiki>#</nowiki>目前这行代码并不完整,不推荐使用。


===设定党派支持度===
===设定党派支持度===
Defines the popularity of different parties in the country:
定义当前国家不同意识形态党派的支持率:
<pre>
<pre>
set_popularities = {
set_popularities = {
第260行: 第275行:
neutrality = 5
neutrality = 5
}
}
</pre>
</pre> 你可以添加或删减任何意识形态,但是其总支持率必须要等于100.
 
===设定政治===
===设定政治===
Defines the ruling party and how elections work in a country:
定义当前国家的执政党和大选。
<pre>
<pre>
set_politics = {
set_politics = {
ruling_party = communism
ruling_party = communism #执政党的意识形态
last_election = "1932.11.8"
last_election = "1932.11.8" #上次大选时间
election_frequency = 48
election_frequency = 48 #大选间隔时间,单位:月
elections_allowed = no
elections_allowed = no #是否有下次大选,no为没有,yes为有
}
}
</pre>
</pre>
Note: Frequency is in months
===国家领导人===
===国家领导人===
Defines the leaders a country has. In theory adding a leader for only the starting ideology would be enough, as the other ones will be randomly generated, it is possible however, to define the leaders of all parties.
指定一个国家的领导人。正常来说,你只需要制作一个国家开局时的意识形态领导人就足够了。因为别的领导人可以随机产生。不过如果你制作了别的意识形态党派的领导人,那么在非执政党状态下,他们是党派领导人。为执政党时为领导人。
  create_country_leader = {
  create_country_leader = {
  name = "Ronald McDonald"
  name = "Ronald McDonald" #领导人名字
  desc = "POLITICS_RONALD_MCDONALD_DESC"
  desc = "POLITICS_RONALD_MCDONALD_DESC" #领导人介绍
  picture = "gfx/leaders/Europe/Portrait_Europe_Generic_land_3.dds"
  picture = "gfx/leaders/Europe/Portrait_Europe_Generic_land_3.dds" #领导人图片
  expire = "1965.1.1"
  expire = "1965.1.1" #领导人退休时间
  ideology = fascism_ideology
  ideology = fascism_ideology #领导人子意识形态
  traits = {
  traits = { #领导人特质
  scary_clown
  scary_clown
  }
  }
  }
  }
One can add a custom portrait by adding it in in [[Wikipedia:DirectDraw Surface|DDS-format]], which may require [https://www.gimp.org/ Gimp] or [http://www.getpaint.net/index.html Paint.net] to edit.
你在制作领导人图片时,导出的格式推荐为dds格式(当然也可以是png), 这可能需要用到[https://www.gimp.org/ Gimp] 或者 [http://www.getpaint.net/index.html Paint.net] 来制作。


A list of traits can be found in {{path|common/country_leader}}. It is possible to add more there as well.
领导人特质可以在 {{path|common/country_leader}} 找到。


===将军===
===将军===
第379行: 第393行:
| 小 || 10x7 pixel
| 小 || 10x7 pixel
|}
|}
 所有旗帜位于{{path|gfx/flags}}。用于模组制作目的时,将旗帜放置于''<yourmod>/gfx/flag''下,并且将各尺寸的旗帜放置于相应的子文件夹下。
 所有旗帜位于{{path|gfx/flags}}。用于模组制作目的时,将旗帜放置于''< 你的模组>/gfx/flag''下,并且将各尺寸的旗帜放置于相应的子文件夹下。


==战斗顺序(可选)==
==战斗顺序(可选)==

2022年1月30日 (日) 11:07的版本

这个网页包括了假如你已经掌握基础的创建一个模组的基本知识,就可以学习接下来的进阶内容。

快速制作

如果你想在模组中创建一个新国家,可以参考以下快速制作教程:

  • 定义一个独一无二的三英文字符国家tag。
  • <你的模组>/common/countries中新建文件。
  • <你的模组>/history/countries中新建文件。
  • <你的模组>/localisations中增加本地化。
  • <你的模组>/gfx/flags中为每一种意识形态添加一个大,中,小号的旗帜。
  • 可选:在<你的模组>/history/units中创建OOB文件。
  • 可选:把国家加入到游戏中。

国家标签——tag

每个国家都要一个三英文字符的tag,这是你在你的模组中唯一指定国家的内容。所有国家的TAG都得是独一无二的并且为三个大写英文字母. 任何国家都不能跟别的国家有一样的TAG

要建立一个新TAG,就往<你的模组>/common/country_tags (或者把原有的文件改了)添加新信息并且再写上像这样的东西:

SCO = "countries/Scotland.txt"

如上所示。在这里,SCO的地方必须为三大写英文字母,而在后面的txt则可以是任意长度的大写小写,但不能有中文。

你想创建或者改动国家标签的文件位于<你的模组>/common/countries

国家文件

<你的模组>/common/countries 文件夹中创建一个新的文件.建议复制一个原版中的国家的文件来再改成你要的。

单位模型

在这里设置设置国家单位模型。比如苏格兰是:

graphical_culture = commonwealth_gfx
graphical_culture_2d = commonwealth_2d

颜色

这里设置的是国家在地图上的颜色。 它使用 RGB色阶

color = { 2  10  222 }

colors.txt

确保国家颜色被写入了<你的模组>/common/countries/colors.txt:

SCO = {
  color = rgb { 2  10  222 }
  color_ui = rgb { 255 255 155}
}

`color_ui` 通常是比该国家普通颜色更深的色彩,因为这是用于涂边界的 (如果边界看起来很丑,那就再看看你文件有没写错).颜色也能用 HSV形式写指定

国家历史

在 <你的模组>/history/countries> 文件夹中创建该文件. 或者复制个原版中国家的文件,重命名并更改为你的。文件名应该是<该国tag - 该国名字>, 比如"SCO - Scotland".这个文件包含了该国家的历史以及默认属性

首都

在这写入国家首都. 要用地区ID(state)而非省份(province)ID指定首都.这样的话,121是洛锡安地区,包含爱丁堡

capital = 121

战斗部署

这些文件会被链接到'Order of Battle' (OoB)记录了部队数量和位置、经验及装备状况, 还有开局国家拥有的空军联队。开始时的生产状况及部队编制也被记录在那儿。每个国家都需要链接到OoB, 不过如果那个国家将在之后被吞并那么就别给他写OoB文件了

oob = "SCO_1936"

为了方便调用,海军通常被编入单独的OoB.另外,因为'炮手就位' DLC对海军改动很大,一个国家通常都有两个独立的海军OoB, 一个就是为了给那个DLC的, 另一个就是给没买那个DLC的人, 使用旧的海军系统(OOB通常以a _legacy为后缀区分)

if = {
	limit= { has_dlc = "Man the Guns" }
		set_naval_oob = "SCO_1936_naval_mtg"
	else = {
		set_naval_oob = "SCO_1936_naval_legacy"
	}
}

科研槽

写入开局时国家的科研槽数量。一般大国有4个,北美和欧洲的小国有两个,其他地方的小国也是两个。如果不写就默认是两个

set_research_slots = 3

稳定度

写入国家开局时的稳定度百分比。在游戏中会把文件中的数值×100,所以最大是1(游戏中为100)最小是0(游戏中为0),如下所示,现在在游戏中显示的稳定度为70%

set_stability = 0.7

战争支持度

写入国家开局时的战争支持度百分比。在游戏中会把文件中的数值×100,所以最大是1(游戏中为100)最小是0(游戏中为0)。如下所示,现在游戏中显示的战争支持度为50%

set_war_support = 0.5

民族精神和内阁

设置国家开局时的内阁 (民族精神 顾问 制造商和法案).这些东西的清单在 /Hearts of Iron IV/common/ideas

不过注意,如果你不添加任何内阁. 国家开局时就是没有顾问,民用经济和志愿制兵役 这是个例子:

add_ideas = {
		henschel
		GER_autarky_idea
		#laws
		war_economy
		extensive_conscription
}

科技

这里写入国家开局时的科技等级。科技列表在 /Hearts of Iron IV/common/technologies.

set_technology = {
 	infantry_weapons = 1
	infantry_weapons1 = 1	
	tech_engineers = 1
	tech_mountaineers = 1
	motorised_infantry = 1
	gw_artillery = 1
	interwar_antiair = 1
	gwtank = 1
	basic_light_tank = 1
	basic_heavy_tank = 1
	early_fighter = 1
	fighter1 = 1
	early_bomber = 1
	tactical_bomber1 = 1
	strategic_bomber1 = 1
	CAS1 = 1
	naval_bomber1 = 1
}

记住,有炮手就位DLC的玩家需要一份不同的科技文件给海军~所以你得给海军科技设置两次,就像这样:

if = {
	limit = { not = { has_dlc = "Man the Guns" } }
	set_technology = {
		early_submarine = 1
		early_destroyer = 1
	}
	set_naval_oob = "SCO_1936_naval_legacy"
}
if = {
	limit = { has_dlc = "Man the Guns" }
	set_technology = {
		basic_naval_mines = 1
		submarine_mine_laying = 1
		early_ship_hull_light = 1
		early_ship_hull_submarine = 1
		basic_ship_hull_submarine = 1
		basic_battery = 1
		basic_torpedo = 1
		basic_depth_charges = 1
	}
	set_naval_oob = "SCO_1936_naval_mtg"
}

其他(可选)

写入初始政治点数

add_political_power = 500

写入初始运输船数量.

注意: 如果这在同一文件出现了数次会被叠加

set_convoys = 100

写入初始科研加成.

有了这一行代码,可以让国家在开局时就默认有一个科研加成。 比如苏联的历史文件中就用了这:

add_tech_bonus = {
		bonus = 1.0
		uses = 2
		category = armor
}

战争化借口:

有了这行代码可以让当前国家在开局就有一个对某国的战争借口。

create_wargoal = {
		type = take_state_focus
		target = POL
		generator = { 72 88 90 87 86 } # Zaolzie Krakow Kielce Lodz Poznan
}

国家标志:

用于更加进阶的模组制作。可以用于开局就标志一个国家。

set_global_flag = earhart_disappeared		
set_country_flag = sudetenland_acquired		

让一个国家毫无条件的触发新闻。

USA = { country_event = { id = usa.50 days = 2 } #id为事件的id,days是多少天后触发 country_event = { id = usa.51 days = 2 } }

Opinion modifiers:

add_opinion_modifier = { target = POL modifier = refused_anti_comintern_pact_opinion }		

Modifiers have their effects defined in /Hearts of Iron IV/common/opinion_modifiers

外交

如果一个国家在开局时就与别的国家有交流,那么在这里定义。建议一个定义内容只写在一个文件中。(比如阵营领导人只写在阵营领导人的文件里,阵营中的次要国家就不必要写了)

阵营

在国家文件中写下这行代码,将会让游戏一开始就有这个阵营,并且国家默认加入其中,是其成员。

create_faction = Clanintern

在上一行的基础上,再加上这一行,则表示它是目前阵营的领导人。

add_to_faction = IRE

如果阵营中的某个国家有傀儡国,那也应该加入到阵营中,以防止不必要的bug。

傀儡国

如果玩家有“共同胜利”DLC,那么傀儡国的定义如下:

set_autonomy = {
	target = ENG
	autonomous_state = autonomy_integrated_puppet
}

如果没有,则是如下:

puppet = ENG

为了使有DLC和没有DLC的玩家都可以正常使用,因此你可以使用if语句:

if = {
	limit = {
		has_dlc = "Together for Victory"
	}
	set_autonomy = {
		target = ENG
		autonomous_state = autonomy_integrated_puppet
	}
	else = {
		puppet = ENG
	}
}

注意:puppet = ENG指的是当前国家的傀儡是ENG而并非是当前国家被ENG傀儡。

其他外交行动

保证独立:
这行代码可以让当前国家保证另一个国家的独立:

give_guarantee = FRA

在这里你只需要修改FRA为任意国家TAG即可

互不侵犯条约:

diplomatic_relation = { country = USA relation = non_aggression_pact }

在这里你只需要修改USA为任意国家TAG即可。

初始贸易:
这行代码可以让国家开局就和任意国家进行贸易并添加资源。

create_import = {
		resource = tungsten
		factories = 1
		exporter = SWE
}

改变文件中的SWE可以改变贸易国家,改变factories后面的数字可以该表交易物品的数量(前提是那个国家要有这么多),改变resource后面的内容可以修改交易的物品。

军事通行权:

这行代码可以让当前国家在开局就给目标国家军事通行权。

give_military_access = IRE

改变IRE就可以了。

科技共享

If the player has 'Together for Victory' one can add the country to a tech sharing group:

add_to_tech_sharing_group = haggis_investigators

An if-statement as shown above will be required to limit it to 'Together for Victory' owners and to prevent bugs with those that don't own it.

#目前这行代码并不完整,不推荐使用。

设定党派支持度

定义当前国家不同意识形态党派的支持率:

set_popularities = {
	democratic = 5
	communism = 80
	fascism = 10
	neutrality = 5
}

你可以添加或删减任何意识形态,但是其总支持率必须要等于100.

设定政治

定义当前国家的执政党和大选。

set_politics = {
	ruling_party = communism #执政党的意识形态
	last_election = "1932.11.8" #上次大选时间
	election_frequency = 48 #大选间隔时间,单位:月
	elections_allowed = no #是否有下次大选,no为没有,yes为有
}

国家领导人

指定一个国家的领导人。正常来说,你只需要制作一个国家开局时的意识形态领导人就足够了。因为别的领导人可以随机产生。不过如果你制作了别的意识形态党派的领导人,那么在非执政党状态下,他们是党派领导人。为执政党时为领导人。

create_country_leader = {
	name = "Ronald McDonald" #领导人名字
	desc = "POLITICS_RONALD_MCDONALD_DESC" #领导人介绍
	picture = "gfx/leaders/Europe/Portrait_Europe_Generic_land_3.dds" #领导人图片
	expire = "1965.1.1" #领导人退休时间
	ideology = fascism_ideology #领导人子意识形态
	traits = { #领导人特质
		scary_clown
	}
}

你在制作领导人图片时,导出的格式推荐为dds格式(当然也可以是png), 这可能需要用到Gimp或者 Paint.net来制作。

领导人特质可以在 /Hearts of Iron IV/common/country_leader找到。

将军

Custom army leaders may be defined here:

create_corps_commander = {
 	name = "Sean McHaggis"
 	portrait_path = "gfx/leaders/Europe/Portrait_Europe_Generic_land_4.dds"
 	traits = { panzer_leader fortress_buster }
 	attack_skill = 4
	defense_skill = 2
	planning_skill = 1
	logistics_skill = 2
}

As well as naval leaders:

create_navy_leader = {
 	name = "James McSeafarer"
 	portrait_path = "gfx/leaders/Europe/Portrait_Europe_Generic_navy_1.dds"
 	traits = { blockade_runner superior_tactician }
 	attack_skill = 3
	defense_skill = 3
	maneuvering_skill = 5
	coordination_skill = 2
}

变种型号(可选)

Special variants on equipment available for this country from the start can be defined as well:

create_equipment_variant = {
	name = "Haggis Class"
	type = submarine_1
	upgrades = {
		sub_engine_upgrade = 3
		sub_stealth_upgrade = 2
		sub_torpedo_upgrade = 2
	}
}
create_equipment_variant = {
		name = "Scotfire"
		type = fighter_equipment_1
		upgrades = {
			plane_gun_upgrade = 3
			plane_range_upgrade = 0  
			plane_engine_upgrade = 3
			plane_reliability_upgrade = 3
		}
}
create_equipment_variant = {
		name = "Tanktoon 2"
		type = light_tank_equipment_2
		upgrades = {
			tank_gun_upgrade = 5
			tank_armor_upgrade = 1  
			tank_engine_upgrade = 2
			tank_reliability_upgrade = 0
		}
		obsolete = yes	#optional, marks the unit as obsolete and hides the unit from the UI
}

本地化

Add the localisation for your new country to the following file (it is generally recommended to always create a new, separate file, to avoid overwrites of vanilla files)

<yourmod>/localisation/mynewscotland_l_<language>.yml

where <language> can be either English, German, Spanish, French, Polish, Russian or Brazilian Portuguese. A file can be created for each language for better coverage across the supported languages.

Define the localisation for the country's name and its adjective as follows for every ideology:

SCO_communism: "People's Republic of Scotland"
SCO_communism_DEF: "The People's Republic of Scotland" #For events
SCO_ADJ: "Scottish"

Note: Do not mistake the correct letter _l_ ( L ) with a letter i ( I ), or number 1 ( One ), it's a common mistake, causing localisations to not show up, without any evident cause.

旗帜

每个国家需要12个旗帜:四种意识形态,包括中立主义在内,每种一个旗帜,并且每种需要三个尺寸:标准、中(Medium)、小(Small)。所有旗帜需要以TGA格式保存,文件名包括国家的tag和旗帜所用于的意识形态。(例如:ABC_neutrality.tga)文件格式应该是32位、无压缩的。

然而,如果你不想为每个意识形态制作单独的旗帜,也可以创建一个各种尺寸的单独旗帜,并且将其单纯以国家tag命名而不包括意识形态。例如:ABC.tga将会在该国家没有此时意识形态特定的旗帜时,作为该国家的旗帜使用。

要求尺寸
标准 82x52 pixel
41x26 pixel
10x7 pixel

所有旗帜位于/Hearts of Iron IV/gfx/flags。用于模组制作目的时,将旗帜放置于<你的模组>/gfx/flag下,并且将各尺寸的旗帜放置于相应的子文件夹下。

战斗顺序(可选)

If the country will exist at the start, an order of battle is necessary for the country to have an army. Create a new file in /Hearts of Iron IV/history/units or copy one from a similar country. It must be named exactly the way it's linked in the country's history file. Specific names of different types of units and their support companies can be found in /Hearts of Iron IV/common/units.

师模板

First the default division template will be defined, simply set up what regiments will fill the country's divisions:

division_template = {
	name = "Blueskirt Division"

	regiments = {
		infantry = { x = 0 y = 0 }
		infantry = { x = 0 y = 1 }
		infantry = { x = 0 y = 2 }
		infantry = { x = 1 y = 0 }
		infantry = { x = 1 y = 1 }
		infantry = { x = 1 y = 2 }
		infantry = { x = 2 y = 0 }
		infantry = { x = 2 y = 1 }
		infantry = { x = 2 y = 2 }
		infantry = { x = 3 y = 0 }
		infantry = { x = 3 y = 1 }
	}
}

As can be seen, this division exists solely out of infantry. Example of more advanced unit template from Germany, which will use german infantry names:

division_template = {
	name = "Infanterie-Division"
	division_names_group = GER_Inf_01

	regiments = {
		infantry = { x = 0 y = 0 }
		infantry = { x = 0 y = 1 }
		infantry = { x = 0 y = 2 }
   		infantry = { x = 1 y = 0 }
		infantry = { x = 1 y = 1 }
		infantry = { x = 1 y = 2 }
  		infantry = { x = 2 y = 0 }
		infantry = { x = 2 y = 1 }
		infantry = { x = 2 y = 2 }
	}
	support = {
		engineer = { x = 0 y = 0 }
		artillery = { x = 0 y = 1 }
	}
}

师位置

Division can be placed as follows:

units = {
	division= {	
		name = "1st Blueskirt Division"
		location = 9392 # Edinburgh
		division_template = "Blueskirt Division"
		start_experience_factor = 0.2   #optional, otherwise starts with 0 expereince
		start_equipment_factor = 0.3    #optional, otherwise starts with equipment factor of 1 (maximum)

	}
}

The name is simply the name the game shows for the division, the location is where the division is on the map, the template links to the template defined above and start_experience_ and _equipment_factors define how much experience and equipment the division has. Alternatevely you can use the automatic naming using a predefined list of names.

         division= {
		division_name = {
				is_name_ordered = yes
				name_order = 35
		}
		location = 6488
		division_template = "Infanterie-Division"
		start_experience_factor = 0.1                                                 #optional, otherwise starts with 0 expereince
		force_equipment_variants = { infantry_equipment_0 = { owner = "GER" } }       #optional, replaces equipment with a specific variant (for example to give obsolete equipment to garrison units)
	}

空军联队

Air wings are not placed into a specific province, but rather a State.

air_wings = {
	121 = { 	# Edinburgh
		tac_bomber_equipment_0 = { owner = "SCO" amount = 72 }
			start_experience_factor = 0.2	#optional, otherwise starts with 0 expereince
		fighter_equipment_1 = { owner = "SCO"  version_name = "Scotfire" amount = 150 }		#version_name is optional
			start_experience_factor = 0.5			
	}
}

version_name defines a specific variant of that type of equipment to be used. It first needs to be defined in the same file.

添加其他剧本的历史(可选)

If you want to edit something about your country, but only want it applied after a specific date (as in 1939 bookmark for example), you have to add these lines to the history file:

1939.1.1 = {
#There you can add anything, in the same format as described earlier
	oob = "SCO_1939"	#Usually another oob is used for later bookmarks, only the latest one will be loaded
	set_technology = {
		atomic_research = 1 
		nuclear_reactor = 1 
		nukes = 1
	}	
}

国策

National Focuses can be completed in two ways: If you want the effects to apply, then use:

complete_national_focus = army_effort

If you want to just bypass the focus (often used for more complex focuses, like 'Demand Sudetenland', and apply effect manually, without triggering all the associated events), use:

unlock_national_focus = GER_demand_sudetenland

具体案例

Cancelling a relation that is activated earlier (like a guarantee to FRA used earlier):

diplomatic_relation = {
	country = FRA
	relation = guarantee
	active = no
}

Removing previously used idea:

remove_ideas = {
	great_depression	
}

要记住的事情

  • The date used must be at least 1 day before the actual bookmark start date, multiple dates can be used
  • Ideas are added, Laws are replaced by the latest loaded
  • Technologies only have to be applied once, add only extra technologies to the later bookmarks
  • If a National Focus triggers an event, or adds effect, completing it by history file does not apply these, they have to be triggered separately
  • Country leader is chosen based on corresponding ideology, if multiple are present, the one located lower in the file is chosen

在游戏中增加国家

There are three ways to implement the new country into the game.

  • Using events
  • By national focus
  • Editing state history

通过事件或国策增加国家

主条目:Event Modding

There are multiple ways to add a country's presence by event or national focus. Here are two:

set_state_owner = 119

Using this script in an event option or national focus reward, when scoped to the new country, will cause the province to be owned by the new country. If it is occupied by a third power and the new country is at war with them however, the region will remain occupied.

transfer_state = 119

This script will change both the ownership and control to the scoped state. If a third country occupies it it will go to the new country regardless of the state of relations between it and the occupying power.

通过地区历史添加国家

Change the owner and cores in province history files so that they include the new country either by default or in defined bookmarks (for instance only in 1939)