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 | ... | ... |