Commit b115474f7b74ac50b67d437cb65e34bdc48715c7
1 parent
763d6396
默认积分 1000
Showing
2 changed files
with
18 additions
and
5 deletions
Show diff stats
src/actions/PvpAction.lua
| ... | ... | @@ -94,6 +94,9 @@ function _M.infoRpc(agent, data) |
| 94 | 94 | end) |
| 95 | 95 | local score = role:unpackPvpScore(redret[1] or 0) |
| 96 | 96 | local rank = tonumber(redret[2] or -2) + 1 --排名 1 - ... -1 未上榜 没打过pvp |
| 97 | + if rank == -1 then | |
| 98 | + score = globalCsv.pvp_base_score | |
| 99 | + end | |
| 97 | 100 | local pvpMC = role:getProperty("pvpMC") |
| 98 | 101 | if not next(pvpMC) then --没有分配过对手 |
| 99 | 102 | role:refreshPvpMatchC(score) |
| ... | ... | @@ -101,8 +104,8 @@ function _M.infoRpc(agent, data) |
| 101 | 104 | end |
| 102 | 105 | if not next(pvpMC) then return end |
| 103 | 106 | |
| 104 | - response.score = score | |
| 105 | 107 | response.rank = rank |
| 108 | + response.score = score | |
| 106 | 109 | response.matches = getMatchInfo(role, pvpMC, _pvpBattleInfoCacheC) |
| 107 | 110 | |
| 108 | 111 | elseif ptype == 2 then -- 高级pvp |
| ... | ... | @@ -314,7 +317,9 @@ function _M.rankListRpc(agent, data) |
| 314 | 317 | end) |
| 315 | 318 | local score = role:unpackPvpScore(redret[1] or 0) |
| 316 | 319 | local rank = tonumber(redret[2] or -2) + 1 --排名 1 - ... -1 未上榜 没打过pvp |
| 317 | - | |
| 320 | + if rank == -1 then | |
| 321 | + score = globalCsv.pvp_base_score | |
| 322 | + end | |
| 318 | 323 | local rankList = {} |
| 319 | 324 | for i = 1, #redret[3], 2 do |
| 320 | 325 | local roleId = tonumber(redret[i]) | ... | ... |
src/models/RolePvp.lua
| ... | ... | @@ -6,7 +6,7 @@ RolePvp.bind = function (Role) |
| 6 | 6 | local PVP_RANK_TIME_SORT_STD = 1924876800 -- 2030-12-31 00:00:00 |
| 7 | 7 | local PVP_RANK_TIME_SORT_PLACE = 1000000 -- 时间戳占据 6位数 |
| 8 | 8 | local PVP_RANK_TIME_SORT_PRECISION = 360 -- 时间精度 每6分钟忽略差异 |
| 9 | -local PVP_RANK_ROBOT_SCORE = 1000 -- 机器人积分 | |
| 9 | +local PVP_RANK_ROBOT_SCORE = globalCsv.pvp_base_score -- 机器人积分 | |
| 10 | 10 | |
| 11 | 11 | |
| 12 | 12 | function Role:unpackPvpScore(score) |
| ... | ... | @@ -70,8 +70,16 @@ end |
| 70 | 70 | |
| 71 | 71 | function Role:refreshPvpMatchC(score) |
| 72 | 72 | local roleId = self:getProperty("id") |
| 73 | - local score = score or self:unpackPvpScore(redisproxy:zscore(RANK_PVP_COMMON, roleId)) | |
| 74 | - | |
| 73 | + | |
| 74 | + if not score then | |
| 75 | + local tempScore = redisproxy:zscore(RANK_PVP_COMMON, roleId) | |
| 76 | + if not tempScore then | |
| 77 | + score = globalCsv.pvp_base_score | |
| 78 | + else | |
| 79 | + score = self:unpackPvpScore(tempScore) | |
| 80 | + end | |
| 81 | + end | |
| 82 | + | |
| 75 | 83 | local function getPlayers(levels) |
| 76 | 84 | local redret = redisproxy:pipelining(function(red) |
| 77 | 85 | for _, level in ipairs(levels) do | ... | ... |