Commit 1313eac009b7a8a180713b9c67cf8e56bf8a1ff4

Authored by zhouhaihai
1 parent cd498e53

冒险的一些bug

src/actions/AdvAction.lua
@@ -694,13 +694,14 @@ function _M.rankRpc(agent, data) @@ -694,13 +694,14 @@ function _M.rankRpc(agent, data)
694 local role = agent.role 694 local role = agent.role
695 695
696 local list = {} 696 local list = {}
697 - local ids = redisproxy:zrevrange(RANK_ADV, 0 , 99) 697 + local ids = redisproxy:zrevrange(RANK_ADV, 0 , 99, "WITHSCORES")
698 local redret = {} 698 local redret = {}
699 if ids and next(ids) then 699 if ids and next(ids) then
700 redret = redisproxy:pipelining(function (red) 700 redret = redisproxy:pipelining(function (red)
701 - for i = 1, #ids do 701 + for i = 1, #ids, 2 do
702 local roleId = ids[i] 702 local roleId = ids[i]
703 - table.insert(list, {roleId = tonumber(roleId)}) 703 + local score = tonum(ids[i + 1])
  704 + table.insert(list, {roleId = tonumber(roleId), score = score})
704 red:hget(RANK_ADV_INFO, roleId) 705 red:hget(RANK_ADV_INFO, roleId)
705 end 706 end
706 end) 707 end)
@@ -377,6 +377,11 @@ function Adv:initBattle() @@ -377,6 +377,11 @@ function Adv:initBattle()
377 self.battle:triggerPassive(passiveC[1], passiveC[2]) 377 self.battle:triggerPassive(passiveC[1], passiveC[2])
378 end 378 end
379 self.cachePassiveEvent = {} 379 self.cachePassiveEvent = {}
  380 +
  381 + -- after init battle
  382 + for idx, map in pairs(self.maps) do
  383 + map:initBattleAfter()
  384 + end
380 end 385 end
381 386
382 function Adv:triggerPassive(condType, params) 387 function Adv:triggerPassive(condType, params)
@@ -1142,6 +1147,7 @@ local function clickLayer(self, room, block, params) @@ -1142,6 +1147,7 @@ local function clickLayer(self, room, block, params)
1142 1147
1143 self.maps[mapIdx] = AdvMap.new(self, mapIdx, mapId) 1148 self.maps[mapIdx] = AdvMap.new(self, mapIdx, mapId)
1144 self.battle:initMapEnemys(mapIdx) 1149 self.battle:initMapEnemys(mapIdx)
  1150 + self.maps[mapIdx]:initBattleAfter()
1145 self:checkAchievement(Adv.AchievType.EnterILayer, 1, mapId) 1151 self:checkAchievement(Adv.AchievType.EnterILayer, 1, mapId)
1146 end 1152 end
1147 self:backLayer(1) 1153 self:backLayer(1)
src/adv/AdvMap.lua
@@ -34,6 +34,12 @@ function Map:loadRooms(rooms) @@ -34,6 +34,12 @@ function Map:loadRooms(rooms)
34 end 34 end
35 end 35 end
36 36
  37 +function Map:initBattleAfter()
  38 + for roomId, room in pairs(self.rooms) do
  39 + room:initBattleAfter()
  40 + end
  41 +end
  42 +
37 function Map:getDB() 43 function Map:getDB()
38 local map = {} 44 local map = {}
39 map.mapId = self.mapId 45 map.mapId = self.mapId
src/adv/AdvRoom.lua
@@ -12,6 +12,7 @@ function Room:ctor(map, roomId, csvData, info, isPath) @@ -12,6 +12,7 @@ function Room:ctor(map, roomId, csvData, info, isPath)
12 self.isPath = isPath 12 self.isPath = isPath
13 self.isBossRoom = false -- boss房间 --击败boss 以后重置为false 13 self.isBossRoom = false -- boss房间 --击败boss 以后重置为false
14 self.isShow = false 14 self.isShow = false
  15 + self.battleAfterCall = {}
15 16
16 self.blocks = {} 17 self.blocks = {}
17 self:loadBlocks(csvData, info) 18 self:loadBlocks(csvData, info)
@@ -38,10 +39,19 @@ function Room:loadBlocks(csvData, info) @@ -38,10 +39,19 @@ function Room:loadBlocks(csvData, info)
38 end 39 end
39 --中继层全部开放 boss 房间 开启所有的地块 40 --中继层全部开放 boss 房间 开启所有的地块
40 if self.map.adv.isRelay or (self.isBossRoom and self.isShow and isFirstOpen) then 41 if self.map.adv.isRelay or (self.isBossRoom and self.isShow and isFirstOpen) then
41 - for _, block in pairs(self.blocks) do  
42 - self:openBlock(block)  
43 - end 42 + table.insert(self.battleAfterCall, function()
  43 + for _, block in pairs(self.blocks) do
  44 + self:openBlock(block)
  45 + end
  46 + end)
  47 + end
  48 +end
  49 +
  50 +function Room:initBattleAfter()
  51 + for _, callback in ipairs(self.battleAfterCall) do
  52 + callback()
44 end 53 end
  54 + self.battleAfterCall = {}
45 end 55 end
46 56
47 function Room:getDB() 57 function Room:getDB()
src/adv/AdvTask.lua
@@ -137,7 +137,7 @@ function AdvTask.bind(Adv) @@ -137,7 +137,7 @@ function AdvTask.bind(Adv)
137 137
138 local item = csvdb["event_dropCsv"][taskData.drop]["range"]:randWeight(true) 138 local item = csvdb["event_dropCsv"][taskData.drop]["range"]:randWeight(true)
139 reward[item[1]] = (reward[item[1]] or 0) + item[2] 139 reward[item[1]] = (reward[item[1]] or 0) + item[2]
140 - reward = self.owner:award(reward) 140 + reward = self:award(reward)
141 141
142 self.advTask[taskId] = nil 142 self.advTask[taskId] = nil
143 ok = true 143 ok = true