diff --git a/src/RedisKeys.lua b/src/RedisKeys.lua index ed97eaf..3f0085a 100644 --- a/src/RedisKeys.lua +++ b/src/RedisKeys.lua @@ -17,7 +17,7 @@ RANK_TOWER = "rank:tower" RANK_TOWER_INFO = "rank:tower:info" -- adv -RANK_ADV = "rank:adv" +RANK_ADV = {"rank:adv1", "rank:adv2"} RANK_ADV_INFO = "rank:adv:info" RANK_DINER = {"rank:diner1", "rank:diner2"} -- 餐厅排行榜 两个每天互换 diff --git a/src/actions/AdvAction.lua b/src/actions/AdvAction.lua index b082c5f..a2aea2a 100644 --- a/src/actions/AdvAction.lua +++ b/src/actions/AdvAction.lua @@ -721,7 +721,7 @@ function _M.rankRpc(agent, data) local role = agent.role local list = {} - local ids = redisproxy:zrevrange(RANK_ADV, 0 , 99, "WITHSCORES") + local ids = redisproxy:zrevrange(role:getAdvRankKey(), 0 , 99, "WITHSCORES") local redret = {} if ids and next(ids) then redret = redisproxy:pipelining(function (red) @@ -739,8 +739,8 @@ function _M.rankRpc(agent, data) list[i].player = player end local redret = redisproxy:pipelining(function(red) - red:ZREVRANK(RANK_ADV, role:getProperty("id")) - red:zscore(RANK_ADV, role:getProperty("id")) + red:ZREVRANK(role:getAdvRankKey(), role:getProperty("id")) + red:zscore(role:getAdvRankKey(), role:getProperty("id")) end) local rank = redret[1] if not rank then diff --git a/src/adv/Adv.lua b/src/adv/Adv.lua index eb3ee9d..90bc865 100644 --- a/src/adv/Adv.lua +++ b/src/adv/Adv.lua @@ -716,7 +716,7 @@ function Adv:over(success, rewardRatio, overType) end local roleId = self.owner:getProperty("id") - local oldMaxScore = tonum(redisproxy:zscore(RANK_ADV, roleId)) + local oldMaxScore = tonum(redisproxy:zscore(role:getAdvRankKey(), roleId)) if score > oldMaxScore then local team = self.owner:getProperty("advTeam") local curInfo = { @@ -728,7 +728,7 @@ function Adv:over(success, rewardRatio, overType) format = self.owner:getTeamHerosInfo(team.heros), } redisproxy:pipelining(function (red) - red:zadd(RANK_ADV, score, roleId) --更新分数 + red:zadd(role:getAdvRankKey(), score, roleId) --更新分数 red:hset(RANK_ADV_INFO, roleId, MsgPack.pack(curInfo)) end) end @@ -1617,7 +1617,7 @@ function Adv:mapItemChange(ctype) end if changeTo and changeTo[1] ~= 0 and changeTo[2] ~= 0 then block.event.item = changeTo - self:backBlockChange(roomId, blockId) + self:backBlockChange(roomId, blockId, ctype) end end end @@ -1724,8 +1724,8 @@ function Adv:backEnd(success, score, scoreInfo, reward, overType, scoreAward) self:pushBackEvent(AdvBackEventType.End, {success = success, score = score, scoreInfo = scoreInfo, reward = reward, type = overType, scoreAward = scoreAward}) end -function Adv:backBlockChange(roomId, blockId) - self:pushBackEvent(AdvBackEventType.BlockChange, {roomId = roomId, blockId = blockId}) +function Adv:backBlockChange(roomId, blockId, itemChangeType) + self:pushBackEvent(AdvBackEventType.BlockChange, {roomId = roomId, blockId = blockId, itemChangeType = itemChangeType}) end function Adv:backDead(enemyId, exp) -- libgit2 0.21.2