最后版本 |
您的文本 |
第1行: |
第1行: |
| {{Version|timeless}}{{需要翻译}} | | {{Version|timeless}}{{需要翻译}} |
| ''' 模组制作'''('''Modding''') ,或者说创建[[ 模组]] ,是一种修改游戏 资源或行为 的方式,有时候仅仅是为了个人使用,有时候制作者也会发布出来供其它玩家一起使用。可以通过以下途径了解mod制作[https://mods.paradoxplaza.com/games/ck3 Paradox Mods]和[https://steamcommunity.com/app/1158310/workshop/ Steam Workshop]。
| | 模组制作,或者说创建模组,是一种修改游戏 内容 的方式,有时候仅仅是为了个人使用,有时候制作者也会发布出来供其它玩家一起使用。可以通过以下途径了解mod制作[https://mods.paradoxplaza.com/games/ck3 Paradox Mods]和[https://steamcommunity.com/app/1158310/workshop/ Steam Workshop]。 |
|
| |
|
| 在所有的P社游戏中, 十字军之王3 的可修改程度都是相当高的。mod制作者可以修改的内容也相当宽泛,比如语言翻译,更多的事件和决议,更优秀的地图,更大程度上的内容修改和作弊。 | | 在所有的P社游戏中, 王国风云3 的可修改程度都是相当高的。mod制作者可以修改的内容也相当宽泛,比如语言翻译,更多的事件和决议,更优秀的地图,更大程度上的内容修改和作弊。 |
|
| |
|
| 这篇引导的目的在于降低制作mod的门槛。但是学习的曲线总是曲折的,这需要你通过不断的练习和阅读他人优秀mod代码来提升自己制作mod的水平。 | | 这篇引导的目的在于降低制作mod的门槛。但是学习的曲线总是曲折的,这需要你通过不断的练习和阅读他人优秀mod代码来提升自己制作mod的水平。 |
|
| |
|
| 大多数模组会改变校验码,这在1.9版本之前的游戏中将禁用成就。在{{Cite file|Crusader Kings III\game}}中的{{Cite file|checksum_manifest.txt}}查看校验文件夹和文件。不会改变校验码的是替换纹理、字体、着色器或音乐的模组。
| | |
|
| |
|
| == 提示 & 指引== | | == 提示 & 指引== |
| | * '''创建一个mod对游戏进行修改''': 即使是很小的改动,也不要直接修改CK3游戏本体的游戏文件,而是要单独创建一个mod。因为本体更新时会直接覆盖这些修改,并且没有任何提示。 |
| | * '''使用好的文本编辑器''' 用来编辑mod文件。 |
| | * '''通过 error.log 文件检查mod运行中出现的bug'''. <nowiki>...\Documents\Paradox Interactive\Crusader Kings III\logs</nowiki> |
| | * '''CK3文件夹在Linux系统的路径 ''' <nowiki>/.local/share/Paradox Interactive/Crusader Kings III</nowiki> |
|
| |
|
| *'''创建一个mod对游戏进行修改''': 即使是很小的改动,也不要直接修改CK3游戏本体的游戏文件,而是要单独创建一个mod。因为本体更新时会直接覆盖这些修改,并且没有任何提示。
| | === 本地化文件 === |
| *'''使用好的文本编辑器''' 用来编辑和搜索文件。以下软件均免费:
| |
| **[https://code.visualstudio.com/ Visual Studio Code]. 可使用[https://marketplace.visualstudio.com/items?itemName=dragon-archer.paradox-highlight Paradox Highlight]插件为Crusader Kings III和其它Paradox Games提供最新版的语法高亮。还有一个粉丝自制的CWTools扩展,具有Paradox语法高亮、验证以及触发器和效果的工具提示。要安装它,请到VS左侧面板的扩展,搜索CWTools。(注意:验证规则是不完整的,会在gui和本地化文件中显示许多错误)
| |
| **[https://notepad-plus-plus.org/downloads/ Notepad++]。选择Perl作为你的语言,因为它可以提供良好的高亮显示,并允许折叠代码块和注释。要将其设置为默认语言,请进入“设置”,“样式器配置器”,在左侧列表中找到Perl,并在底部的“User ext.”字段中添加“gui txt”(不加引号)。
| |
| **[https://atom.io/ Atom]。不包括本地化文件所需的UTF-8-BOM编码。除此之外,其可自定义程度高。选择Perl 6作为你的语言以获得更好的效果。要将其设置为默认,请到文件,配置,找到“core:”,并在下面添加:“customFileTypes: "source.perl6"。["txt""gui"]",比如[https://discuss.atom.io/t/how-do-i-make-atom-recognize-a-file-with-extension-x-as-language-y/26539 这个例子]。
| |
| **[https://www.sublimetext.com/ Sublime Text]. 这个链接本身是《大将军:罗马》的扩展,但是也可以用在ck3上: [https://forum.paradoxplaza.com/forum/index.php?threads/sublime-tools-for-imperator.1274246/ Sublime Tools]. 这个扩展为效果和触发器添加了不同的颜色高亮。如果你想要在sublime里切换注释就还需要在同一个User文件夹里添加[https://cdn.discordapp.com/attachments/563655919892692996/649656191173263370/PDXComments.tmPreference this file] 。
| |
| *'''总是通过 error.log 文件检查mod运行中出现的bug'''。<nowiki>...\Documents\Paradox Interactive\Crusader Kings III\logs</nowiki>
| |
| *'''日志文件夹还包含效果、触发器和作用域列表。'''在游戏中使用控制台命令"script_docs"和"DumpDataTypes"来生成它们。
| |
| *'''使用-debug_mode -develop开始游戏''' 启动选项使用控台以及"reload gui", "reload gfx"命令
| |
| **Steam:右键点击游戏->属性->启动选项->填入 -debug_mode -develop
| |
| **Windows: Create a shortcut for the .exe file -> right-click it -> Properties -> add -debug_mode -develop at the end of the Target field
| |
| *'''CK3文件夹在Linux系统的路径 ''' <nowiki>~/.local/share/Paradox Interactive/Crusader Kings III</nowiki>
| |
| * '''清晰明了的传达你的MOD的关键内容'''
| |
| **你的MOD说明应当以简短并清晰的描述开始,说明你的MOD为游戏增添或更改的内容。切忌以长篇大论、长长的告示列表、前提条件以及安装介绍等等开头。
| |
| **不要假设用户已经了解过这个mod了。(如果他们已经了解了这个mod就不会再读你的描述了)
| |
| **标明这个mod支不支持成就和铁人模式。 (即使你觉得这已经很明显了也要标出来)
| |
| *当你订阅这个mod的steam版本时,记得移除你放在本地的mod,否则这个mod可能会出现问题或者无法运行。
| |
| *记得保存和备份。要么手动保存要么存在github一类的地方。Github同时也是合作制作mod的好工具。
| |
| *用[https://winmerge.org/?lang=en WinMerge]一类的工具来合并文件夹,更新、修改文件以及打补丁。
| |
| *当你想要换掉大量的文字时,最好使用正则表达式。 所有上面提到的编辑器都可以用. 资源: [https://regexone.com/ RegexOne], [https://regexr.com/ RegExr].
| |
| | |
| === 本地化文件===
| |
| | |
| *本地化文件夹中的yml后缀结尾的文件必须以'''UTF-8 + BOM'''编码保存,以便游戏正确读取。 | | *本地化文件夹中的yml后缀结尾的文件必须以'''UTF-8 + BOM'''编码保存,以便游戏正确读取。 |
| *为了保证游戏正确读取文件,文件名需要以'''*l_<language>.yml'''形式保存。例如'''council_l_english.yml'''。 | | *为了保证游戏正确读取文件,文件名需要以'''*l_<language>.yml'''形式保存。例如'''council_l_english.yml'''。 |
| ** 你必须使用美式拼写"localization"。使用英式拼写"localization"会无法运行。
| |
| * 如果要重写原始的本地化数值, 将你修改过的文件放入名为localization文件夹内名为"replace"的文件夹.
| |
|
| |
| ==创建一个模组==
| |
| {{main|Mod structure#Creating initial files}}
| |
|
| |
| 推荐使用游戏官方登陆器来创建初始文件。
| |
|
| |
| ==上传/更新模组==
| |
| 再次上传您的模组更新,
| |
|
| |
|
| #打开启动器,
| | == mod标签 == |
| #导航到“Mods”部分,
| |
| #点击“Mod工具”,从下拉菜单中选择你的模组。
| |
| #选择什么平台上传它。
| |
| #输入任何描述。(如果更新,请确保启动器从网站上复制最新的描述。)
| |
| #添加一个缩略图
| |
| #*对于Steam创意工坊,把thumbnail.png放在mod文件夹里。使用1:1的比例,最大1MB。创意工坊显示的最大缩略图约为600x600像素。
| |
| #*对于Paradox Mods,将缩略图拖到描述下方的区域。建议最小尺寸为900x500,png或jpg,最大1MB。
| |
| #点击“上传MOD”。
| |
| #*在Steam上,模组将以私人模式上传,并出现在你的Steam资料->创意工坊项目中。打开它,并将侧栏上的可见性改为 “公开”,即可实际发布。
| |
| #*在Paradox Mods上,mod将在验证过程后被发布。你可能需要编辑你的描述,因为网站通常会删除换行符和BBCode格式。
| |
|
| |
|
| ==保存修改的内容==
| | Overhaul |
|
| |
|
| 保存的文件被放在:
| | Cosmetic |
|
| |
|
| *Windows: Documents\Paradox Interactive\Crusader Kings III\save games
| | [[Exporters]] (Maya and Photoshop) |
| *Linux: ~/.local/share/Paradox Interactive/Crusader Kings III/save games
| |
|
| |
|
| '' 铁人档是不 可 修改 的 !'' | | == 创建一个新的mod == |
| | * 打开 CK3 启动器 |
| | * 跳转到 mod 部分 |
| | * 点击'Mod Tools' 按钮打开mod创建界面 |
| | * 在mod 创建界面,你 可 以设置mod 的 名称,版本,路径以及标签 |
| | * 以上步骤完成后,点击'Create Mod' |
| | * 创建完成后,该mod相关的文件就会出现在游戏mod文件夹下(Windows默认路径: <code>C:\Users\%USERPROFILE%\Documents\Paradox Interactive\Crusader Kings III\mod</code>) |
|
| |
|
| 首先在debug模式下开 一 局 游戏并 且保 存。 | | == 创建一个永生的人物特质 == |
| | 与CK2 一 样,永生在 游戏 发布时 并 不 存 在,但是已经有相关的实现,可以轻松创建 。 只需要向特征添加以下参数: <code>immortal = yes</code> |
|
| |
|
| *Steam: 在Steam 上 右键单击游戏 -> Properties -> Set Launch Options -> 勾选debug_mode
| | 为了让长生者看 上 去一直年轻,可以设定永生者的年龄,只需如下设置:<code>set_immortal_age = 30</code> |
|
| |
|
| *Windows: 为.exe文件创建一个快捷方式 -> 右键单击-> Properties -> add -debug_mode at the end of the Target field
| | == 保存修改的内容 == |
| | 手动保存编辑的内容: |
|
| |
|
| PC(Windows): | | PC(Windows): |
| | | # 右键 ,选中"7-Zip: extract here"(用解压缩 提取压缩 包的内容) |
| #在保存游戏的文件夹内找到你保存的游戏
| | # 将提取出的'gamestate'文件的扩展名重名为.ck3 |
| #右键 单击此文件用7-Zip 或者 WinRar 提取 出 压缩 文件. | | # 保存 此纯 文 本 |
| #将提取出的'gamestate'文件的扩展名重名为.ck3 | | # 游戏中会直接加载mod(不需要重复压缩) |
| # 右键单击并且用编辑器打开 (不推荐使用windows notepad,因为这些文件很大). | |
| #编辑并 保存文 件。
| |
| #游戏中会直接加载mod(不需要重复压缩) 。 | |
| | |
| 你可以直接编辑自动保存的游戏without extracting the gamestate.
| |
|
| |
|
| Mac: | | Mac: |
| | # 打开终端 |
| | # 确认当前路径是正确的 |
| | # 输入命令 "unzip FileName.ck3" |
| | # 将提取出的'gamestate'文件的扩展名重名为.ck3 |
| | # 保存此纯文本 |
| | # 游戏中会直接加载mod(不需要重复压缩) |
|
| |
|
| #打开终端
| |
| #确认当前路径是正确的
| |
| #输入命令 "unzip FileName.ck3"
| |
| #将提取出的'gamestate'文件的扩展名重名为.ck3
| |
| #保存此纯文本
| |
| #游戏中会直接加载mod(不需要重复压缩)
| |
|
| |
|
| | '''自动保存''' 使用不同的格式,并且'''不能'''以相同的方式进行编辑。 |
| {| class="wikitable" | | {| class="wikitable" |
| !平台!!保存方式!!路径 | | ! 平台 !! 保存方式 !! 路径 |
| |- | | |- |
| |Windows||本地||<code>C:\Users\%USERPROFILE%\Documents\Paradox Interactive\Crusader Kings III\save games</code> | | | Windows || 本地 || <code>C:\Users\%USERPROFILE%\Documents\Paradox Interactive\Crusader Kings III\save games</code> |
| |- | | |- |
| |Windows||Steam 云端||<code>C:\Program Files (x86)\Steam\userdata\####\1158310\remote\save games</code> | | | Windows || Steam 云端|| <code>C:\Program Files (x86)\Steam\userdata\####\1158310\remote\save games</code> |
| |- | | |- |
| |Mac||本地||<code>$HOME/Documents/Paradox Interactive/Crusader Kings III/save games</code> | | | Mac || 本地 || <code>$HOME/Documents/Paradox Interactive/Crusader Kings III/save games</code> |
| |- | | |- |
| |Linux||本地||<code>$HOME/.local/share/Paradox Interactive/Crusader Kings III/save games</code> | | | Linux || 本地 || <code>$HOME/.local/share/Paradox Interactive/Crusader Kings III/save games</code> |
| |} | | |} |
|
| |
|
| === gamestate文件中的内容 === | | == 工具与实用程序 == |
| The table below contains the possible first-level blocks in the gamestate file. Entries are provided in order of appearance.
| | * [https://forum.paradoxplaza.com/forum/threads/information-and-faq.924764/ Clausewitz Maya Exporter]: 一个可以创建和导出3D模型并且在CK3和其他Clausewitz游戏中使用的工具。 |
| {| class="wikitable mw-collapsible mw-collapsed"
| |
| ! Block
| |
| ! Description
| |
| |-
| |
| | meta_data
| |
| | Contains metadata about the game, such as the game version. Used by the main menu screen.
| |
| |-
| |
| | ironman_manager
| |
| | Related to ironman saving.
| |
| |-
| |
| | (various variables)
| |
| | These variables do not belong in a block.
| |
| {| class="wikitable"
| |
| ! Variable
| |
| |-
| |
| | date
| |
| |-
| |
| | bookmark_date
| |
| |-
| |
| | first_start
| |
| |-
| |
| | speed
| |
| |-
| |
| | random_seed
| |
| |-
| |
| | random_count
| |
| |}
| |
| |-
| |
| | variables
| |
| | Contains script flags.
| |
| |-
| |
| | game_rules
| |
| | Contains the save's current game rules.
| |
| |-
| |
| | provinces
| |
| | Contains province data, including buildings.
| |
| |-
| |
| | landed_titles
| |
| | Contains the following sub-blocks:
| |
| {| class="wikitable"
| |
| ! Sub-block
| |
| ! Description
| |
| |-
| |
| | dynamic_templates
| |
| |
| |
| |-
| |
| | landed_titles<br>''(repetition)''
| |
| | Contains an entry for each landed title in the game, in the format:
| |
| <pre>
| |
| # Exact formatting in file is different in terms of spaces and lines
| |
| # It is usually more compact.
| |
| # It has been edited here for clarity and demonstration.
| |
| | |
| | |
| # Index for titles starts at 0
| |
| index={
| |
| key="(title id)" # The one used in 00_landed_titles.txt, e.g. k_england
| |
| | |
| de_facto_liege=(title index) # Optional
| |
| de_jure_liege=(title index) # Optional. The number at the start of a similar block, NOT the title id
| |
| de_jure_vassals={ (title index...) } # Optional, list of title indices.
| |
| holder="(character id)" # Optional
| |
| | |
| name="..."
| |
| adj="..." # Optional
| |
| pre="..." # Optional
| |
| article="..." # Optional
| |
| | |
| date=2020.10.27 # yyyy.mm.dd
| |
| heir={ (character id...) } # Optional. List of character ids.
| |
| claim={ (character id...) } # Optional
| |
| history = { (...) } # Optional
| |
| capital=(province id)
| |
| capital_barony=yes # Optional
| |
| theocratic_lease=yes # Optional
| |
| history_government="(government id)" # Optional
| |
| laws={ "(law id)"... } # Optional. List of law ids.
| |
| | |
| # Optional (succession_election).
| |
| succession_election={
| |
| electors = { (character id...) }
| |
| candidates={ (character id...) }
| |
| nominations={
| |
| {
| |
| elector=(character id)
| |
| candidate=(character id)
| |
| strength=(value)
| |
| }
| |
|
| |
| }
| |
| } # end of succession_election block
| |
| | |
| coat_of_arms_id=(coat of arms id)
| |
| localization_key="(localization key)" # Optional
| |
| | |
| # All below is used for mercenary bands
| |
| special={
| |
| type=mc
| |
| identity=(id)
| |
| }
| |
| color=rgb { (r) (g) (b) }
| |
| landless=yes
| |
| destroy_if_invalid_heir=yes
| |
| no_automatic_claims=yes
| |
| definite_form=yes
| |
| }
| |
| </pre>
| |
| In vanilla CK3, this block ends at entry ~12369.
| |
| |-
| |
| | index=(value)<br>''(variable)''
| |
| |
| |
| |}
| |
| |-
| |
| | dynasties
| |
| | Contains the following sub-blocks:
| |
| * dynasty_house (ends at entry ~6401)
| |
| * dynasties (ends at entry ~6239)
| |
| * static_dynasties (list of numbers)
| |
| * static_dynasty_houses (list of numbers)
| |
| |-
| |
| | deleted_characters
| |
| |
| |
| |-
| |
| | living
| |
| | Contains entries of living characters. The following format is used for each character:
| |
| <pre>
| |
| index={
| |
| first_name="..."
| |
| birth=(date) # Format: yyy.m.d
| |
| female=yes # Optional
| |
| was_playable=yes # Optional
| |
| nickname="nick_..." # Optional
| |
| culture=(culture index) # Optional if dynasty_house is specified, defaults to dynasty_house culture. Required if no dynasty_house, or culture different from that of dynasty_house.
| |
| faith=(faith index) # Optional if dynasty_house is specified, defaults to dynasty_house faith. Required if no dynasty_house or faith different from that of dynasty_house.
| |
| dynasty_house=(dynasty house index) # Optional, must specify culture and faith if omitted
| |
| skill={ (diplomacy) (stewardship) (martial) (intrigue) (learning) (prowess) } # One value for each skill
| |
| prowess_age=(value) # Optional. Negative value.
| |
| dna="(dna string)" # Optional
| |
| mass=(value) # Optional, exclusive with weight
| |
| weight={ # Optional, exclusive with mass
| |
| base=(value)
| |
| current=(value) # Optional
| |
| target=(value) # Optional
| |
| }
| |
| | |
| sexuality=(value) # Optional. Defaults to heterosexual. Valid values: ho, bi, as, none. None is for children under 10.
| |
| traits={ (trait index...) } # Optional. List of trait indices. Typically omitted for young children.
| |
| recessive_traits = { (trait index...) } # Optional. List of trait indices
| |
| inactive_traits = { (trait index...) } # Optional. List of trait indices
| |
|
| |
| # Optional (family_data)
| |
| family_data={
| |
| real_father=(character id) # Optional
| |
| betrothed=(character id) # Optional
| |
| primary_spouse=(character id) # Optional. Equal to one of the spouse ids.
| |
| spouse=(character id) # Optional. First spouse
| |
| spouse=(character id) # Optional. Second spouse
| |
| spouse=(character id) # Optional. Third spouse
| |
| spouse=(character id) # Optional. Fourth spouse
| |
| concubine=(character id) # Optional. First concubine
| |
| concubine=(character id) # Optional. Second concubine
| |
| concubine=(character id) # Optional. Third concubine
| |
| former_spouses={ (character id...) } # Optional. List of character ids
| |
| former_concubines={ (character id...) } # Optional. List of character ids
| |
| former_concubinists={ (character id...) } # Optional. List of character ids
| |
| child = { (character id...) } # Optional. List of character ids
| |
| }
| |
| | |
| alive_data={
| |
| | |
| # Optional (variables), contains flags
| |
| variables={
| |
| data={
| |
| # (...)
| |
| }
| |
| }
| |
| | |
| # Optional (modifiers), various locations in alive_data
| |
| modifier={
| |
| modifier="(modifier)"
| |
| expiration_date=(date)
| |
| }
| |
| | |
| gold=(value) # Optional
| |
| income=(value) # Optional
| |
| location=(landed title index) # Optional
| |
| stress=(value) # Optional
| |
| fertility=(value)
| |
| health=(value)
| |
| piety={
| |
| currency=(value)
| |
| accumulated=(value) # Optional. Devotion
| |
| }
| |
| prestige={
| |
| currency=(value) # Optional
| |
| accumulated=(value) # Optional. Fame
| |
| }
| |
| focus={ # Optional
| |
| type="(value)" # Education or lifestyle
| |
| date=(date)
| |
| changes=(value)
| |
| progress=(value)
| |
| }
| |
| secrets= { (id...) } # Optional. List of ids
| |
| targeting_secrets={ (id...) } # Optional. List of ids
| |
| schemes={ (id...) } # Optional. List of ids
| |
| targeting_schemes={ (id...) } # Optional. List of ids
| |
| heir={ (ids...) } # Optional. List of ids
| |
| pretender={ (ids...) } # Optional. List of ids
| |
| claim={ { # Optional. List of claims
| |
| title=(title id)
| |
| pressed=yes # Optional
| |
| }
| |
| }
| |
| used_punishments={ # Optional. List of reasons
| |
| (value)={
| |
| imprisonment_reason=yes # Optional
| |
| revoke_title_reason=yes # Optional
| |
| }
| |
| }
| |
| lifestyle_xp={ # Optional
| |
| diplomacy_lifestyle=(value) # Optional
| |
| martial_lifestyle=(value) # Optional
| |
| stewardship_lifestyle=(value) # Optional
| |
| intrigue_lifestyle=(value) # Optional
| |
| learning_lifestyle=(value) # Optional
| |
| }
| |
| perk={ ... } # Optional. List of perks
| |
| prison_data={ # Optional
| |
| imprisoner=(character id)
| |
| date=(date)
| |
| imprison_type_date=(date)
| |
| type="(value)" # house_arrest or dungeon
| |
| }
| |
| weight_update=(value) # Optional
| |
| kills={ (character ids... } # Optional. List of character ids
| |
| pool_history=(date) # Optional
| |
| wars={ (value) (value) (value) (value) } # Optional
| |
| } # End of alive_data block
| |
| | |
| court_data={
| |
| # All keys within this block are optional
| |
| host=(value)
| |
| employer=(character id)
| |
| council_task=(council task index)
| |
| special_council_tasks={ (value...) }
| |
| army=(value)
| |
| regiment=(regiment index)
| |
| knight=yes
| |
| wants_to_leave_court=yes
| |
| leave_court_date=(date)
| |
| }
| |
| | |
| # Optional (landed_data)
| |
| landed_data={
| |
| domain={ (landed title index...) } # List of landed title indices
| |
| vassal_contracts={ (values) } # List of values
| |
| units= { (values...) } # Optional
| |
| last_war_finish_date=(date) # Optional
| |
| last_raid=(date) # Optional
| |
| became_ruler_date=(date)
| |
| laws={ "(law id)"... } # List of law ids
| |
| strength=(value)
| |
| strength_for_liege=(value) # Optional
| |
| liege_tax=(value) # Optional
| |
| balance=(value)
| |
| dread=(value) # Optional
| |
| known_schemes={ (ids...) } # Optional. List of ids
| |
| succession={ (character id...) } # List of character ids
| |
| is_powerful_vassal=yes # Optional
| |
| vassal_power_value=(value) # Optional
| |
| domain_limit=(value)
| |
| vassal_limit=(value) # Optional
| |
| vassals_towards_limit=(value) # Optional
| |
| government="(government id)"
| |
| realm_capital=(value)
| |
| ai_allowed_to_marry=yes
| |
| council={ (value...) } # List of values
| |
| at_peace_penalty=(value)
| |
| diplo_centers={ (value...) } # List of values
| |
| election_titles={ (landed title index...) } # List of landed title indices
| |
| absolute_control=yes # Optional
| |
| interaction_cooldowns={ # Optional
| |
| (interaction)=(date)
| |
| }
| |
| } # End of landed_data block
| |
| | |
| # Optional (playable_data)
| |
| playable_data={
| |
| knights={ (character id...) } # List of character ids
| |
| was_player=yes
| |
| }
| |
| | |
| }
| |
| | |
| </pre>
| |
| |-
| |
| | dead_unprunable
| |
| | Contains character entries.
| |
| |-
| |
| | characters
| |
| | Contains the following sub-blocks:
| |
| * dead_prunable (contains character entries)
| |
| * prune_queue
| |
| * dummy_female (contains a character entry)
| |
| * dummy_male (contains a character entry)
| |
| * unborn (contains unborn data entries)
| |
| * natural_deaths
| |
| * current_natural_death
| |
| * sexuality_chances
| |
| |-
| |
| | character_lookup
| |
| |
| |
| |-
| |
| | units
| |
| |
| |
| |-
| |
| | activities
| |
| |
| |
| |-
| |
| | opinions
| |
| | Contains the following sub-blocks:
| |
| * active_opinions (contains opinion entries)
| |
| |-
| |
| | relations
| |
| | Encompasses hooks, alliances, Contains the following sub-blocks:
| |
| * active_relations
| |
| |-
| |
| | schemes
| |
| | Contains the following sub-blocks:
| |
| * active (contains scheme entries)
| |
| |-
| |
| | stories
| |
| | Contains the following sub-blocks:
| |
| * active (contains story entries)
| |
| * next=(date) ''(variable)''
| |
| |-
| |
| | pending_character_interactions
| |
| | Contains the following sub-blocks:
| |
| * data
| |
| * player
| |
| |-
| |
| | secrets
| |
| | Contains the following sub-blocks:
| |
| * secrets (contains entries of secrets) ''(repetition)''
| |
| ** indices
| |
| *** type
| |
| *** target
| |
| **** type
| |
| **** identity=(id)
| |
| *** owner=(id)
| |
| *** relation_type
| |
| *** participants = { (ids)}
| |
| * known_secrets = {
| |
| ** secret=(id)
| |
| ** owner=(id)
| |
| |-
| |
| | armies
| |
| | Contains the following sub-blocks:
| |
| * regiments
| |
| * army_regiments
| |
| * armies
| |
| |-
| |
| | religion
| |
| | Contains the following sub-blocks:
| |
| * religions
| |
| * faiths
| |
| * great_holy_wars
| |
| * holy_sites
| |
| |-
| |
| | wars
| |
| | Contains the following sub-blocks:
| |
| * active_wars
| |
| * names
| |
| |-
| |
| | sieges
| |
| | Contains the following sub-blocks:
| |
| * sieges ''(repetition)''
| |
| |-
| |
| | raid
| |
| | Contains the following sub-blocks:
| |
| * raid ''(repetition)''
| |
| |-
| |
| | succession
| |
| |
| |
| |-
| |
| | holdings
| |
| |
| |
| |-
| |
| | ai
| |
| | Contains the following sub-blocks:
| |
| * war_coordinator_db
| |
| * war_plan_db
| |
| * ai_stategies
| |
| |-
| |
| | county_manager
| |
| | Contains the following sub-blocks:
| |
| * counties
| |
| * monthly_increase (list of values)
| |
| |-
| |
| | fleet_manager
| |
| | Contains the following sub-blocks:
| |
| * fleets
| |
| |-
| |
| | council_task_manager
| |
| | Contains the following sub-blocks:
| |
| * active
| |
| |-
| |
| | important_action_manager
| |
| | Contains the following sub-blocks:
| |
| * active
| |
| |-
| |
| | faction_manager
| |
| | Contains the following sub-blocks:
| |
| * factions
| |
| |-
| |
| | culture_manager
| |
| | Contains the following sub-blocks:
| |
| * cultures
| |
| * template_cultures (list of numbers)
| |
| * era_discovery
| |
| |-
| |
| | mercenary_company_manager
| |
| | Contains the following sub-blocks:
| |
| * mercenary_companies
| |
| |-
| |
| | holy_orders
| |
| | Contains the following sub-blocks:
| |
| * holy_orders
| |
| * religion_name
| |
| * faith_name
| |
| |-
| |
| | coat_of_arms
| |
| | Contains the following sub-blocks:
| |
| * coat_of_arms_manager_name_map
| |
| * coat_of_arms_manager_database (ends at entry ~17278)
| |
| * next_id=(id) ''(variable)''
| |
| |-
| |
| | (triggered events)
| |
| | Each triggered event has its own block, started using triggered_event={
| |
| |-
| |
| | next_player_event_id=(value) ''(variable)''
| |
| |
| |
| |-
| |
| | played_character
| |
| | Contains the following sub-blocks:
| |
| * name="..." ''(variable)''
| |
| * character=(character id) ''(variable)''
| |
| * player=(value) ''(variable)''
| |
| * important_decisions
| |
| * legacy
| |
| * rally_points
| |
| |-
| |
| | currently_played_characters={ (character id...) }
| |
| | List of character ids.
| |
| | |
| |}
| |
| | |
| ==从Microsoft Store版本中提取文件==
| |
| 你可以用UWPDumper来提取文件。
| |
| | |
| #下载最新的x64版本的[[Modding#Tools & utilities|UWPDumper]]。
| |
| #打开开发者模式 (Windows设置 ->更新和安全> 开发者选项-> 开发人员模式)。
| |
| #运行ck3.
| |
| #运行你刚刚下载的UWPInjector.exe.
| |
| #输入ck3.exe旁边的数字作为processID: ParadoxInteractive.ProjectTitus_zfnrdv2de78ny.
| |
| #查看他储存文件的地址 (可能类似于 C:\Users\%USERPROFILE%\AppData\Local\Packages\ParadoxInteractive.ProjectTitus_zfnrdv2de78ny\TempState\DUMP
| |
| #等待程序运行完毕。
| |
| | |
| 之后这些文件就会被放到上面提到的地址处。如果你想修改这些文件,创建一个mod并且把你想改的文件复制进去。
| |
| | |
| == 工具与实用程序==
| |
| | |
| *[https://marketplace.visualstudio.com/items?itemName=dragon-archer.paradox-highlight Paradox Highlight]: 一个为CK3和其它Paradox游戏代码文件提供语法高亮的VSCode插件。
| |
| *[[Exporters]] (Maya and Photoshop)
| |
| *[https://forum.paradoxplaza.com/forum/threads/information-and-faq.924764/ Clausewitz Maya Exporter]: 一个可以创建和导出3D模型并且在CK3和其他Clausewitz游戏中使用的工具。 | |
| *[https://github.com/Wunkolo/UWPDumper UWPDumper]:一个从微软商店游戏中提取文件的工具。
| |
| | |
| ==外部链接==
| |
|
| |
|
| *[https://forum.paradoxplaza.com/forum/forums/crusader-kings-iii-user-mods.1080/ CK3 User Mods] P社论坛 | | == 外部链接 == |
| *[https://discord.gg/ck3 Crusader Kings] 官方Discord模组频道。Go to the server-roles channel and choose CK3 Modding in the [https://discordapp.com/channels/616881873506795550/710484698924711976/710490306788982804 Channel Access post]. | | * [https://forum.paradoxplaza.com/forum/forums/crusader-kings-iii-user-mods.1080/ CK3 User Mods] P社论坛 |
| *[https://discord.gg/apEvxDZ CK3 Mod Coop] A community Discord server dedicated to modding for CK3. | | * [https://discord.gg/ck3 Crusader Kings] 官方Discord模组频道。Go to the server-roles channel and choose CK3 Modding in the [https://discordapp.com/channels/616881873506795550/710484698924711976/710490306788982804 Channel Access post]. |
| | * [https://discord.gg/apEvxDZ CK3 Mod Coop] A community Discord server dedicated to modding for CK3. |
|
| |
|
| <br> | | <br> |