跳到主要内容

货币系统

引擎提供基础货币

基础货币

新增货币种类

  • 道具表新增货币,道具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
  • 样例输出

获取货币数量