为地图或怪物创建指定物品掉落规则
需要指定某件物品、某类怪物或怪物等级范围时,使用 ItemDrop.xml。物品分类及编号用于标识物品,不是商店号,也不是怪物号。
要达到的结果
- 从已有物品合成编号找到 Cat/Index。
- 设置地图、怪物限制及可选地图缩放。
- 区分属性组引用与商店属性掩码。
开始之前
使用生效 ItemDrop.xml 及已存在属性组;实验室使用已核对补给物品示例,不编造装备属性组。
需要的文件
理解字段
| 字段 | 含义与依赖 |
|---|---|
RuleDrop / MapNumber | 0 为勇者大陆,-1 为全局规则;元素装备需要指定地图。 |
ApplyMapRate | 1 应用 MapManager 的 ItemDrop/100;0 独立于地图倍率。 |
Cat / Index | 物品分类与编号,合成编号=Cat×512+Index。 |
DropRate | 规则通过率以一百万为分母,10000=1%;0 停止本规则。通过后仍需参与候选选择。 |
MonsterIndex | 怪物类型编号,-1 表示任意符合条件的怪物。 |
MonsterMinLevel / MonsterMaxLevel | 限制怪物而非玩家等级;-1 取消该边界。 |
LevelOption … SocketOption | 属性生成分组编号,与普通商店属性掩码格式不同。 |
一步一步完成
- 步骤 1
从物品定义中确认 Cat 和 Index。例如 Cat=14、Index=13 是祝福宝石,合成编号为 14×512+13=7181。
- 步骤 2
在现有 ItemDrop 根节点内添加 RuleDrop。MapNumber=0 限定勇者大陆,-1 表示全地图。此版本的元素装备需要明确地图规则,不使用全局 -1 随机规则。
- 步骤 3
MonsterIndex 填怪物类型,-1 表示任意类型。MonsterMinLevel、MonsterMaxLevel 限制怪物等级,不是玩家等级;-1 表示取消该边界。
- 步骤 4
DropRate 必须结合 ApplyMapRate 设置。示例为地图 0 中一条 1% 的规则通过判定,不受地图倍率影响。若改为 ApplyMapRate=1 且 ItemDrop=1000,该判定会变为 10%。
- 步骤 5
ExcOption、LevelOption 等字段在非负时选择 ItemOptionRate 分组,不一定是最终卓越位掩码或物品等级。-1 保持对应选项的初始化值。应复制目标物品已验证的规则进行修改。
- 步骤 6
保存有效 XML 后执行 /reload item。在目标地图及其他地图,分别击杀符合与不符合条件的怪物;统计不符时,排查此前重叠的规则。
进度仅保存在此浏览器。完成标记是学习记录,不代表在线服务器已经变更。
配置示例
保留原根节点、区段及无关行。此示例不是完整原文件,也不能替换整份配置。
<?xml version="1.0" encoding="utf-8"?>
<ItemDrop>
<RuleDrop MapNumber="0" ApplyMapRate="1">
<Item Cat="14" Index="13" Level="0" LevelOption="-1" SkillOption="-1" LuckOption="-1" JoLOption="-1" ExcOption="-1" SetOption="-1" SocketOption="-1" Duration="0" MonsterIndex="-1" MonsterMinLevel="25" MonsterMaxLevel="-1" DropRate="1000" />
</RuleDrop>
</ItemDrop>
究竟改了什么?
默认实验保留 DropRate=1000,将 ApplyMapRate 从 0 改为 1。地图 ItemDrop=1000 时,通过率从 1000 单位(0.1%)变为 10000(1%),最终候选选择仍是另一阶段。
实验室列出每个改变字段、高亮前后值,并说明受影响文件;保留未改变列,明确区分示例与真实配置。
打开本演示应用真实修改
将 RuleDrop/Item 合并到 Item/ItemDrop.xml 已有根节点,在所属角色 /reload item;只有同时修改 MapManager 才另行 /reload common。
在游戏内验证结果
预期结果未出现时,先恢复备份并按相同方式重载或重启,再进行下一项修改。
遇到问题时
规则通过但物品不保证出现
通过规则仍竞争候选选择;地图缩放及独立 BOSS 奖励也影响路径。
地图或怪物不符
MapNumber 与 MonsterIndex 限制不同对象,仅在格式定义允许处使用 -1。
依赖与重要细节
DropRate=0 停止该规则的概率判定。-1 是特殊的必过判定值且忽略地图倍率,普通随机掉落不应使用。其他匹配候选仍会影响最终选择。Duration 用于限时物品寿命;永久物品保留 0,只有需要过期时才设置。
