diff --git a/src/actions/CapsuleAction.lua b/src/actions/CapsuleAction.lua index 2c183da..d3a7a4c 100644 --- a/src/actions/CapsuleAction.lua +++ b/src/actions/CapsuleAction.lua @@ -104,7 +104,7 @@ function _M.drawRpc(agent, data) else ret, token = role:goodStock(capsuleId) end - if ret == 0 then skynet.error("零库存 " .. capsuleId) return 1 end + if ret == 0 then skynet.error("零库存 " .. capsuleId) return 0 end --检查余额 if not next(token) then skynet.error("代币未配置 " .. capsuleId) return 1 end diff --git a/src/models/RoleCross.lua b/src/models/RoleCross.lua index a3d14be..3b9889b 100644 --- a/src/models/RoleCross.lua +++ b/src/models/RoleCross.lua @@ -211,20 +211,16 @@ RoleCross.bind = function (Role) end function Role:paySpecialReward(roleId, notify) + dump(notify) if notify and next(notify) then local reward = {} for key, val in pairs(notify) do - if key == roleId then - for k, v in pairs(val) do - for id, count in pairs(v.award:toNumMap()) do - reward[id] = (reward[id] or 0) + count - end - end + for id, count in pairs(val.award:toNumMap()) do + reward[id] = (reward[id] or 0) + count end end - local role = require("models.Role").new({key = string.format("%s",roleId), id = roleId}) - role:award(reward, {log = {desc = "CapsuleReward", int1=roleId}}) + self:award(reward, {log = {desc = "CapsuleReward", int1=roleId}}) end end @@ -389,16 +385,14 @@ function CMD.redPTag(roleId, tag, pms) end function CMD.paySpecialReward(roleId, notify) + dump(notify) if notify and next(notify) then - local reward = {} + local reward = {} for key, val in pairs(notify) do - if key == roleId then - for k, v in pairs(val) do - for id, count in pairs(v.award:toNumMap()) do - reward[id] = (reward[id] or 0) + count - end - end + for id, count in pairs(val.award:toNumMap()) do + reward[id] = (reward[id] or 0) + count end + end local role = require("models.Role").new({key = string.format("%s",roleId), id = roleId}) role:award(reward, {log = {desc = "CapsuleReward", int1=roleId}}) diff --git a/src/services/capsuled.lua b/src/services/capsuled.lua index 4926a2d..eb4b248 100644 --- a/src/services/capsuled.lua +++ b/src/services/capsuled.lua @@ -68,7 +68,9 @@ function broadCastSpecial(roleId, capsuleId, broadInfo) if next(capsule) then for id, _ in pairs(register) do if id ~= roleId then - rpcRole(id, "paySpecialReward", id, broadInfo) + if broadInfo[id] then + rpcRole(id, "paySpecialReward", id, broadInfo[id]) + end end end end -- libgit2 0.21.2