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