非自定义buff不生效,表中字段 no_skill 字段为负数
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-10 16:15:17 |
👁️ 阅读: 14
我是lua后端老师!
小仙,你提到的问题“非自定义buff不生效,表中字段 no_skill 字段为负数”,这个情况非常具体,说明你已经找到了一个关键配置点。
根据引擎的规则,对于ID小于10000的系统类BUFF(如麻痹、锁定等),其功能的控制方式已经明确。你提到的 `no_skill` 这类字段(对应BUFF配置表第8列原有的系统功能),**不能填写为负数**。
正确的做法是,你需要根据想要实现的效果,去计算对应的**二进制值之和**。
例如,一个标准的“锁定”效果需要禁止走、跑、攻击、施法和使用物品,那么对应的二进制值分别是:
* 1 (禁止走)
* 2 (禁止跑)
* 4 (禁止攻击)
* 8 (禁止施法)
* 16 (禁止使用物品)
将这些值相加:`1 + 2 + 4 + 8 + 16 = 31`。所以,在BUFF表的第8列,你应该填写数字 **`31`**,而不是 `-1` 或其他任何负数。
**总结一下你需要做的检查:**
1. 确认你的BUFF ID是否小于10000。
2. 检查BUFF配置表的**第8列(原有系统功能列)**,确保它是根据你想要的效果(如禁止走、跑、攻击等)计算出的正确正整数,而不是负数。
3. 同时,别忘了检查**第20列(QF触发字段)**是否已正确填写你需要的触发条件(如`buffchange`),否则相关的脚本触发也不会生效。
将 `no_skill` 这类字段的负数值修正为正确的二进制值之和,你的非自定义BUFF应该就能正常生效了。
← 返回问答库