目录

侦察兵 (SCOUT) 完整XML模板解析

1. 单位类型注册

2. AI行为定义

3. 能力标签

4. 核心属性定义

5. 升级路线

自定义单位模板(精英斥候)

关键修正说明

验证建议



侦察兵 (SCOUT) 完整XML模板解析

1. 单位类型注册

xml

<Types>
  <Row Type="UNIT_SCOUT" Kind="KIND_UNIT"/>
</Types>
2. AI行为定义

xml

<UnitAiInfos>
  <Row UnitType="UNIT_SCOUT" AiType="UNITAI_EXPLORE"/>
  <Row UnitType="UNIT_SCOUT" AiType="UNITTYPE_LAND_COMBAT"/>
</UnitAiInfos>

解析

  • UNITAI_EXPLORE: AI优先探索
  • UNITTYPE_LAND_COMBAT: 归类为陆地战斗单位
3. 能力标签

xml

<TypeTags>
  <Row Type="UNIT_SCOUT" Tag="CLASS_RECON"/>
  <Row Type="UNIT_SCOUT" Tag="CLASS_REVEAL_STEALTH"/>
</TypeTags>
4. 核心属性定义

xml

<Units>
  <Row UnitType="UNIT_SCOUT"
       Cost="30"
       BaseMoves="3"
       BaseSightRange="2"
       ZoneOfControl="true"
       Domain="DOMAIN_LAND"
       Combat="10"
       FormationClass="FORMATION_CLASS_LAND_COMBAT"
       PromotionClass="PROMOTION_CLASS_RECON"
       AdvisorType="ADVISOR_GENERIC"
       Name="LOC_UNIT_SCOUT_NAME"
       Description="LOC_UNIT_SCOUT_DESCRIPTION"
       PurchaseYield="YIELD_GOLD"
       PseudoYieldType="PSEUDOYIELD_UNIT_EXPLORER"/>
</Units>
5. 升级路线

xml

<UnitUpgrades>
  <Row Unit="UNIT_SCOUT" UpgradeUnit="UNIT_RANGER"/>
</UnitUpgrades>

自定义单位模板(精英斥候)


xml

<!-- 1. 类型注册 -->
<Types>
  <Row Type="UNIT_ELITE_SCOUT" Kind="KIND_UNIT"/>
</Types>

<!-- 2. AI行为 -->
<UnitAiInfos>
  <Row UnitType="UNIT_ELITE_SCOUT" AiType="UNITAI_EXPLORE"/>
  <Row UnitType="UNIT_ELITE_SCOUT" AiType="UNITTYPE_LAND_COMBAT"/>
</UnitAiInfos>

<!-- 3. 能力标签 -->
<TypeTags>
  <Row Type="UNIT_ELITE_SCOUT" Tag="CLASS_RECON"/>
  <Row Type="UNIT_ELITE_SCOUT" Tag="CLASS_REVEAL_STEALTH"/>
</TypeTags>

<!-- 4. 核心属性 -->
<Units>
  <Row UnitType="UNIT_ELITE_SCOUT"
       Cost="45"
       BaseMoves="4"
       BaseSightRange="3"
       ZoneOfControl="true"
       Domain="DOMAIN_LAND"
       Combat="15"
       FormationClass="FORMATION_CLASS_LAND_COMBAT"
       PromotionClass="PROMOTION_CLASS_RECON"
       AdvisorType="ADVISOR_GENERIC"
       Name="LOC_UNIT_ELITE_SCOUT_NAME"
       Description="LOC_UNIT_ELITE_SCOUT_DESCRIPTION"
       PurchaseYield="YIELD_GOLD"
       PseudoYieldType="PSEUDOYIELD_UNIT_EXPLORER"/>
</Units>

<!-- 5. 升级路线 -->
<UnitUpgrades>
  <Row Unit="UNIT_ELITE_SCOUT" UpgradeUnit="UNIT_RANGER"/>
</UnitUpgrades>

