攻击怪物 攻击人物的伤害值 都是1 为什么
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-04-14 13:22:40 |
👁️ 阅读: 13
根据提供的资料,攻击伤害值异常(均为1)可能涉及多个方面的配置和触发逻辑。以下是可能的原因和排查方向:
1. **技能公式触发配置**:在 `SkillEffect.xls` 表的 `Fumula` 列中,如果配置了自定义的伤害计算公式函数(例如 `base`),则实际伤害会由对应的Lua函数(如 `base`、`m_base` 或 `b_base`)计算并返回。如果这些函数固定返回 `1`,则伤害值会始终为1。你需要检查相关函数是否被修改。
2. **技能效果前/后触发**:`beforeeffecttriger`(技能效果前触发)或 `oneffecttrigered`(技能效果后触发)等触发点可能被脚本干预,修改了最终的伤害值。
3. **怪物AI与技能配置**:怪物的攻击伤害受 `AI` 表(定义怪物使用的技能和触发条件)和 `SkillEffect.xls` 中的效果配置影响。如果技能效果参数(如 `Param1`)或公式设置不当,可能导致伤害极低。
4. **属性与伤害计算**:`AttScore` 表定义了属性系统,如果攻击、防御等核心属性未正确配置或计算,会影响最终伤害。同时,`Formul.xls` 中的伤害计算公式也需要检查。
5. **Buff或状态影响**:`Buff` 表可能配置了降低伤害或固定伤害的效果,需要检查攻击者或受击者身上的Buff状态。
6. **攻击对象设置与仇恨**:使用 `sethitter` 接口设置攻击对象时,如果 `damage` 参数填写不当(例如远低于怪物血量),可能影响经验分配,但通常不影响原始伤害值。不过,如果配合 `Monster.xls` 的 `RecordHiterList` 和 `SyncKill` 字段,可能涉及伤害记录逻辑。
7. **客户端飘字设置**:客户端设置中的飘字类型(`SETTING_DAMAGE_STYLE`)或伤害数字表(`DamageNumber`、`DamageNumberMap`)可能影响显示,但通常不会改变实际服务器计算的伤害值。
**建议排查步骤**:
- 检查 `SkillEffect.xls` 中相关技能的 `Fumula` 列配置,并确认对应的Lua函数(如 `base`)逻辑。
- 查看 `beforeeffecttriger`、`oneffecttrigered` 等触发脚本是否对伤害值进行了重置。
- 确认 `AttScore` 属性和 `Formul.xls` 计算公式是否正常。
- 检查攻击者和目标是否有影响伤害的Buff。
- 验证怪物AI配置和技能参数是否正确。
如果以上配置均正常,可能需要进一步检查服务器日志或调试相关触发点。
← 返回问答库