-- 日常数据 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