货币系统
引擎提供基础货币
新增货币种类
- 道具表新增货币,道具id不重复,type字段填3 即可
添加货币
- 接口样例
local function _add_money(player)
edi.player:add_money(player, 1, 1000) -- 金币
edi.player:add_money(player, 3, 2000) -- 元宝
end
edi.event:reg_gm("test:money:_add_money", _add_money)
- 样例输出
扣除货币
- 单货币扣除
- 接口样例
local function _sub_money(player)
local ret = edi.player:sub_money(player, 1, 3500) -- 金币
if ret == false then
edi.general:send_player_notice(player, const_def.NOTICE_TYPE.ChatBox, "金币不够了!扣除失败")
end
end
edi.event:reg_gm("test:money:_sub_money", _sub_money)
- 样例输出
- 优先级货币扣除
- 配置样例
- 接口样例
local function _sub_money_pro(player)
local jinbi_id = 1
local yuanbao_id = 3
local before_yuanbao = edi.player:get_money(player, yuanbao_id)
LOGI("当前元宝数量为:"..before_yuanbao)
local before_jinbi = edi.player:get_money(player, jinbi_id)
LOGI("当前金币数量为:"..before_jinbi)
local sub_count = 100--before_yuanbao+50
LOGI("扣除元宝"..sub_count.."...........")
edi.player:sub_money(player, yuanbao_id, sub_count)
local after_yuanbao = edi.player:get_money(player, yuanbao_id)
LOGI("扣除后元宝数量为:".. after_yuanbao)
local after_jinbi = edi.player:get_money(player, jinbi_id)
LOGI("扣除后金币数量为:".. after_jinbi)
end
edi.event:reg_gm("test:money:_sub_money_pro", _sub_money_pro)
- 样例输出
获取货币数量
- 接口样例
function get_money(player)
local item_id = 1
local money = edi.player:get_money(player, item_id)
LOGI("玩家当前金币数量为:".. money)
end
- 样例输出