本章节将引导您如何通过自定义 XML 文件和配置 SubModule.xml,将新的领主 NPC 添加到游戏中,拥有完整的面部、技能、装备、背景与家族关系。
📁 步骤 1:创建模块数据目录
🔧 创建 ModuleData 文件夹
在你的 Mod 文件夹 Modules/ExampleMod/ 中新建:
ExampleMod/
└── ModuleData/
├── heroes.xml
├── clans.xml
└── lords.xml
所有游戏数据相关的 XML 文件都应放在 ModuleData/ 目录下,游戏引擎会根据 SubModule.xml 中的配置加载它们。
✍️ 步骤 2:撰写 XML 数据文件
🧑🤝🧑 2.1 heroes.xml – 定义英雄角色
<Heroes>
<Hero
id="lord_1_a1"
father="Hero.lord_5_3_2"
mother="Hero.lord_5_6"
spouse="Hero.lord_6_4"
faction="Faction.clan_test_1"
text="{=customhero001}她是一位精通骑射、心思缜密的帝国领主,传说中带领南方反叛者取得关键胜利。" />
</Heroes>
🔍 字段说明:
- id: 英雄唯一 ID(不可重复)
- father / mother: 引用其他英雄 ID
- faction: 所属家族 ID(与 clans.xml 中一致)
- text: 背景介绍,支持本地化
🏰 2.2 clans.xml – 定义家族/势力
<Factions>
<Faction
id="clan_test_1"
name="{=clan_test_1_name}血箭家族"
tier="5"
owner="Hero.lord_1_a1"
culture="Culture.empire"
super_faction="Kingdom.empire"
is_noble="true"
banner_key="11.101.75.4345.4345.764.764.1.0.0.412.39.0.454.454.764.764.0.0.180" />
</Factions>
📌 可选提示:
- banner_key: 使用 Banner Editor 工具生成家族旗帜代码
- tier: 数字越高,家族实力越强
⚔️ 2.3 lords.xml – 定义 NPC 外貌 + 技能 + 装备
<NPCCharacters>
<NPCCharacter
id="lord_1_a1"
default_group="HorseArcher"
age="33"
voice="ironic"
culture="Culture.empire"
is_female="true"
occupation="Lord"
name="{=OWM00021}圣女玛利亚"
face_mesh_cache="true">
<face>
<BodyProperties version="4" age="33.18" weight="0.25" build="0.4" key="YourFaceKeyHere" />
</face>
<skills>
<skill id="Bow" value="105" />
<skill id="Charm" value="274" />
<skill id="Athletics" value="153" />
<skill id="Medicine" value="1000" />
<!-- 可添加其它技能 -->
</skills>
<Traits>
<Trait id="Calculating" value="2" />
<Trait id="Mercy" value="2" />
</Traits>
<Equipments>
<EquipmentRoster>
<equipment slot="Item0" id="mace_rc_oh_t6" />
<equipment slot="Item1" id="Item.leather_round_shield" />
<equipment id="Item.royal_crown" slot="Head"/>
<equipment id="Item.dummy_armor_max_333" slot="Body"/>
<equipment id="Item.shark_tyrant_Buddy" slot="Horse"/>
</EquipmentRoster>
<EquipmentSet id="s_emp_king_template_civ_f" civilian="true" />
</Equipments>
</NPCCharacter>
</NPCCharacters>
🔧 技能参考(常见 ID):
- OneHanded、TwoHanded、Bow、Charm、Leadership、Medicine
📜 步骤 3:修改 SubModule.xml 注册 XML 文件
添加以下节点,位于 <Module> 标签中(与 <SubModules> 并列):
<Xmls>
<XmlNode>
<XmlName id="Heroes" path="heroes"/>
<IncludedGameTypes>
<Gametype value="Campaign"/>
<Gametype value="CampaignStoryMode"/>
<Gametype value="Sandbox"/>
</IncludedGameTypes>
</XmlNode>
<XmlNode>
<XmlName id="Factions" path="clans"/>
<IncludedGameTypes>
<Gametype value="Campaign"/>
<Gametype value="CampaignStoryMode"/>
</IncludedGameTypes>
</XmlNode>
<XmlNode>
<XmlName id="NPCCharacters" path="lords"/>
<IncludedGameTypes>
<Gametype value="Campaign"/>
<Gametype value="CampaignStoryMode"/>
<Gametype value="Sandbox"/>
</IncludedGameTypes>
</XmlNode>
</Xmls>
📌 注意:
- id: 必须与 XML 顶层标签名一致(如 <Heroes>)
- path: 是指 ModuleData 下的文件名(无需 .xml 后缀)
✅ 测试 MOD
- 编译并拷贝 DLL 到: Modules/ExampleMod/bin/Win64_Shipping_Client/
- 启动游戏,打开 Mod 启动器: 确保 ExampleMod 被勾选 使用 新游戏 进入沙盒或战役模式
- 进入游戏后使用控制台: campaign.add_hero_to_party lord_1_a1 或使用调试模式(如 Harmony Debug Tools)查看人物是否成功生成。