diff --git a/src/actions/PvpAction.lua b/src/actions/PvpAction.lua index 60cf3c6..79a1045 100644 --- a/src/actions/PvpAction.lua +++ b/src/actions/PvpAction.lua @@ -243,6 +243,12 @@ function _M.buyCountRpc(agent, data) local cost = {[ItemId.Jade] = globalCsv.pvp_buy_cost * count} if not role:checkItemEnough(cost) then return 2 end + + --限制每天购买次数 + local pvpBought = role.dailyData:getProperty("pvpBought") + if count + pvpBought > globalCsv["pvp_buy_max"] then return 3 end + role.dailyData:updateProperty({field = "pvpBought", value = count + pvpBought}) + role:costItems(cost, {log = {desc = "buyPvpKey"}}) role:award({[ItemId.PvpKey] = count}, {log = {desc = "buyPvpKey"}}) diff --git a/src/models/Daily.lua b/src/models/Daily.lua index 4a38f3e..f43e58d 100644 --- a/src/models/Daily.lua +++ b/src/models/Daily.lua @@ -22,6 +22,7 @@ Daily.schema = { getFP = {"table", {}}, -- 领过谁的心心 pvpFree = {"number", 0}, -- pvp使用免费次数 pvpFreeH = {"number", 0}, -- 高级pvp使用免费次数 + pvpBought = {"number", 0}, -- pvp购买次数 dailySDC = {"table", {}}, -- daily shop diamond count {[id] = count} -- 每日商城购买次数统计 dailySDD = {"table", {}}, -- daily shop diamond disount {[id] = 1} -- 每日商城折扣统计 @@ -69,6 +70,8 @@ function Daily:refreshDailyData(notify) -- skip elseif field == "treasureList" then dataMap[field] = self:getTreasrueList() + elseif field == "pvpBought" then + dataMap[field] = 0 elseif field ~= "key" then local typ, def = table.unpack(schema) dataMap[field] = def @@ -367,6 +370,7 @@ function Daily:data() getFP = self:getProperty("getFP"), pvpFree = self:getProperty("pvpFree"), pvpFreeH = self:getProperty("pvpFreeH"), + pvpBought = self:getProperty("pvpBought"), dailySDC = self:getProperty("dailySDC"), dailySDD = self:getProperty("dailySDD"), advSupRe = self:getProperty("advSupRe"), -- libgit2 0.21.2