Commit 096de6f71a563c9b2eb86659ec6c4aa2f082b4ad
1 parent
6304b5ad
fix: 一番赏 抽扭蛋机通知 特殊赏,只通知个人所获得的奖励
Showing
3 changed files
with
13 additions
and
17 deletions
Show diff stats
src/actions/CapsuleAction.lua
... | ... | @@ -104,7 +104,7 @@ function _M.drawRpc(agent, data) |
104 | 104 | else |
105 | 105 | ret, token = role:goodStock(capsuleId) |
106 | 106 | end |
107 | - if ret == 0 then skynet.error("零库存 " .. capsuleId) return 1 end | |
107 | + if ret == 0 then skynet.error("零库存 " .. capsuleId) return 0 end | |
108 | 108 | |
109 | 109 | --检查余额 |
110 | 110 | if not next(token) then skynet.error("代币未配置 " .. capsuleId) return 1 end | ... | ... |
src/models/RoleCross.lua
... | ... | @@ -211,20 +211,16 @@ RoleCross.bind = function (Role) |
211 | 211 | end |
212 | 212 | |
213 | 213 | function Role:paySpecialReward(roleId, notify) |
214 | + dump(notify) | |
214 | 215 | if notify and next(notify) then |
215 | 216 | local reward = {} |
216 | 217 | for key, val in pairs(notify) do |
217 | - if key == roleId then | |
218 | - for k, v in pairs(val) do | |
219 | - for id, count in pairs(v.award:toNumMap()) do | |
220 | - reward[id] = (reward[id] or 0) + count | |
221 | - end | |
222 | - end | |
218 | + for id, count in pairs(val.award:toNumMap()) do | |
219 | + reward[id] = (reward[id] or 0) + count | |
223 | 220 | end |
224 | 221 | |
225 | 222 | end |
226 | - local role = require("models.Role").new({key = string.format("%s",roleId), id = roleId}) | |
227 | - role:award(reward, {log = {desc = "CapsuleReward", int1=roleId}}) | |
223 | + self:award(reward, {log = {desc = "CapsuleReward", int1=roleId}}) | |
228 | 224 | end |
229 | 225 | end |
230 | 226 | |
... | ... | @@ -389,16 +385,14 @@ function CMD.redPTag(roleId, tag, pms) |
389 | 385 | end |
390 | 386 | |
391 | 387 | function CMD.paySpecialReward(roleId, notify) |
388 | + dump(notify) | |
392 | 389 | if notify and next(notify) then |
393 | - local reward = {} | |
390 | + local reward = {} | |
394 | 391 | for key, val in pairs(notify) do |
395 | - if key == roleId then | |
396 | - for k, v in pairs(val) do | |
397 | - for id, count in pairs(v.award:toNumMap()) do | |
398 | - reward[id] = (reward[id] or 0) + count | |
399 | - end | |
400 | - end | |
392 | + for id, count in pairs(val.award:toNumMap()) do | |
393 | + reward[id] = (reward[id] or 0) + count | |
401 | 394 | end |
395 | + | |
402 | 396 | end |
403 | 397 | local role = require("models.Role").new({key = string.format("%s",roleId), id = roleId}) |
404 | 398 | role:award(reward, {log = {desc = "CapsuleReward", int1=roleId}}) | ... | ... |
src/services/capsuled.lua
... | ... | @@ -68,7 +68,9 @@ function broadCastSpecial(roleId, capsuleId, broadInfo) |
68 | 68 | if next(capsule) then |
69 | 69 | for id, _ in pairs(register) do |
70 | 70 | if id ~= roleId then |
71 | - rpcRole(id, "paySpecialReward", id, broadInfo) | |
71 | + if broadInfo[id] then | |
72 | + rpcRole(id, "paySpecialReward", id, broadInfo[id]) | |
73 | + end | |
72 | 74 | end |
73 | 75 | end |
74 | 76 | end | ... | ... |