返回目录
Chapter 4 第四章:新增领主 NPC
开发者文档 更新于 2025-05-22 03:57:59

第四章:新增领主 NPC

本章节将引导您如何通过自定义 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>

🔍 字段说明:

🏰 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>

📌 可选提示:

⚔️ 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):

📜 步骤 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>

📌 注意:

✅ 测试 MOD

  1. 编译并拷贝 DLL 到: Modules/ExampleMod/bin/Win64_Shipping_Client/
  2. 启动游戏,打开 Mod 启动器: 确保 ExampleMod 被勾选 使用 新游戏 进入沙盒或战役模式
  3. 进入游戏后使用控制台: campaign.add_hero_to_party lord_1_a1 或使用调试模式(如 Harmony Debug Tools)查看人物是否成功生成。