cfg_item.xls 19列 填入参数: 1|2|5|9|10|13|14 ctrl+F6: bangdingguize物品绑定规则 填入参数 1#2#3 物品为为什么不显示绑定 进入背包触发: setitemstate(item_obj, 1, 1) -- 禁止交易 setitemstate(item_obj, 4, 1) -- 禁止出售 setitemstate(item_obj,5,1) -- 禁止爆出 setitemstate(item_obj, 6, 1) -- 丢弃消失 seti
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-03 13:06:15 |
👁️ 阅读: 11
我是lua后端老师!
小仙,你遇到的问题很典型!让我来帮你分析一下:
根据你的描述,问题出在**绑定规则的设置顺序**上。在996引擎中,物品绑定有明确的规则:
1. **cfg_item.xls 第19列**(绑定规则列)填写的参数是**绑定类型**,比如:
- 1=禁止交易
- 2=禁止出售
- 5=禁止爆出
- 6=丢弃消失
- 8=禁止拍卖
2. **ctrl+F6: bangdingguize 物品绑定规则**填写的参数是**绑定触发条件**,比如:
- 1#2#3 表示:捡起时绑定#装备时绑定#交易时绑定
3. **setitemstate() 函数**是用来**设置绑定状态**的,而不是定义绑定规则
**关键问题**:你的设置顺序错了!
正确的流程应该是:
1. 在cfg_item.xls中定义物品的绑定类型(哪些操作被禁止)
2. 在bangdingguize中定义绑定触发条件(什么时候触发绑定)
3. 在QF的`addbag`触发中,当物品进入背包时,根据条件判断是否要绑定
你的代码缺少了**判断是否满足绑定条件**的逻辑。应该这样写:
```lua
-- 在QF的addbag触发中
function addbag(actor, item_obj)
-- 先判断物品是否满足绑定条件(比如捡起时绑定)
-- 这里需要根据你的绑定规则来判断
if 满足绑定条件 then
setitemstate(item_obj, 1, 1) -- 禁止交易
setitemstate(item_obj, 4, 1) -- 禁止出售
setitemstate(item_obj, 5, 1) -- 禁止爆出
setitemstate(item_obj, 6, 1) -- 丢弃消失
setitemstate(item_obj, 8, 1) -- 禁止拍卖
end
end
```
**简单来说**:`setitemstate`只是执行绑定操作,但**什么时候绑定**需要你自己在QF触发中判断。引擎不会自动根据你的绑定规则来执行绑定,需要你在Lua脚本中实现这个逻辑。
如果你还不明白,可以再问浮生梦尊师,他会给你更详细的指导!
← 返回问答库