传奇里要让怪物受到固定数值伤害,必须先区分单次伤害封顶和每次伤害固定两种效果。支持怪物表 mp 字段的引擎中,mp 大于 0 时通常代表怪物单次受伤上限,例如将 mp 设为 200,玩家造成 80 点伤害时仍扣 80 点,造成 500 点伤害时最多扣 200 点;mp 设为 0 则不启用封顶。这个设置不能保证每次都掉 200 点,若要求每次有效攻击都严格扣除同一数值,就要使用攻击触发脚本修改最终伤害。

设置伤害上限时,先备份服务端数据库,再打开怪物表,找到目标怪物记录,确认 hp、ac、mac、mp 等字段没有错位,然后把 mp 改成需要的单次掉血上限。比如传奇boss生命值为 300000,mp 设置为 300,普通攻击、魔法攻击或道术攻击在最终伤害超过 300 时,理论上每次最多只扣 300 点;玩家攻击力较低时仍按实际计算值掉血。保存后重新加载怪物数据,最好重新召唤目标怪物,再分别用低攻击、高攻击、暴击和不同职业技能测试,确认飘血数值是否始终不超过设定值。

设置每次固定掉血时,应使用支持攻击前触发的脚本入口,并在触发条件中筛选目标怪物,再调用 changedamagevalue 写入固定值。996引擎官方技术讨论中使用了 `[@attackdamage]` 配合 `changedamagevalue` 修改攻击伤害的方式,例如将一次攻击调整为 1000 点;实际参数含义要以当前引擎的命令说明为准,不能直接照搬其他服务端的参数。操作顺序应为:开启目标怪物的攻击触发、确认脚本文件已加载、用怪物名称或类型进行条件判断、写入固定伤害、保存并重载脚本,最后用战士、法师、道士分别测试。

不同玩法应选择不同方案:世界boss、限时副本和高血量首领适合使用 mp 伤害封顶,既能限制秒杀,又不会让低攻击玩家获得额外伤害;护盾阶段、机关阶段或活动怪物需要固定扣血时,才适合使用攻击触发脚本。设置数值时可按目标战斗时长倒推,例如怪物拥有 600000 点生命,预计让单人持续攻击 5 分钟击杀,若平均每秒攻击 2 次,可将单次有效伤害控制在约 1000 点附近。固定伤害可能绕过部分防御成长,脚本伤害、百分比伤害、毒伤和真实伤害也可能走独立计算入口,因此应分别验证;若只想限制爆发而保留装备成长,优先使用伤害封顶,不要直接锁死所有攻击数值。