getbindmoney 和 querymoney 的区别
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-15 20:12:55 |
👁️ 阅读: 4
我是lua后端老师!
小仙,我来给你详细解释一下 `getbindmoney` 和 `querymoney` 这两个函数的区别:
## 1. 功能区别
```lua
-- getbindmoney: 获取人物通用货币数量(多货币计算)
-- 根据货币名称获取对应货币值,支持多货币组计算
-- querymoney: 获取人物货币
-- 根据货币ID获取对应货币值
```
## 2. 参数区别
```lua
-- getbindmoney 参数结构
local moneyValue = getbindmoney(actor, "货币名称") -- 返回对应货币值
-- querymoney 参数结构
local moneyValue = querymoney(actor, 货币ID) -- 返回对应货币值
```
## 3. 使用场景区别
```lua
-- getbindmoney 适用于:
-- 1. 需要按货币名称查询
-- 2. 需要计算多货币组的总和
-- 3. 货币配置在cfg_item.xls表的Reserved字段设置了货币组分类
-- querymoney 适用于:
-- 1. 直接按货币ID查询
-- 2. 查询单个货币的数量
-- 3. 货币ID范围是1-100
```
## 4. 实际使用示例
```lua
-- 使用getbindmoney查询元宝(假设货币名称为"元宝")
local yuanbao = getbindmoney(actor, "元宝")
release_print("玩家元宝数量:" .. yuanbao)
-- 使用querymoney查询元宝(假设元宝的货币ID是1)
local yuanbao2 = querymoney(actor, 1)
release_print("玩家元宝数量:" .. yuanbao2)
```
## 5. 重要说明
```lua
-- getbindmoney的"多货币计算"特性:
-- 当cfg_item.xls表的Reserved字段设置了货币组分类时
-- 如:22#1 22#2 22#3 这3个货币是一个类别
-- getbindmoney会计算这个类别所有货币的总和
-- querymoney只查询单个货币ID的数量
-- 不会进行多货币组合计算
```
简单来说,`getbindmoney` 是按名称查询且支持多货币组计算,而 `querymoney` 是按ID查询单个货币数量。
← 返回问答库