模组制作:修订间差异

本页面所适用的版本可能已经过时,最后更新于3.2
(游戏结构机翻汉化)
第2行: 第2行:
'''Modding''', 或称为“模组制作”,是修改基本游戏(即原版)的行为, 无论是供个人使用,或者是公开发布给其他玩家,比如发布到[[Steam创意工坊]]。
'''Modding''', 或称为“模组制作”,是修改基本游戏(即原版)的行为, 无论是供个人使用,或者是公开发布给其他玩家,比如发布到[[Steam创意工坊]]。


 就所有p社游戏而言 ,ck2 的模组制作有很大开放性,可以很显著的延伸游戏的内容,增强游戏的可玩性。
 就所有p社游戏而言 ,[[王国风云II|ck2]] 的模组制作有很大开放性,可以很显著的延伸游戏的内容,增强游戏的可玩性。
mod制作者的动机各不相同:更好的翻译成母语,更多的事件及决议,更棒的地图,亦或游戏整体大修改等等。
mod制作者的动机各不相同:更好的翻译成母语,更多的事件及决议,更棒的地图,亦或游戏整体大修改等等。


第22行: 第22行:
 以下是支持CK2编程语言的文本编辑器:
 以下是支持CK2编程语言的文本编辑器:


* [http://notepad-plus-plus.org/ Notepad++]: [[forum:745679|CKII 语言文件]]
*[http://notepad-plus-plus.org/ Notepad++]: [[forum:745679|CKII 语言文件]]
* [https://www.sublimetext.com/ Sublime Text]: [[forum:1084658|Sublime Text 3语法高亮]]
*[https://www.sublimetext.com/ Sublime Text]: [[forum:1084658|Sublime Text 3语法高亮]]
* [https://atom.io/ Atom]: [https://atom.io/packages/language-crusader-kings--i-i language-crusader-kings--i-i]
*[https://atom.io/ Atom]: [https://atom.io/packages/language-crusader-kings--i-i language-crusader-kings--i-i]


==Mod结构==
==Mod结构==
第30行: 第30行:
{{Ambox|type=notice|text=如果你是第一次创作mod,请看引导[[创建模组]].}}
{{Ambox|type=notice|text=如果你是第一次创作mod,请看引导[[创建模组]].}}
mod文件被放置在 ''~\Paradox Interactive\Crusader Kings II\mod'', 里面必须包含:
mod文件被放置在 ''~\Paradox Interactive\Crusader Kings II\mod'', 里面必须包含:
* .mod 文件, 告诉启动器如何加载你的mod
*.mod 文件, 告诉启动器如何加载你的mod
* 包含mod数据好的文件夹或者是zip压缩包。mod数据的文件结构必须和本体的[[#游戏结构|游戏结构]]相同,注意文件夹和文件的名称大小写在Mac和Linux上是敏感的,这意味着 Abc 和 abc 会被视为两个mod。
*包含mod数据好的文件夹或者是zip压缩包。mod数据的文件结构必须和本体的[[#游戏结构|游戏结构]]相同,注意文件夹和文件的名称大小写在Mac和Linux上是敏感的,这意味着 Abc 和 abc 会被视为两个mod。


.mod 文件的文件名不能包含任何空格,否则在启动器重启的时候,不会被自动选中。
.mod 文件的文件名不能包含任何空格,否则在启动器重启的时候,不会被自动选中。
第50行: 第50行:
|path
|path
|'''Yes'''
|'''Yes'''
| 定义哪个文件夹是你的mod文件夹。 其路径是相对于''~\Documents\Paradox Interactive\Crusader Kings II\'' .
|定义哪个文件夹是你的mod文件夹。 其路径是相对于''~\Documents\Paradox Interactive\Crusader Kings II\'' .
|path = "mod/MyMod"
|path = "mod/MyMod"
|-
|-
第73行: 第73行:
*在旧版本中,replace_path在被安装到CK2安装目录/mod时通常被忽视,因此必须放入使用者文件。(见[[创建模组#创建CK2的模组目录|CK2模组目录]])
*在旧版本中,replace_path在被安装到CK2安装目录/mod时通常被忽视,因此必须放入使用者文件。(见[[创建模组#创建CK2的模组目录|CK2模组目录]])
*除非你'''确实'''需要使用replace_path才使用,通常不用。
*除非你'''确实'''需要使用replace_path才使用,通常不用。
|replace_path = "history" <br/>
|replace_path = "history" <br />
replace_path = "history/characters"
replace_path = "history/characters"
|-
|-
|dependencies
|dependencies
|No
|No
|告诉启动器,在此mod之前必须加载另一个mod。另一个模组将首先加载,允许另一个模组覆盖某些文件(否则第一个模组将先加载)。一个dependencies不是必要的;如果mod有一个集,则不需要加载dependencies。这只是 .mod文件告诉启动器应首先加载哪些文件的一种方式。<br/>
|告诉启动器,在此mod之前必须加载另一个mod。另一个模组将首先加载,允许另一个模组覆盖某些文件(否则第一个模组将先加载)。一个dependencies不是必要的;如果mod有一个集,则不需要加载dependencies。这只是 .mod文件告诉启动器应首先加载哪些文件的一种方式。<br />
 如果dependencies里的mod的名称包含空格,则必须将其括在转义引号中。<code>"\"Mod with space in name\""</code>
 如果dependencies里的mod的名称包含空格,则必须将其括在转义引号中。<code>"\"Mod with space in name\""</code>
|dependencies = { "MyMod" "\"Another Mod\"" }
|dependencies = { "MyMod" "\"Another Mod\"" }
第90行: 第90行:
|No
|No
|[[Steam创意工坊]]的标签列表。警告:不要忘记包含空格的标签的引号。
|[[Steam创意工坊]]的标签列表。警告:不要忘记包含空格的标签的引号。
|tags = { "Tag1" "Tag 2" }
| tags = { "Tag1" "Tag 2" }
|-
|-
|supported_checksums
|supported_checksums
|No
|No
|脚本条件将计算为true的预期校验和列表。这可以在[[事件模组制作]]中使用,以向玩家显示警告。<code>supported_checksums</code> 
|脚本条件将计算为true的预期校验和列表。这可以在[[事件模组制作]]中使用,以向玩家显示警告。<code>supported_checksums</code>
|supported_checksums = { ABCD EFGH }
|supported_checksums = { ABCD EFGH }
|-
|-
第139行: 第139行:
==游戏数据==
==游戏数据==


* [[控制台指令]],对于调试模组非常有用
*[[控制台指令]],对于调试模组非常有用
* [[定义]],影响一些原版的硬编码行为
*[[定义]],影响一些原版的硬编码行为
* [[作用域]],[[条件]],和 [[指令]] 被用于[[脚本|脚本编写]]
*[[作用域]],[[条件]],和 [[指令]] 被用于[[脚本|脚本编写]]
* [[修正]], 用于影响游戏所做的计算
*[[修正]], 用于影响游戏所做的计算
* [[地图模组制作|地图数据]]
*[[地图模组制作|地图数据]]


==游戏结构==
==游戏结构==


The game data is composed of hierarchy of folders, containing game files.
游戏数据是由包含游戏文件的文件夹及子文件夹组成。


A mod follows the same folder structure as the base game, so that when loading the game the engine will combine files from vanilla and mod(s).
模组遵循与基础游戏相同的文件夹结构,因此在加载游戏时,引擎将合并来自原版和mod的文件。在大多数文件夹中,引擎将加载其中的所有文件,这允许mod添加新的定义(头衔,宗教等),而无需复制和修改原版文件。若要利用这一点,请务必了解如何在文件级别和定义级别加载脚本。
In most folders, the engine will load all the files within, which allows a mod to add new definitions (titles, religions, ...) without having to copy and modify vanilla files.
To make use of this, it is important to understand how the scripts are loaded both at file level and definition level.


The behavior when loading a mod is the following:
加载模组时的行为如下:
* Engine processes folders and files based on some hardcoded [[Troubleshooting#Loading|load order]].
* 引擎根据某些硬编码的[[ 故障排除| 加载顺序]] 处理文件夹和文件。
* If current folder is defined as <code>replace_path</code>, all vanilla files in that folder will be ignored, and only mod files will be loaded (if any).
* 如果将当前文件夹定义为 <code>replace_path</code> ,则该文件夹中的所有原版文件都将被忽略,并且只会加载mod文件(如果有)。
* If the mod folder and vanilla folder both contain files with same names, vanilla files will be ignored and mod version will be used.
* 如果 mod 文件夹和原版文件夹都包含同名的文件,则将忽略原版文件,并使用mod版本。
* Inside a given folder, the order in which files are processed is usually alphanumerical on combined vanilla and mod file names, though some folders may have a different behavior.
* 在给定的文件夹中,文件的处理顺序通常是字母数字的,合并了 vanilla mod 文件名,尽管某些文件夹可能具有不同的行为
* When encountering more than once the same definition (title, religion, decision, ...), the duplicate definition may:
* 在多次遇到相同的定义(头衔,宗教,决议等)时,重复的定义可能:
**be ignored (first definition wins)
** 被忽略(第一个定义获胜)
**fully override the previous definition (last definition wins)
** 玩全覆盖上一个定义(最后一个定义优先)
**partially override the previous definition (definitions are merged/additive, which only makes sense if there is actually something to merge: hierarchy, list, etc.)
** 部分覆盖以前的定义(定义被合并/ 加法,这只有在实际有要合并的东西时才有意义:层次结构,列表等)
**coexist/break both (in which case duplicate IDs must be avoided)
** 两者共存/ 中断(在这种情况下,必须避免重复的ID)


Below is a list of CKII game files and folders, with associated modding guide, and loading behavior.
以下是[[王国风云II|CKII]]游戏文件和文件夹的列表,以及相关的模组指南和加载行为。


For loading behavior, the cell colours highlight whether the behaviour is the <span style="background-color:lightgreen">expected one</span>, <span style="background-color:gold">strange or requiring some attention</span>, or <span style="background-color:salmon">unexpected and to be avoided</span>.
对于加载行为,单元格颜色会突出显示行为是<span style="background-color:lightgreen"> 预期的行为</span> <span style="background-color:gold"> 奇怪的行为还是需要注意的行为</span> <span style="background-color:salmon"> 是意外的,还是需要避免的行为</span>


{| class = "wikitable"
{| class="wikitable"
!File/Folder
!File/Folder
!What it contains
!What it contains
第190行: 第188行:
*All difficulty, rank and standard modifiers
*All difficulty, rank and standard modifiers
*[[Technology]] data
*[[Technology]] data
|<br/>
|<br />
[[Defines]]<br/>
[[Defines]]<br />


<br/>
<br />
<br/>
<br />
[[Static modifiers]]<br/>
[[Static modifiers]]<br />
[[Technology modding]]<br/>
[[Technology modding]]<br />
| N/A
|N/A
|-
|-
|.\common\'''alternate_start\'''
|.\common\'''alternate_start\'''
第207行: 第205行:
|
|
|[[Artifact modding]]
|[[Artifact modding]]
|style = "background-color:lightgreen"| Merge.
| style="background-color:lightgreen" |Merge.
|-
|-
|.\common\'''artifacts\'''
|.\common\'''artifacts\'''
| Definitions of [[artifact]]s
|Definitions of [[artifact]]s
|[[Artifact modding]]
|[[Artifact modding]]
|style = "background-color:lightgreen"| Merge.
| style="background-color:lightgreen" |Merge.
|-
|-
|.\common\'''bloodlines\'''
|.\common\'''bloodlines\'''
第222行: 第220行:
|[[Bookmarks]] are configured here (scenarios/start dates)
|[[Bookmarks]] are configured here (scenarios/start dates)
|[[Bookmark modding]]
|[[Bookmark modding]]
|style = "background-color:lightgreen"| Merge. Bookmarks are listed chronologically in-game, whatever the order in files.
| style="background-color:lightgreen" |Merge. Bookmarks are listed chronologically in-game, whatever the order in files.
|-
|-
|.\common\'''buildings\'''
|.\common\'''buildings\'''
|[[Buildings]] folder, all buildings are stored here. 
|[[Buildings]] folder, all buildings are stored here.
|[[Building modding]]
|[[Building modding]]
|{{sup|?}} Merge
|{{sup|?}} Merge
第232行: 第230行:
|[[Casus Belli]] folder, all Casus-belli are stored here.
|[[Casus Belli]] folder, all Casus-belli are stored here.
|[[Casus Belli modding]]
|[[Casus Belli modding]]
|style = "background-color:gold"| Merge, but override of casus belli by re-using same name does not work (creates duplicate casus belli)
| style="background-color:gold" |Merge, but override of casus belli by re-using same name does not work (creates duplicate casus belli)
|-
|-
|.\common\'''combat_tactics\'''
|.\common\'''combat_tactics\'''
第240行: 第238行:
|-
|-
|.\common\'''council_positions\'''
|.\common\'''council_positions\'''
| Conditions for an A.I. councillor to adopt a certain category of voting behavior.
|Conditions for an A.I. councillor to adopt a certain category of voting behavior.
|[[Councillor modding]]
|[[Councillor modding]]
|{{sup|?}}
|{{sup|?}}
|-
|-
|.\common\'''council_voting\'''
|.\common\'''council_voting\'''
| A.I. rules for how councillors from a behavior category will vote
|A.I. rules for how councillors from a behavior category will vote
|[[Councillor modding]]
|[[Councillor modding]]
|{{sup|?}}
|{{sup|?}}
|-
|-
|.\common\'''cultures\'''
|.\common\'''cultures\'''
|[[Cultures]] folder, all cultures are stored here. 
|[[Cultures]] folder, all cultures are stored here.
|[[Culture modding]]
|[[Culture modding]]
|style = "background-color:lightgreen"| Merge. Since [[patch 2.4]] cultures are merged like religions, and a new culture may be added to a vanilla culture_group via a separate file.
| style="background-color:lightgreen" |Merge. Since [[patch 2.4]] cultures are merged like religions, and a new culture may be added to a vanilla culture_group via a separate file.
|-
|-
|.\common\'''death\'''
| .\common\'''death\'''
|[[Death]] definitions
|[[Death]] definitions
|[[Death modding]]
|[[Death modding]]
第277行: 第275行:
|[[Dynasties]] folder, all dynasties are stored here.
|[[Dynasties]] folder, all dynasties are stored here.
|[[Dynasty modding]].
|[[Dynasty modding]].
|style = "background-color:gold"| Merge. Duplicate dynasties loaded before vanilla (i.e., <code>000_</code>  prefix) will overwrite dynasty shields. Duplicates loaded after (i.e., <code>z_</code>  prefix) will overwrite dynasty names. To overwrite both, use duplicate files, one with a preceding prefix and one with a succeeding prefix.
| style="background-color:gold" |Merge. Duplicate dynasties loaded before vanilla (i.e., <code>000_</code>  prefix) will overwrite dynasty shields. Duplicates loaded after (i.e., <code>z_</code>  prefix) will overwrite dynasty names. To overwrite both, use duplicate files, one with a preceding prefix and one with a succeeding prefix.
|-
|-
|.\common\'''event_modifiers\'''
|.\common\'''event_modifiers\'''
|Event_modifiers folder, all event modifiers are stored here
| Event_modifiers folder, all event modifiers are stored here
|[[Modifiers]]
|[[Modifiers]]
|style = "background-color:lightgreen"| Merge.
| style="background-color:lightgreen" |Merge.
|-
|-
|.\common\'''execution_methods\'''
|.\common\'''execution_methods\'''
第292行: 第290行:
|[[Game rules]] definitions
|[[Game rules]] definitions
|[[Game rules modding]]
|[[Game rules modding]]
|style = "background-color:lightgreen"| Merge. The rules are displayed in UI based on order of files (alphanumerical on file name), then order of rules within the file.
| style="background-color:lightgreen" |Merge. The rules are displayed in UI based on order of files (alphanumerical on file name), then order of rules within the file.
|-
|-
|.\common\'''government_flavor\'''
|.\common\'''government_flavor\'''
第302行: 第300行:
|[[Government]] definitions
|[[Government]] definitions
|[[Government modding]]
|[[Government modding]]
|style = "background-color:lightgreen"|Merge. It is possible to define governments of the same government group in different files.
| style="background-color:lightgreen" |Merge. It is possible to define governments of the same government group in different files.
|-
|-
|.\common\'''graphicalculturetypes\'''
|.\common\'''graphicalculturetypes\'''
第322行: 第320行:
|Defines [[councillors]] actions
|Defines [[councillors]] actions
|[[Councillor modding]]
|[[Councillor modding]]
|style = "background-color:lightgreen"| Merge.
| style="background-color:lightgreen" |Merge.
|-
|-
|.\common\'''job_titles\'''
|.\common\'''job_titles\'''
第330行: 第328行:
|-
|-
|.\common\'''landed_titles\'''
|.\common\'''landed_titles\'''
|Landed_titles folder, all landed titles are stored here. 
|Landed_titles folder, all landed titles are stored here.
|[[Title modding]]
|[[Title modding]]
|style = "background-color:lightgreen"| Merge. Merging behaviour is "complicated and might not have been designed that way intentionally"<ref>[[Forum:774248/page-14#post-19100145]]</ref>
| style="background-color:lightgreen" |Merge. Merging behaviour is "complicated and might not have been designed that way intentionally"<ref>[[Forum:774248/page-14#post-19100145]]</ref>
|-
|-
|.\common\'''laws\'''
|.\common\'''laws\'''
|
|
|[[Law modding]]
|[[Law modding]]
|style = "background-color:gold"| Merge. A law with the same name as an existing law will append conditions to the allow section, but not the potential section.
| style="background-color:gold" |Merge. A law with the same name as an existing law will append conditions to the allow section, but not the potential section.
|-
|-
|.\common\'''mercenaries\'''
|.\common\'''mercenaries\'''
第344行: 第342行:
|{{sup|?}} Merge
|{{sup|?}} Merge
|-
|-
|.\common\'''minor_titles\'''
| .\common\'''minor_titles\'''
|Minor titles, including [[honorary titles]]
|Minor titles, including [[honorary titles]]
|[[Minor title modding]]
|[[Minor title modding]]
|style = "background-color:gold"| Cannot be overridden, attempts to do so will result in multiple minor titles with the same tags, like traits
| style="background-color:gold" |Cannot be overridden, attempts to do so will result in multiple minor titles with the same tags, like traits
|-
|-
|.\common\'''modifier_definitions\'''
|.\common\'''modifier_definitions\'''
|Defines dynamically defined modifiers, in particular special [[units]] modifiers.
| Defines dynamically defined modifiers, in particular special [[units]] modifiers.
|[[Unit modding]]
|[[Unit modding]]
|{{sup|?}} Merge
|{{sup|?}} Merge
第357行: 第355行:
|[[Nicknames]] folder, all nicknames are stored here
|[[Nicknames]] folder, all nicknames are stored here
|[[Nickname modding]]
|[[Nickname modding]]
|style = "background-color:lightgreen"| Merge.
| style="background-color:lightgreen" |Merge.
|-
|-
|.\common\'''objectives\'''
|.\common\'''objectives\'''
|[[Objectives]] folder, all objectives (i.e. ambitions, factions, and plots) are stored here. 
|[[Objectives]] folder, all objectives (i.e. ambitions, factions, and plots) are stored here.
|[[Objective modding]]
|[[Objective modding]]
|{{sup|?}} Merge
|{{sup|?}} Merge
第372行: 第370行:
|-
|-
|.\common\'''on_actions\'''
|.\common\'''on_actions\'''
|On_actions folder, all on_actions are stored here
| On_actions folder, all on_actions are stored here
|[[Event modding]]
|[[Event modding]]
|style = "background-color:lightgreen"| Merge. Since [[patch 2.4]] on_actions are merged, with new events being added to the previous list for a particular on_action, instead of replacing the list.
| style="background-color:lightgreen" |Merge. Since [[patch 2.4]] on_actions are merged, with new events being added to the previous list for a particular on_action, instead of replacing the list.
|-
|-
|.\common\'''opinion_modifiers\'''
|.\common\'''opinion_modifiers\'''
第381行: 第379行:
|{{sup|?}} Merge
|{{sup|?}} Merge
|-
|-
|style = "background-color:lightgrey"|.\common\'''province_setup\'''
| style="background-color:lightgrey" |.\common\'''province_setup\'''
|style = "background-color:lightgrey"|Deprecated since [[patch 3.0]].
| style="background-color:lightgrey" |Deprecated since [[patch 3.0]].
|style = "background-color:lightgrey"|
| style="background-color:lightgrey" |
|style = "background-color:lightgrey"|
| style="background-color:lightgrey" |
|-
|-
|.\common\'''religion_features\'''
| .\common\'''religion_features\'''
|
|
|[[Religion modding]]
|[[Religion modding]]
|style = "background-color:gold"|{{sup|?}} Merge, but features with the same key get duplicated
| style="background-color:gold" |{{sup|?}} Merge, but features with the same key get duplicated
|-
|-
|.\common\'''religion_modifiers\'''
|.\common\'''religion_modifiers\'''
第397行: 第395行:
|-
|-
|.\common\'''religions\'''
|.\common\'''religions\'''
|Religions folder, all religions are stored here. 
|Religions folder, all religions are stored here.
|[[Religion modding]] <br/>
|[[Religion modding]] <br />
|style = "background-color:lightgreen"| Merge. Vanilla religions can be overridden, without needing to duplicate the whole religion group. Restrictions: need to define reformed religion before the non-reformed. 
| style="background-color:lightgreen" |Merge. Vanilla religions can be overridden, without needing to duplicate the whole religion group. Restrictions: need to define reformed religion before the non-reformed.
|-
|-
|.\common\'''religious_titles\'''
| .\common\'''religious_titles\'''
|Religious_titles folder, all religious titles are stored here
| Religious_titles folder, all religious titles are stored here
|
|
|{{sup|?}} Merge
|{{sup|?}} Merge
第409行: 第407行:
|[[Retinue]] subunits folder, all retinue subunits are stored here
|[[Retinue]] subunits folder, all retinue subunits are stored here
|
|
|style = "background-color:gold"|{{sup|?}} Merge, but retinues with the same key get duplicated
| style="background-color:gold" |{{sup|?}} Merge, but retinues with the same key get duplicated
|-
|-
|.\common\'''save_conversion\'''
| .\common\'''save_conversion\'''
|
|
|[[Save game compatibility]]
|[[Save game compatibility]]
|{{sup|?}} 
|{{sup|?}}
|-
|-
|.\common\'''scripted_effects\'''
|.\common\'''scripted_effects\'''
第427行: 第425行:
|-
|-
|.\common\'''scripted_triggers\'''
|.\common\'''scripted_triggers\'''
|
|[[Scripted trigger]]s
|[[Scripted trigger]]s
|style = "background-color:gold"| Merge, but scripted triggers with same name append their conditions rather than replacing the original one.
| style="background-color:gold" |Merge, but scripted triggers with same name append their conditions rather than replacing the original one.
|-
|-
|.\common\'''societies\'''
|.\common\'''societies\'''
| Definition of [[societies]]
|Definition of [[societies]]
|[[Society modding]]
|[[Society modding]]
|style = "background-color:gold"| Merge, but override of societies by re-using same name does not work (creates duplicate societies)
| style="background-color:gold" |Merge, but override of societies by re-using same name does not work (creates duplicate societies)
|-
|-
|.\common\'''special_troops\'''
|.\common\'''special_troops\'''
第441行: 第439行:
|{{sup|?}} Merge
|{{sup|?}} Merge
|-
|-
|style = "background-color:lightgrey"|.\common\'''stories\'''
| style="background-color:lightgrey" |.\common\'''stories\'''
|style = "background-color:lightgrey"|Not used.
| style="background-color:lightgrey" |Not used.
|style = "background-color:lightgrey"|
| style="background-color:lightgrey" |
|style = "background-color:lightgrey"|N/A
| style="background-color:lightgrey" |N/A
|-
|-
|.\common\'''succession_voting\'''
|.\common\'''succession_voting\'''
第457行: 第455行:
|-
|-
|.\common\'''traits\'''
|.\common\'''traits\'''
|[[Traits]] folder, all traits are stored here. 
|[[Traits]] folder, all traits are stored here.
|[[Trait modding]]
|[[Trait modding]]
|style = "background-color:gold"| Merge, but traits with same name will co-exist, and generated characters may get both versions of the trait at the same time. The last definition gets assigned to a character when using commands.
| style="background-color:gold" |Merge, but traits with same name will co-exist, and generated characters may get both versions of the trait at the same time. The last definition gets assigned to a character when using commands.
|-
|-
|.\common\'''tributary_types\'''
|.\common\'''tributary_types\'''
第472行: 第470行:
|-
|-
|.\'''connectui\'''
|.\'''connectui\'''
| Appears to be leftover interface for the discontinued Paradox Connect service (used in older Clausewitz games CK2 is based on).
|Appears to be leftover interface for the discontinued Paradox Connect service (used in older Clausewitz games CK2 is based on).
| Unusable
|Unusable
|
|
|-
|-
第479行: 第477行:
|[[Decisions]] folder, all decisions are stored here
|[[Decisions]] folder, all decisions are stored here
|[[Decision modding]]
|[[Decision modding]]
|style = "background-color:gold"| Merge, but override of decision by re-using same name does not work (breaks the decision effect, that does nothing)
| style="background-color:gold" | Merge, but override of decision by re-using same name does not work (breaks the decision effect, that does nothing)
|-
|-
|.\'''dlc\'''
|.\'''dlc\'''
第487行: 第485行:
|-
|-
|.\'''dlc_metadata\'''
|.\'''dlc_metadata\'''
|?
| ?
|
|
|?
|?
第498行: 第496行:
|-
|-
|.\'''events\'''
|.\'''events\'''
|Events folder, all events are stored here. 
|Events folder, all events are stored here.
|[[Event modding]]
|[[Event modding]]
|style = "background-color:gold"| Merge. If redefining an event in a file loaded alphabetically after the original file, the event will be fully overridden. 
| style="background-color:gold" |Merge. If redefining an event in a file loaded alphabetically after the original file, the event will be fully overridden. 
Developers have discouraged this practice, as that engine behavior is not guaranteed to remain in the future (source ?)
Developers have discouraged this practice, as that engine behavior is not guaranteed to remain in the future (source ?)
|-
|-
|.\'''gfx\'''
| .\'''gfx\'''
*ambitions\
* ambitions\
*characters\
*characters\
*coats_of_arms\
*coats_of_arms\
*cursors\
*cursors\
*eurfonts\
*eurfonts\
*event_pictures\
* event_pictures\
*flags\
*flags\
*fonts\
*fonts\
第522行: 第520行:
|Graphics folder, all graphics are stored here.
|Graphics folder, all graphics are stored here.
|[[Graphics modding]]
|[[Graphics modding]]
Graphics are mapped to a logical name (GFX_xxx) inside .\interface\*.gfx files <br/>
Graphics are mapped to a logical name (GFX_xxx) inside .\interface\*.gfx files <br />
'''Warning''': a missing flag for a title in flags\ will cause wrong flags to appear for most titles, due to a shift.
'''Warning''': a missing flag for a title in flags\ will cause wrong flags to appear for most titles, due to a shift.
|
|
第531行: 第529行:
|N/A
|N/A
|-
|-
|.\history\'''characters\'''
| .\history\'''characters\'''
|Historical characters, optionally associated to a dynasty from \common\dynasties\ folder.
|Historical characters, optionally associated to a dynasty from \common\dynasties\ folder.
|[[Character modding]]
|[[Character modding]]
|style = "background-color:gold"| {{sup|?}} Merge. Duplicate character IDs break the character history and must be avoided.
| style="background-color:gold" |{{sup|?}} Merge. Duplicate character IDs break the character history and must be avoided.
|-
|-
|style = "background-color:lightgrey"|.\history\'''diplomacy\'''
| style="background-color:lightgrey" |.\history\'''diplomacy\'''
|style = "background-color:lightgrey"|Not used
| style="background-color:lightgrey" | Not used
|style = "background-color:lightgrey"|N/A
| style="background-color:lightgrey" |N/A
|style = "background-color:lightgrey"|N/A
| style="background-color:lightgrey" |N/A
|-
|-
|.\history\'''offmap_powers\'''
|.\history\'''offmap_powers\'''
第562行: 第560行:
|-
|-
|.\history\'''wars\'''
|.\history\'''wars\'''
|Important on-going wars (attacker, defender, Casus Belli, war score, ...), usually for historical bookmarks.
| Important on-going wars (attacker, defender, Casus Belli, war score, ...), usually for historical bookmarks.
|
|
|{{sup|?}} Merge
|{{sup|?}} Merge
第572行: 第570行:
|[[Interface modding]]
|[[Interface modding]]
*[[Sound modding]]
*[[Sound modding]]
|style = "background-color:gold"| 
| style="background-color:gold" | 
* Loading of *.gfx files is in alphanumerical order. Last spriteType definition loaded overrides previous ones with same name, if any (i.e. use zz_ file prefix to override vanilla sprites). 
*Loading of *.gfx files is in alphanumerical order. Last spriteType definition loaded overrides previous ones with same name, if any (i.e. use zz_ file prefix to override vanilla sprites).
* Only '''sound.sfx''' is taken into account, other .sfx files are ignored.
*Only '''sound.sfx''' is taken into account, other .sfx files are ignored.
|-
|-
|.\interface\'''coat_of_arms\'''
|.\interface\'''coat_of_arms\'''
|
|[[Coats of arms modding]]
|[[Coats of arms modding]]
|style = "background-color:gold"| Coat of arms definitions can be split across multiple files. No support for appending existing definitions from a different file.
| style="background-color:gold" |Coat of arms definitions can be split across multiple files. No support for appending existing definitions from a different file.
|-
|-
|.\interface\'''portrait_offsets\'''
|.\interface\'''portrait_offsets\'''
| .txt files with external offsets for portrait frames
|.txt files with external offsets for portrait frames
|[[Portrait modding]]
|[[Portrait modding]]
|
|-
|-
|.\interface\'''portrait_properties\'''
|.\interface\'''portrait_properties\'''
| Dynamic rules to select portrait properties values
|Dynamic rules to select portrait properties values
|[[Portrait modding]]
|[[Portrait modding]]
| {{sup|?}}
|{{sup|?}}
|-
|-
|.\interface\'''portrait\'''
|.\interface\'''portrait\'''
| Definitions of spriteType and portraitType elements for portraits.
|Definitions of spriteType and portraitType elements for portraits.
|[[Portrait modding]]
|[[Portrait modding]]
| Merge
|Merge
|-
|-
|.\'''launcher\'''
|.\'''launcher\'''
第604行: 第602行:
|All text data for things like country names and event description, has options for other languages
|All text data for things like country names and event description, has options for other languages
|[[Localisation]]
|[[Localisation]]
|style = "background-color:lightgreen"| Full override. If duplicates are in different files, first file loaded wins (i.e. use 00_ file prefix to override vanilla keys). If in same file, last duplicate in file wins. '''Warning''': files must end with '''.csv''' extension, or they will not be taken into account.
| style="background-color:lightgreen" |Full override. If duplicates are in different files, first file loaded wins (i.e. use 00_ file prefix to override vanilla keys). If in same file, last duplicate in file wins. '''Warning''': files must end with '''.csv''' extension, or they will not be taken into account.
|-
|-
|.\localisation\'''customizable_localisation\'''
|.\localisation\'''customizable_localisation\'''
| Custom [[Localisation#Commands|localisation commands]] definitions
| Custom [[Localisation#Commands|localisation commands]] definitions
|[[Localisation#Custom commands]]
|[[Localisation#Custom commands]]
|{{sup|?}} Merge. 
|{{sup|?}} Merge.
|-
|-
|.\'''map\'''
|.\'''map\'''
第621行: 第619行:
*terrain.bmp
*terrain.bmp
*topology.bmp
*topology.bmp
*trees.bmp
* trees.bmp
*world_normal_height.bmp
*world_normal_height.bmp
|Map settings, province shapes, continents, regions etc.
|Map settings, province shapes, continents, regions etc.
第640行: 第638行:
|Dummy mod folder, do not store mods here, use local mod folder
|Dummy mod folder, do not store mods here, use local mod folder
|[[Mod file]]
|[[Mod file]]
|style = "background-color:salmon"| Breaks mods, as configurations like replace_path are ignored.
| style="background-color:salmon" |Breaks mods, as configurations like replace_path are ignored.
|-
|-
|.\'''music\'''
|.\'''music\'''
第648行: 第646行:
|-
|-
|.\'''sound\'''
|.\'''sound\'''
|All sounds except music
| All sounds except music
|
|
|{{sup|?}}
|{{sup|?}}
|-
|-
|.\'''tutorial\'''
|.\'''tutorial\'''
|Tutorial configuration
| Tutorial configuration
|
|
|{{sup|?}}
|{{sup|?}}
第662行: 第660行:
{{hatnote|仅包含上面或以其他方式“如何修改”列中尚未链接的指南。}}
{{hatnote|仅包含上面或以其他方式“如何修改”列中尚未链接的指南。}}


* [[Troubleshooting]] - 在你的mod中debug
*[[Troubleshooting]] - 在你的mod中debug
* [[Save-game editing]] - 如何更改保存游戏
*[[Save-game editing]] - 如何更改保存游戏




* [[Patch 2.4 mod compatibility guide]] - 如何从 [[patch 2.3.6]] 移植到 [[patch 2.4.X]]
*[[Patch 2.4 mod compatibility guide]] - 如何从 [[patch 2.3.6]] 移植到 [[patch 2.4.X]]
* [[Patch 2.5 mod compatibility guide]] - 如何从 [[patch 2.4.5]] 移植到 [[patch 2.5.X]]
*[[Patch 2.5 mod compatibility guide]] - 如何从 [[patch 2.4.5]] 移植到 [[patch 2.5.X]]
* [[Patch 2.6 mod compatibility guide]] - 如何从[[patch 2.5.2]] 移植到 [[patch 2.6.X]]
*[[Patch 2.6 mod compatibility guide]] - 如何从[[patch 2.5.2]] 移植到 [[patch 2.6.X]]
* [[Patch 2.7 mod compatibility guide]] - 如何从m [[patch 2.6.3]] 移植到 [[patch 2.7.X]]
*[[Patch 2.7 mod compatibility guide]] - 如何从m [[patch 2.6.3]] 移植到 [[patch 2.7.X]]
* [[Patch 2.8 mod compatibility guide]] - 如何从 [[patch 2.7.2]] 移植到 [[patch 2.8.X]]
*[[Patch 2.8 mod compatibility guide]] - 如何从 [[patch 2.7.2]] 移植到 [[patch 2.8.X]]
* [[Patch 3.0 mod compatibility guide]] - 如何从 [[patch 2.8.3.2]] 移植到 [[patch 3.0.X]]
*[[Patch 3.0 mod compatibility guide]] - 如何从 [[patch 2.8.3.2]] 移植到 [[patch 3.0.X]]
* [[Patch 3.1 mod compatibility guide]] - 如何从 [[patch 3.0.X]] 移植到 [[patch 3.1.X]]
*[[Patch 3.1 mod compatibility guide]] - 如何从 [[patch 3.0.X]] 移植到 [[patch 3.1.X]]
* [[Merging guide]] - how to merge mod files with a new vanilla patch
*[[Merging guide]] - how to merge mod files with a new vanilla patch




* [[Total conversion guide]] - Creating a total conversion mod
*[[Total conversion guide]] - Creating a total conversion mod
* [[Creating a mod exe installer guide]] - Advanced guide for creating a Windows installer
*[[Creating a mod exe installer guide]] - Advanced guide for creating a Windows installer


==工具与实用程序==
==工具与实用程序==
第683行: 第681行:
{{hatnote|这些是modder用的实用工具。 玩家使用的请看[[Mods#实用工具|实用工具]].}}
{{hatnote|这些是modder用的实用工具。 玩家使用的请看[[Mods#实用工具|实用工具]].}}


* [http://notepad-plus-plus.org/ Notepad++] - 修改文件用的编辑器,比notepad要好。
*[http://notepad-plus-plus.org/ Notepad++] - 修改文件用的编辑器,比notepad要好。
* [[forum:745679|Notepad++ language file for CKII]] - 对于阅读代码十分友好。
*[[forum:745679|Notepad++ language file for CKII]] - 对于阅读代码十分友好。
* [[The Validator]] - 文件查错。
*[[The Validator]] - 文件查错。
* [[EU4:JoroDox mod making tool]] / [[forum:Tool-JoroDox-mod-making-tool.832866|Forum thread]] - 查看mod文件和创建3d模型。
*[[EU4:JoroDox mod making tool]] / [[forum:Tool-JoroDox-mod-making-tool.832866|Forum thread]] - 查看mod文件和创建3d模型。
* [[forum:651648|CK2 Cultures Parser]]
*[[forum:651648|CK2 Cultures Parser]]
* [[forum:597290|Coat of Arms Builder]]
*[[forum:597290|Coat of Arms Builder]]
* [[Portrait Builder]] - 预览人物特征的工具。
*[[Portrait Builder]] - 预览人物特征的工具。
* [[forum:686024|Scenario Editor]]
*[[forum:686024|Scenario Editor]]
* [[Titular Title Generator]]
*[[Titular Title Generator]]
* [http://www.textfixer.com/tools/alphabetize-text-words.php Text Fixer] - 按字母排序你的localisation 文件。(alphabetize your localisation file)
*[http://www.textfixer.com/tools/alphabetize-text-words.php Text Fixer] - 按字母排序你的localisation 文件。(alphabetize your localisation file)
* [[forum:984905|Paradox Province Color Picker]]
*[[forum:984905|Paradox Province Color Picker]]


==高级技巧==
==高级技巧==


*For the bigger mods using a source control management tool (Git, ...), it is handy to create a symbolic link between CKII mod folder and the working directory of the local repository, especially if the mod also has sub-mods. Note that you'll still need to copy the .mod file(s) manually, but they rarely change. Run the following command from the parent directory of main git folder, replacing:
*For the bigger mods using a source control management tool (Git, ...), it is handy to create a symbolic link between CKII mod folder and the working directory of the local repository, especially if the mod also has sub-mods. Note that you'll still need to copy the .mod file(s) manually, but they rarely change. Run the following command from the parent directory of main git folder, replacing:
** <mod_path_name> by the value of <code>path</code> attribute from .mod file
**<mod_path_name> by the value of <code>path</code> attribute from .mod file
** <git_mod_folder> by the name of the sub-folder that contain mod data (folders common, decisions, events, etc...)
**<git_mod_folder> by the name of the sub-folder that contain mod data (folders common, decisions, events, etc...)
<pre>
<pre>
mklink /J "%HOMEDRIVE%%HOMEPATH%\Documents\Paradox Interactive\Crusader Kings II\mod\<mod_path_name>" ".\<git_mod_folder>"
mklink /J "%HOMEDRIVE%%HOMEPATH%\Documents\Paradox Interactive\Crusader Kings II\mod\<mod_path_name>" ".\<git_mod_folder>"
第706行: 第704行:
===MOD调试===
===MOD调试===
 毫无疑问,更多隐藏的控制台指令(在控制台输入help也不会显示的内容)对MOD测试会起到巨大的作用。
 毫无疑问,更多隐藏的控制台指令(在控制台输入help也不会显示的内容)对MOD测试会起到巨大的作用。
* observe - 让你进入观察者模式。此时你不再控制任何特定的角色——这会让游戏不受打断地自动运行。同时,所有隐藏特质、秘密信仰等对观察者都是可见的。
*observe - 让你进入观察者模式。此时你不再控制任何特定的角色——这会让游戏不受打断地自动运行。同时,所有隐藏特质、秘密信仰等对观察者都是可见的。
* run <filename.txt> - 直接运行特定脚本。脚本将从当前玩家控制角色的作用域开始执行。这个功能有助于测试复杂的脚本——你可以直接打开一个窗口编辑脚本,保存,重新载入,调整——省下重新打开游戏的时间。
*run <filename.txt> - 直接运行特定脚本。脚本将从当前玩家控制角色的作用域开始执行。这个功能有助于测试复杂的脚本——你可以直接打开一个窗口编辑脚本,保存,重新载入,调整——省下重新打开游戏的时间。
* reloadevents - 重新载入和编译每一个事件(可能花费一会时间,取决于你的硬件)。对调试事件很有帮助,同样为你省下重新打开游戏的时间。
*reloadevents - 重新载入和编译每一个事件(可能花费一会时间,取决于你的硬件)。对调试事件很有帮助,同样为你省下重新打开游戏的时间。
* reloadloc - 重新载入本地化文件,有助于确定文本是否显示在正确的位置上。
*reloadloc - 重新载入本地化文件,有助于确定文本是否显示在正确的位置上。


 更多[[控制台指令]]可以在首页找到,用于实现杀掉某人之类的特定功能,这些对MOD测试同样必不可少。
 更多[[控制台指令]]可以在首页找到,用于实现杀掉某人之类的特定功能,这些对MOD测试同样必不可少。

2022年5月2日 (一) 21:17的版本

Modding, 或称为“模组制作”,是修改基本游戏(即原版)的行为, 无论是供个人使用,或者是公开发布给其他玩家,比如发布到Steam创意工坊

就所有p社游戏而言,ck2的模组制作有很大开放性,可以很显著的延伸游戏的内容,增强游戏的可玩性。 mod制作者的动机各不相同:更好的翻译成母语,更多的事件及决议,更棒的地图,亦或游戏整体大修改等等。

mod制作非魔术邪说也,人皆可学习相关知识以制作mod,这个指引旨在降低ck2模组制作的门槛。不过,无论学习资料有多么的好,制作mod的过程都会是十分曲折的,并且学习资料无法取代对阅读基础代码,以及不断调试的需要。总之,制作mod不是一天两天的功夫,而是一项宏伟的工程,努力是必须的。

指引

  • 为您的修改创建mod:即使是小的更改也要创建个人mod,并且切勿直接修改Steam CKII文件夹中的游戏文件,因为它们可能会在没有警告的情况下被覆盖。
  • 使用优质的文本编辑器 来编辑文件并搜索多个文件。请参见文本编辑器
  • 验证你的mod 使用The Validator,它将为您节省许多麻烦和时间,以解决崩溃和错误。
  • 尽量减少对原版文件的覆盖 通过添加单独的文件或尽可能地从文件夹加载,以改善mod兼容性和维护。
  • 使用适当的合并工具 以便在文件夹之间合并,并将修改后的原版文件更新为新的Vanilla补丁。
  • 备份您的工作 以避免丢失一切。如果是一个MOD制作组,请考虑使用诸如GitHub之类的源代码控制系统充当备份并管理协作。
  • 使用ANSI(Windows-1252)编码 用于文本文件。
  • 适当缩进 以轻松发现未闭合的花括号。原版使用1个制表符来缩进而不是空格。
  • 使用注释 以#字符开头,来记住编写棘手内容的原因。

文本编辑器

以下是支持CK2编程语言的文本编辑器:

Mod结构

mod文件被放置在 ~\Paradox Interactive\Crusader Kings II\mod, 里面必须包含:

  • .mod 文件, 告诉启动器如何加载你的mod
  • 包含mod数据好的文件夹或者是zip压缩包。mod数据的文件结构必须和本体的游戏结构相同,注意文件夹和文件的名称大小写在Mac和Linux上是敏感的,这意味着 Abc 和 abc 会被视为两个mod。

.mod 文件的文件名不能包含任何空格,否则在启动器重启的时候,不会被自动选中。

.mod 文件的内容如下所示:

关键字 必需? 效果 例子
name Yes 你的mod显示在启动器中的名称 name = "My Mod"
path Yes 定义哪个文件夹是你的mod文件夹。 其路径是相对于~\Documents\Paradox Interactive\Crusader Kings II\ . path = "mod/MyMod"
user_dir No 告诉启动器存储游戏或临时文件到特定的文件夹。 这对能改善mod的兼容性(例如新的标题,旗帜,宗教,文化,建筑之类的),让文件不会混淆在一起。

警告:不要给主mod的子mod设置 user_dir,因为所有激活mod的user_dir会连接在一起。

user_dir = "MyMod"
archive No 定义一个zip压缩包来代替文件夹。设置它的路径,路径是相对于 ~\Documents\Paradox Interactive\Crusader Kings II\ 的。这是从Steam创意工坊下载的mod使用的格式,但是在将mod上传到创意工坊时,必须使用path结构。 archive = "mod/mymod.zip"
replace_path No 告诉启动器覆盖对应文件夹的所有内容,并且只从mod中的指定路径加载。这是删除原版东西的唯一有效方式,而这经常被完全改动类mod所使用。

Notes:

  • replace_path作为文件夹工作,而不是文件.,覆盖一个文件,只需要在mod中创建一个同名文件。
  • replace_path只对对应文件夹中的文件有效,其子文件夹中的文件无效. 例如,覆盖“history”并不会覆盖“history/characters”。
  • 为了缩小mod体积、增强mod兼容性,尽可能少用replace_path.
  • 在旧版本中,replace_path在被安装到CK2安装目录/mod时通常被忽视,因此必须放入使用者文件。(见CK2模组目录
  • 除非你确实需要使用replace_path才使用,通常不用。
replace_path = "history"

replace_path = "history/characters"

dependencies No 告诉启动器,在此mod之前必须加载另一个mod。另一个模组将首先加载,允许另一个模组覆盖某些文件(否则第一个模组将先加载)。一个dependencies不是必要的;如果mod有一个集,则不需要加载dependencies。这只是 .mod文件告诉启动器应首先加载哪些文件的一种方式。

如果dependencies里的mod的名称包含空格,则必须将其括在转义引号中。"\"Mod with space in name\""

dependencies = { "MyMod" "\"Another Mod\"" }
picture No 模组文件夹下的图像可用作Steam创意工坊的展示图片。(将显示为 268 像素× 268 像素 JPEG) picture = "MyMod.jpg"
tags No Steam创意工坊的标签列表。警告:不要忘记包含空格的标签的引号。 tags = { "Tag1" "Tag 2" }
supported_checksums No 脚本条件将计算为true的预期校验和列表。这可以在事件模组制作中使用,以向玩家显示警告。supported_checksums supported_checksums = { ABCD EFGH }

以下是一些示例模组文件,具体取决于模组的类别:

小型mod

小型mod更常见一些,为了保证和其它小型mod的兼容性,请不要使用user_dir或者是replace_path

 name = "Small Mod"
 path = "mod/SmallMod"
 picture = "SmallMod.jpg"
 tags = { "Mods" "Small" }

大型mod

大型模组通常使用 user_dir 使保存内容无论如何都无法在开启此mod前加载。对于总转化模组, replace_path 用于完全覆盖在模组中没有意义的原版文件夹(histroy,flags等)。

 name = "Big Mod"
 path = "mod/BigMod"
 user_dir = "BigMod"
 replace_path = "history/provinces" 
 picture = "BigMod.jpg"
 tags = { "Mods" "Big" }

子mod

主mod的子mod通常用 dependencies 来覆盖主mod的文件。

 name = "Sub Mod"
 path = "mod/SubMod"
 dependencies = { "\"Main Mod\"" }
 picture = "SubMod.jpg"
 tags = { "Mods" "Main Mod" }

游戏数据

游戏结构

游戏数据是由包含游戏文件的文件夹及子文件夹组成。

模组遵循与基础游戏相同的文件夹结构,因此在加载游戏时,引擎将合并来自原版和mod的文件。在大多数文件夹中,引擎将加载其中的所有文件,这允许mod添加新的定义(头衔,宗教等),而无需复制和修改原版文件。若要利用这一点,请务必了解如何在文件级别和定义级别加载脚本。

加载模组时的行为如下:

  • 引擎根据某些硬编码的加载顺序处理文件夹和文件。
  • 如果将当前文件夹定义为 replace_path ,则该文件夹中的所有原版文件都将被忽略,并且只会加载mod文件(如果有)。
  • 如果 mod 文件夹和原版文件夹都包含同名的文件,则将忽略原版文件,并使用mod版本。
  • 在给定的文件夹中,文件的处理顺序通常是字母数字的,合并了 vanilla 和 mod 文件名,尽管某些文件夹可能具有不同的行为
  • 在多次遇到相同的定义(头衔,宗教,决议等)时,重复的定义可能:
    • 被忽略(第一个定义获胜)
    • 玩全覆盖上一个定义(最后一个定义优先)
    • 部分覆盖以前的定义(定义被合并/加法,这只有在实际有要合并的东西时才有意义:层次结构,列表等)
    • 两者共存/中断(在这种情况下,必须避免重复的ID)

以下是CKII游戏文件和文件夹的列表,以及相关的模组指南和加载行为。

对于加载行为,单元格颜色会突出显示行为是预期的行为奇怪的行为还是需要注意的行为是意外的,还是需要避免的行为

File/Folder What it contains How to mod Loading behavior
.\common\
  • achievements.txt
  • defines.lua
  • defines.txt
  • hints.txt
  • region_colors.txt
  • static_modifiers.txt
  • technology.txt
General information
  • Defines Steam Achievements
  • POP, general, diplomatic, economic and military variables
  • Defines playable start- and end-date
  • Defines the displayed hints
  • RGB code for each region
  • All difficulty, rank and standard modifiers
  • Technology data

Defines



Static modifiers
Technology modding

N/A
.\common\alternate_start\ Alternate start modding [?] Merge
.\common\artifact_spawns\ Artifact modding Merge.
.\common\artifacts\ Definitions of artifacts Artifact modding Merge.
.\common\bloodlines\ Bloodline modding
.\common\bookmarks\ Bookmarks are configured here (scenarios/start dates) Bookmark modding Merge. Bookmarks are listed chronologically in-game, whatever the order in files.
.\common\buildings\ Buildings folder, all buildings are stored here. Building modding [?] Merge
.\common\cb_types\ Casus Belli folder, all Casus-belli are stored here. Casus Belli modding Merge, but override of casus belli by re-using same name does not work (creates duplicate casus belli)
.\common\combat_tactics\ Combat tactics definitions. Unit modding [?] Merge
.\common\council_positions\ Conditions for an A.I. councillor to adopt a certain category of voting behavior. Councillor modding [?]
.\common\council_voting\ A.I. rules for how councillors from a behavior category will vote Councillor modding [?]
.\common\cultures\ Cultures folder, all cultures are stored here. Culture modding Merge. Since patch 2.4 cultures are merged like religions, and a new culture may be added to a vanilla culture_group via a separate file.
.\common\death\ Death definitions Death modding
.\common\death_text\ Flavor text for succession screen Death modding
.\common\defines\ Defines. Defines [?] Merge. Entries in files override common/defines.lua values.
.\common\disease\ Diseases definitions. Disease modding [?] Merge
.\common\dynasties\ Dynasties folder, all dynasties are stored here. Dynasty modding. Merge. Duplicate dynasties loaded before vanilla (i.e., 000_ prefix) will overwrite dynasty shields. Duplicates loaded after (i.e., z_ prefix) will overwrite dynasty names. To overwrite both, use duplicate files, one with a preceding prefix and one with a succeeding prefix.
.\common\event_modifiers\ Event_modifiers folder, all event modifiers are stored here Modifiers Merge.
.\common\execution_methods\ Execution methods Death modding [?]
.\common\game_rules\ Game rules definitions Game rules modding Merge. The rules are displayed in UI based on order of files (alphanumerical on file name), then order of rules within the file.
.\common\government_flavor\ Government naming definitions Government modding [?]
.\common\governments\ Government definitions Government modding Merge. It is possible to define governments of the same government group in different files.
.\common\graphicalculturetypes\ Graphicalculturetypes folder, all graphical culture types are stored here [?] Merge
.\common\heir_text\ Flavor text for succession screen Death modding
.\common\holding_types\ Conditions for being allowed to build each holding type. Government modding [?]. It is not possible to add new holding types.
.\common\job_actions\ Defines councillors actions Councillor modding Merge.
.\common\job_titles\ Defines councillors titles Councillor modding [?]
.\common\landed_titles\ Landed_titles folder, all landed titles are stored here. Title modding Merge. Merging behaviour is "complicated and might not have been designed that way intentionally"[1]
.\common\laws\ Law modding Merge. A law with the same name as an existing law will append conditions to the allow section, but not the potential section.
.\common\mercenaries\ Mercenaries folder, all mercenaries are stored here [?] Merge
.\common\minor_titles\ Minor titles, including honorary titles Minor title modding Cannot be overridden, attempts to do so will result in multiple minor titles with the same tags, like traits
.\common\modifier_definitions\ Defines dynamically defined modifiers, in particular special units modifiers. Unit modding [?] Merge
.\common\nicknames\ Nicknames folder, all nicknames are stored here Nickname modding Merge.
.\common\objectives\ Objectives folder, all objectives (i.e. ambitions, factions, and plots) are stored here. Objective modding [?] Merge
.\common\offmap_powers\
  • policies\
  • statuses\
Defines nations not represented on the map, but with a significant influence over it. Offmap power modding [?] Merge. Does NOT require Jade Dragon DLC.
.\common\on_actions\ On_actions folder, all on_actions are stored here Event modding Merge. Since patch 2.4 on_actions are merged, with new events being added to the previous list for a particular on_action, instead of replacing the list.
.\common\opinion_modifiers\ Opinion modifiers folder, all opinion modifiers are stored here Modifiers [?] Merge
.\common\province_setup\ Deprecated since patch 3.0.
.\common\religion_features\ Religion modding [?] Merge, but features with the same key get duplicated
.\common\religion_modifiers\ Religion_modifiers folder, all religion modifiers are stored here. Modifiers [?] Merge
.\common\religions\ Religions folder, all religions are stored here. Religion modding
Merge. Vanilla religions can be overridden, without needing to duplicate the whole religion group. Restrictions: need to define reformed religion before the non-reformed.
.\common\religious_titles\ Religious_titles folder, all religious titles are stored here [?] Merge
.\common\retinue_subunits\ Retinue subunits folder, all retinue subunits are stored here [?] Merge, but retinues with the same key get duplicated
.\common\save_conversion\ Save game compatibility [?]
.\common\scripted_effects\ Scripted effects [?] Merge
.\common\scripted_score_value\ Scripted score value [?] Merge
.\common\scripted_triggers\ Scripted triggers Merge, but scripted triggers with same name append their conditions rather than replacing the original one.
.\common\societies\ Definition of societies Society modding Merge, but override of societies by re-using same name does not work (creates duplicate societies)
.\common\special_troops\ Special units definitions Unit modding [?] Merge
.\common\stories\ Not used. N/A
.\common\succession_voting\ Succession voting rules and AI behavior Succession modding [?] Merge
.\common\trade_routes\ Trade route definitions. Trade route modding [?]
.\common\traits\ Traits folder, all traits are stored here. Trait modding Merge, but traits with same name will co-exist, and generated characters may get both versions of the trait at the same time. The last definition gets assigned to a character when using commands.
.\common\tributary_types\ Tributary relationship definitions. Tributary modding [?]
.\common\triggered_modifiers\ Defines global modifiers that trigger under certain conditions Triggered modifiers [?] Merge
.\connectui\ Appears to be leftover interface for the discontinued Paradox Connect service (used in older Clausewitz games CK2 is based on). Unusable
.\decisions\ Decisions folder, all decisions are stored here Decision modding Merge, but override of decision by re-using same name does not work (breaks the decision effect, that does nothing)
.\dlc\ Contains DLC information and zipped content files DLC files N/A
.\dlc_metadata\ ? ?
.\eu4_converter\ Europa Universalis 4 Save Converter folder, all files related to the EUIV converter are stored here.

Note: vanilla files were moved inside /dlc/dlc030.zip

EU4 Converter modding [?]
.\events\ Events folder, all events are stored here. Event modding Merge. If redefining an event in a file loaded alphabetically after the original file, the event will be fully overridden.

Developers have discouraged this practice, as that engine behavior is not guaranteed to remain in the future (source ?)

.\gfx\
  • ambitions\
  • characters\
  • coats_of_arms\
  • cursors\
  • eurfonts\
  • event_pictures\
  • flags\
  • fonts\
  • FX\
  • interface\
  • loadingscreens\
  • mapitems\
  • models\
  • polishfonts\
  • titles\
  • traits\
Graphics folder, all graphics are stored here. Graphics modding

Graphics are mapped to a logical name (GFX_xxx) inside .\interface\*.gfx files
Warning: a missing flag for a title in flags\ will cause wrong flags to appear for most titles, due to a shift.

.\history\ Historical data for characters, titles, provinces and wars for the possible start dates. This is a likely the text export of an internal database, which is sometime mentioned in the patch notes.[2] History modding N/A
.\history\characters\ Historical characters, optionally associated to a dynasty from \common\dynasties\ folder. Character modding [?] Merge. Duplicate character IDs break the character history and must be avoided.
.\history\diplomacy\ Not used N/A N/A
.\history\offmap_powers\ History of offmap powers (holder, status, ...) Offmap power modding [?] Merge
.\history\provinces\ History of provinces (holdings built, change of culture or religion) Province modding [?] Merge
.\history\technology\ Initial technology of provinces, depending on the start date. Technology modding [?]
.\history\titles\ History of titles (list of successive holders) Note: titles that should be deactivated at game start (ex: reformed religion heads) must have an history file that disables the title. [?] Merge
.\history\wars\ Important on-going wars (attacker, defender, Casus Belli, war score, ...), usually for historical bookmarks. [?] Merge
.\interface\
  • generalstuff.gfx
  • sound.sfx
Interface graphics Interface modding
  • Loading of *.gfx files is in alphanumerical order. Last spriteType definition loaded overrides previous ones with same name, if any (i.e. use zz_ file prefix to override vanilla sprites).
  • Only sound.sfx is taken into account, other .sfx files are ignored.
.\interface\coat_of_arms\ Coats of arms modding Coat of arms definitions can be split across multiple files. No support for appending existing definitions from a different file.
.\interface\portrait_offsets\ .txt files with external offsets for portrait frames Portrait modding
.\interface\portrait_properties\ Dynamic rules to select portrait properties values Portrait modding [?]
.\interface\portrait\ Definitions of spriteType and portraitType elements for portraits. Portrait modding Merge
.\launcher\ Launcher graphics and configuration N/A
.\localisation\ All text data for things like country names and event description, has options for other languages Localisation Full override. If duplicates are in different files, first file loaded wins (i.e. use 00_ file prefix to override vanilla keys). If in same file, last duplicate in file wins. Warning: files must end with .csv extension, or they will not be taken into account.
.\localisation\customizable_localisation\ Custom localisation commands definitions Localisation#Custom commands [?] Merge.
.\map\
  • adjacencies.csv
  • default.map
  • definition.csv
  • geographical_region.txt
  • positions.txt
  • provinces.bmp
  • rivers.bmp
  • terrain.bmp
  • topology.bmp
  • trees.bmp
  • world_normal_height.bmp
Map settings, province shapes, continents, regions etc. Map modding N/A
.\map\statics Map external frame size, and positions of fixed 3D map elements (wonders, etc.) Map modding
.\map\terrain Map modding
.\mod\ Dummy mod folder, do not store mods here, use local mod folder Mod file Breaks mods, as configurations like replace_path are ignored.
.\music\ Music used by the game Music modding [?] All .txt files song elements are loaded.
.\sound\ All sounds except music [?]
.\tutorial\ Tutorial configuration [?]

具体指南

仅包含上面或以其他方式“如何修改”列中尚未链接的指南。



工具与实用程序

这些是modder用的实用工具。 玩家使用的请看实用工具.

高级技巧

  • For the bigger mods using a source control management tool (Git, ...), it is handy to create a symbolic link between CKII mod folder and the working directory of the local repository, especially if the mod also has sub-mods. Note that you'll still need to copy the .mod file(s) manually, but they rarely change. Run the following command from the parent directory of main git folder, replacing:
    • <mod_path_name> by the value of path attribute from .mod file
    • <git_mod_folder> by the name of the sub-folder that contain mod data (folders common, decisions, events, etc...)
mklink /J "%HOMEDRIVE%%HOMEPATH%\Documents\Paradox Interactive\Crusader Kings II\mod\<mod_path_name>" ".\<git_mod_folder>"

MOD调试

毫无疑问,更多隐藏的控制台指令(在控制台输入help也不会显示的内容)对MOD测试会起到巨大的作用。

  • observe - 让你进入观察者模式。此时你不再控制任何特定的角色——这会让游戏不受打断地自动运行。同时,所有隐藏特质、秘密信仰等对观察者都是可见的。
  • run <filename.txt> - 直接运行特定脚本。脚本将从当前玩家控制角色的作用域开始执行。这个功能有助于测试复杂的脚本——你可以直接打开一个窗口编辑脚本,保存,重新载入,调整——省下重新打开游戏的时间。
  • reloadevents - 重新载入和编译每一个事件(可能花费一会时间,取决于你的硬件)。对调试事件很有帮助,同样为你省下重新打开游戏的时间。
  • reloadloc - 重新载入本地化文件,有助于确定文本是否显示在正确的位置上。

更多控制台指令可以在首页找到,用于实现杀掉某人之类的特定功能,这些对MOD测试同样必不可少。

外部链接

更多

引用