关键修正说明

  1. XML标签闭合:确保所有标签成对出现(如 <Types> 对应 </Types>
  2. 缩进标准化:统一使用2空格缩进
  3. 特殊字符处理:移除了原文本中的非标准空格(如 &nbsp;
  4. 属性换行:长属性列表按逻辑分组换行,提高可读性

验证建议

  1. 使用XML验证工具(如 XML Validator)检查语法
  2. 在模组开发环境中测试时,确保:
    • 所有 UnitType 引用一致
    • 本地化键(如 LOC_UNIT_*)在文本文件中正确定义
    • 升级路径中的目标单位(如 UNIT_RANGER)已存在

此版本可直接用于模组开发,避免了因格式问题导致的游戏加载错误。如需进一步扩展功能(如添加特殊能力),可在 <Units> 节点中增加 <Ability> 相关字段。

补充内容

<!-- 
  单位定义示例:侦察兵 (SCOUT)
  每个Row标签代表数据库中的一行记录,定义了一个游戏单位
-->
<Units>
  <!-- 
    UnitType: 单位类型ID (唯一标识符)
    格式: UNIT_前缀 + 名称,用于在游戏代码中引用此单位
  -->
  <Row UnitType="UNIT_SCOUT"
       <!-- Cost: 生产力成本,生产该单位所需的基础生产力值 -->
       Cost="30"
       
       <!-- BaseMoves: 基础移动力,每回合可移动的格子数 -->
       BaseMoves="3"
       
       <!-- BaseSightRange: 基础视野范围,单位可观察的格子半径 -->
       BaseSightRange="2"
       
       <!-- ZoneOfControl: 控制区,是否对相邻敌方单位施加控制区效果 -->
       ZoneOfControl="true"
       
       <!-- Domain: 领域类型,决定单位活动范围 -->
       <!-- 可选值: DOMAIN_LAND(陆地), DOMAIN_SEA(海洋), DOMAIN_AIR(空中) -->
       Domain="DOMAIN_LAND"
       
       <!-- Combat: 近战战斗力,单位进行近战攻击时的强度 -->
       Combat="10"
       
       <!-- 
         FormationClass: 编队类别,决定单位在战斗序列中的分组
         影响单位如何组成军队,以及某些能力的作用对象
       -->
       FormationClass="FORMATION_CLASS_LAND_COMBAT"
       
       <!-- 
         PromotionClass: 晋升类别,决定单位可获得的晋升选项
         不同类别的单位有独特的晋升树
       -->
       PromotionClass="PROMOTION_CLASS_RECON"
       
       <!-- 
         AdvisorType: 顾问类型,影响AI顾问对此单位的建议
         可选值: ADVISOR_GENERIC(通用), ADVISOR_CONQUEST(征服), 
                ADVISOR_SCIENCE(科技), ADVISOR_CULTURE(文化)等
       -->
       AdvisorType="ADVISOR_GENERIC"
       
       <!-- 
         Name: 显示名称,对应本地化文件中的文本键
         格式: LOC_前缀 + 单位类型 + _NAME
       -->
       Name="LOC_UNIT_SCOUT_NAME"
       
       <!-- 
         Description: 描述文本,对应本地化文件中的文本键
         格式: LOC_前缀 + 单位类型 + _DESCRIPTION
       -->
       Description="LOC_UNIT_SCOUT_DESCRIPTION"
       
       <!-- 
         PurchaseYield: 购买所需的资源类型
         可选值: YIELD_GOLD(金币), YIELD_FAITH(信仰), YIELD_PRODUCTION(生产力)
       -->
       PurchaseYield="YIELD_GOLD"
       
       <!-- 
         PseudoYieldType: 伪产出类型,影响AI对此单位价值的评估权重
         侦察单位通常使用PSEUDOYIELD_UNIT_EXPLORER(探索者)
         战斗单位使用PSEUDOYIELD_UNIT_COMBAT(战斗单位)等
       -->
       PseudoYieldType="PSEUDOYIELD_UNIT_EXPLORER"/>
</Units>

总结

所有人保持内裤干燥,保持软件不许换!!!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