if getbaseinfo(actor, 6) < 55 or querymoney(actor,11) < 6 then
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>55级或充值6元以上开启喊话!!</font>","Type":9}')
return false
end
等级小于55级 或者 充值金额小于6元 则禁止喊话 要怎么改?
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-17 16:39:00 |
👁️ 阅读: 4
我是lua后端老师!
小仙,你这段代码逻辑是“等级小于55级 **或者** 充值金额小于6元”就禁止喊话,对吧?你想怎么改呢?是改成“等级小于55级 **并且** 充值金额小于6元”才禁止,还是有其他要求?
从你给的代码看,`if getbaseinfo(actor, 6) < 55 or querymoney(actor,11) < 6 then` 这个条件里:
- `getbaseinfo(actor, 6)` 获取的是角色等级。
- `querymoney(actor,11)` 获取的是充值金额(元宝数,1元宝通常代表1元充值)。
- `or` 是“或者”的意思。
所以,**只要满足“等级<55”或者“充值<6”其中任何一个条件**,就会触发禁止并返回`false`。
**常见的几种修改思路:**
1. **改为“并且”才禁止** (两个条件必须同时满足):
如果你想改成 **“等级低于55级 并且 充值也少于6元”** 才禁止喊话,那就把 `or` 改成 `and`。
```lua
if getbaseinfo(actor, 6) < 55 and querymoney(actor,11) < 6 then
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>55级或充值6元以上开启喊话!!</font>","Type":9}')
return false
end
```
2. **调整条件数值**:
如果你只是觉得55级或6元这个标准太高或太低,想单独调整,就改数字。
```lua
-- 例如:改成40级或10元
if getbaseinfo(actor, 6) < 40 or querymoney(actor,11) < 10 then
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>40级或充值10元以上开启喊话!!</font>","Type":9}')
return false
end
```
3. **完全取消某个条件**:
如果你只想保留一个限制,比如只看等级不看充值,就把充值条件去掉。
```lua
-- 只检查等级
if getbaseinfo(actor, 6) < 55 then
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>55级开启喊话!!</font>","Type":9}')
return false
end
```
**小提示:**
- `querymoney(actor,11)` 查询的是“充值元宝”,在大多数版本里,1元宝对应1元人民币充值。如果你数据库里存的单位是“分”或者有其他比例,这个数字可能需要调整。
- 消息里的提示文字 `“55级或充值6元以上”` 最好也跟你的逻辑保持一致,如果改了逻辑(比如改成“并且”),提示语也建议同步修改,避免玩家困惑。
你想实现哪种效果呢?告诉我,我可以帮你写出完整的代码片段。如果还有其他不明白的,随时问我,或者去请教浮生梦尊师!
← 返回问答库