Pvp.lua
1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
-- 日常数据
local Pvp = class("Pvp", require("shared.ModelBase"))
function Pvp:ctor(properties)
Pvp.super.ctor(self, properties)
end
Pvp.schema = {
pvpFC = {"table", {}}, -- pvp 编队普通
pvpFH = {"table", {}}, -- pvp 编队高级
matchC = {"table", {}}, -- pvp 匹配的对手 普通 {{t = 1, id = roleId}, {t = 2, id = id}, {t = 2, id = id}} -- t 1 玩家 2 机器人
matchH = {"table", {}}, -- pvp 匹配的对手 高级 {{t = 1, id = roleId}, {t = 2, id = id}, {t = 2, id = id}} -- t 1 玩家 2 机器人
}
function Pvp:updateProperty(params)
if params.delta then
self:incrProperty(params.field, params.delta)
if not params.notNotify then
self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
end
return true
end
if params.value then
self:setProperty(params.field, params.value)
if not params.notNotify then
self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
end
return true
end
return false
end
function Pvp:refreshDailyData(notify)
end
function Pvp:rankResetData(notify)
end
function Pvp:refreshMatchC(score)
local roleId = self.owner:getProperty("id")
local score = score or redisproxy:zscore(RANK_PVP_COMMON, roleId)
local redret = redisproxy:pipelining(function(red)
end)
end
function Pvp:changeScoreCommon(score)
local roleId = self.owner:getProperty("id")
local newScore = tonumber(redisproxy:ZINCRBY(RANK_PVP_COMMON, score, roleId))
if newScore < 0 then -- 最低0分
newScore = 0
redisproxy:zadd(RANK_PVP_COMMON, 0, roleId)
end
self:refreshMatch(newScore)
return newScore
end
function Pvp:save
function Pvp:data()
return {
pvpFC = self:getProperty("pvpFC"),
pvpFH = self:getProperty("pvpFH"),
}
end
return Pvp