1.25 版本中新增加了任务树机制,任务树的文件位置在 /Europa Universalis IV/missions/。
下面将对如何修改和增添新的任务树进行介绍。注意,任务树修改之后需要重新开局,仅仅读档并不会加载新的任务。在编写切换国家tag的事件/决议时,应当添加swap_non_generic_missions = yes
一行代码以让游戏为新国家重新分配专有任务树(即不带有generic=yes
)。
任务
任务树的基本结构如下:
<series> = { # 该列任务树的名称 slot = <int> # 该列任务树将出现在哪一列。从第一列到第五列。 generic = <boolean> # 该列任务树是否属于通用任务。yes为是通用任务,no为专属任务。 ai = <boolean> # AI是否会执行该列任务树中的任务。 has_country_shield = <boolean> # 是否在图标上显示国家盾牌。yes为会显示, no为不会显示。 # 决定是否加载该列任务树。用于将限制为是否拥有某 DLC。(一般用不到) potential_on_load = { <trigger> } # 重要 决定该列任务树出现(显现)的条件。(作用域默认为国家作用域) potential = { <trigger> } # 用于本地化的单个任务名称 <mission> = { icon = <gfx> # 任务图标,注意不包含图标文件的扩展名(即:my_icon1 √ ;my_icon1.png ×)。 position = <int> # 该单一任务在本列任务树中的第几行,如果不填就默认在第一行(slot决定第几列,position决定在第几行,这两个构成了任务的坐标位置)。 completed_by = <date> # 在该日期内自动完成任务。也可以给这个任务一个非游戏中的日期(如 “1999.11.11”),使其永远不会自动完成。 # 该任务的前置任务(就是任务树里面的箭头,大括号里面直接填写某任务名称就可以,两个前置条件中间使用空格或者回车分隔开)。 required_missions = { <mission> } # 决定高亮哪些省份。 provinces_to_highlight = { <trigger> } # 完成该任务的条件(作用域默认为国家作用域)。 trigger = { <trigger> } # 该任务完成时的效果(作用域默认为国家作用域)。 effect = { <effect> } } }
Slot-列
插槽是每个任务出现的列。默认情况下,共有五列,1 是最左边的一列,5 是最右边的一列。您可以通过编辑界面文件来增加列数,列数定义于 countrymissionsview.gui
文件,在 countrymissionsview_missions_gridbox
之下的,参数 max_slots_horizontal
。
通用或专属?
任务分为两类,即通用任务和专属任务。通用任务带有 generic = yes 标记。如果专属任务想使用任务树中的某个坐标(例如,第一槽的顶部位置),它将覆盖该坐标中存在的任何通用任务。如果您查看位于 /Europa Universalis IV/missions/ 的任务文件夹,您会发现顶部有两个名为 00_Generic_missions 的文件。如果一个国家没有专门为其制作的专属任务,就会使用这些通用任务来代替。
您还可以为某些类型的国家创建通用任务。欧洲国家在 01_Generic_European_missions
中有特殊的通用任务,非洲和印度等其他大陆也有通用任务。您可以使用 potential = { }
来限制您的通用任务,这些任务仍可以被特定任务所取代。
Position
Each mission will appear in the order they are scripted, i.e. the first mission appears in the top position, the second position below top, and so on. This can be overridden with the position
attribute. You may want to do this if you need to have a gap between missions within the column, or if you are starting another mission series on the same column.
The mission series potential triggers can be re-checked by using swap_non_generic_missions = yes
, which will re-evaluate the triggers and swap series to match the country's current state.
Provinces to highlight
Important to remember that you must use the following format to highlight areas (with examples provided):
- Provinces:
province_id = 1856
- Areas:
area = sussex_area
- Regions:
region = italy_region
- Colonial Regions:
colonial_region = colonial_florida
To add more than one area or province being highlighted, you must use the OR
operator:
provinces_to_highlight = { OR = { area = corsica_sardinia_area area = sicily_area area = western_sicily_area } }
You might also want to highlight provinces that belong to a particular country. You can do this with the following option. Note that you can mix it with the other conditions mentioned above, as long as you use the OR operator.
provinces_to_highlight = { OR = { owned_by = NOV province_id = 310 } }
It's often a good idea to add a limiter to prevent provinces out of these being shown. For example, in a conquest mission, you want to highlight all territories in a region except ones that you already own. You can add the following snippet of code to block those areas from showing: NOT = { country_or_non_sovereign_subject_holds = ROOT }
. In the below example, it will highlight all provinces in the Italy region that are not owned by the country (ROOT just calls to the owner of the missions).
provinces_to_highlight = { region = italy_region NOT = { country_or_non_sovereign_subject_holds = ROOT } }
Interface
The number of columns is defined in countrymissionsview.gui
, under countrymissionsview_missions_gridbox
by the attribute max_slots_horizontal
.
The number of rows is unset, adding more will cause the listbox to start to scroll.
The mission icons are found in countrymissionsview.gfx
. To add your own icon, you must follow this format: spriteType = { name = "<name>" texturefile = "gfx//interface//missions//<name>.dds" } and you must also put an icon in the gfx/interface/missions folder called <name>.dds
本地化
需要对任务的名称以及简介进行本地化:
<任务名称>_title: 0 "任务名称" <任务名称>_desc: 0 "任务介绍"
Index of missions
Here is a list of some sample missions that you could easily use to build a custom mission tree. Take care to read the above information carefully before implementing these.
参考资料
对于1.25版本,所有DLC图标都在DLC的zip内部,没有对应的DLC就不可用。1.27以后mission目录下有了全套的图标,制做Mod更加灵活。已经上传到百科的全部任务图标在:Category:任务图标。
文档 | 效果指令 • 触发条件 • 修正 • 作用域 • 变量 • 本地化 • 可定制的本地化 |
脚本 | 顾问 • 时代 • 书签 • 建筑 • 宣战理由 • 殖民区域 • 新建国家 • 文化 • 决议 • 定义 • 外交行动 • 灾难 • 阶层• 事件 • 派系 • 政府 • 政府互动(1.35) • 伟大工程 • 历史 • 理念组 • 思潮 • 任务树 • 修正 • 自定义国家 • 政策 • 宗教 • 叛军 • 附属国类型 • 科技 • 贸易公司 • 商品 • 单位 • 旗舰 |
地图 | 地图 • 随机新世界 • 贸易节点 |
图形 | 3D模型 • 界面 • 贴图库 • 字体 • 粒子特效 • 着色器 • 兵模 |
音频 | 音乐 • 音效 |
其它 | 控制台指令 • 校验码 • JoroDox模组制作工具 • Mod文件结构 • Mod错误调试 • 验证器 • 运行文件 |
教程 | 添加省份 • 成就修改 • On actions • 模组制作 |