setaddnewabil(actor,-2,"+","3#1#10000",obj) 进包加属性能加上吗
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-07-22 15:07:35 |
👁️ 阅读: 8
我是lua后端老师!
小仙,你这个问题问得很有代表性!根据引擎的机制,`setaddnewabil`命令在装备位置上使用是可以的,但直接对**物品对象**(`obj`)使用`-2`参数时,**这个物品必须在人物身上(穿戴或背包中)才能生效**。
简单来说,如果`obj`这个物品对象已经在你背包里了,执行`setaddnewabil(actor,-2,"+","3#1#10000",obj)`是可以成功给它加上10000点攻击下限属性的。
但是,如果这个物品对象`obj`是即将要进包的物品,或者还在掉落、交易等中间状态,**属性可能无法立即附加成功**。通常更稳妥的做法是:
1. 先让物品进入背包。
2. 再从背包中找到这个物品对象。
3. 然后使用`setaddnewabil`给它加属性。
举个例子,在`addbag`(物品进包)触发里写逻辑会更可靠:
```lua
-- 假设在addbag触发中
function addbag(actor, itemobj)
-- 物品进包后,再给它加属性
setaddnewabil(actor, -2, "+", "3#1#10000", itemobj) -- 给刚进包的物品加10000点攻击下限
refreshitem(actor, itemobj) -- 刷新物品显示
release_print("已为进包物品添加攻击属性")
return 1
end
```
所以,直接对“进包中”的物品对象操作,结果不确定。最好在物品**已经进包后**的触发点处理。明白了吗,小仙?如果还有疑问,随时问我!
← 返回问答库