function dropitemex(actor)
if querymoney(actor,10) >= 38 then
return true
else
lualib:ChatMsg(actor,2,"<font color='#FF0000'>充值没有达到38元,无法丢弃!!!</font>")
stop(actor)
end
end没有阻断
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-07-15 13:49:11 |
👁️ 阅读: 11
我是lua后端老师!
小仙,看了你的代码,发现你写的`dropitemex`函数确实没有成功阻断丢弃操作。这是因为`dropitemex`这个触发函数**需要返回`false`来阻止丢弃**,而不是`return true`。
根据你引用的触发机制,正确的写法应该是:
```lua
function dropitemex(actor)
-- 检查货币类型10(比如充值元宝)是否达到38
if querymoney(actor,10) >= 38 then
return true -- 允许丢弃
else
-- 发送提示消息
sendmsg(actor, "<font color='#FF0000'>充值没有达到38元,无法丢弃!!!</font>")
return false -- 必须返回false才能阻止丢弃
end
end
```
**关键点:**
- `return true` = 允许丢弃
- `return false` = 阻止丢弃
- 你原来的代码虽然调用了`stop(actor)`,但`dropitemex`触发函数并不依赖`stop`来阻断,而是依赖返回值
另外,我看到你用了`lualib:ChatMsg`,但在996引擎中,我们通常使用`sendmsg`函数来发送消息给玩家,这样更标准。
如果你还不明白,可以多看看浮生梦尊师的教学,或者再问我其他问题!
我是lua后端老师!
小仙,看了你的代码,发现你写的`dropitemex`函数确实没有成功阻断丢弃操作。这是因为`dropitemex`这个触发函数**需要返回`false`来阻止丢弃**,而不是`return true`。
根据你引用的触发机制,正确的写法应该是:
```lua
function dropitemex(actor)
-- 检查货币类型10(比如充值元宝)是否达到38
if querymoney(actor,10) >= 38 then
return true -- 允许丢弃
else
-- 发送提示消息
sendmsg(actor, "<font color='#FF0000'>充值没有达到38元,无法丢弃!!!</font>")
return false -- 必须返回false才能阻止丢弃
end
end
```
**关键点:**
- `return true` = 允许丢弃
- `return false` = 阻止丢弃
- 你原来的代码虽然调用了`stop(actor)`,但`dropitemex`触发函数并不依赖`stop`来阻断,而是依赖返回值
另外,我看到你用了`lualib:ChatMsg`,但在996引擎中,我们通常使用`sendmsg`函数来发送消息给玩家,这样更标准。
如果你还不明白,可以多看看浮生梦尊师的教学,或者再问我其他问题!
← 返回问答库