diff --git a/src/adv/Adv.lua b/src/adv/Adv.lua index ab1ff20..9a75536 100644 --- a/src/adv/Adv.lua +++ b/src/adv/Adv.lua @@ -798,7 +798,8 @@ local function clickTrader(self, room, block, params) if not block.event.shop or not block.event.shop[buyId] then return end if (block.event.status or ""):getv(buyId, 0) == 1 then return end -- 买过了 - if traderData.purchasetime <= #((block.event.status or ""):toArray()) then return end + local buyCount = #((block.event.status or ""):toArray()) + if traderData.purchasetime <= buyCount then return end local goodsData = csvdb["event_trader_goodsCsv"][block.event.shop[buyId][1]] if not goodsData then return end @@ -815,9 +816,14 @@ local function clickTrader(self, room, block, params) self.owner:updateProperty({field = "advShop", value = advShop}) end block.event.status = block.event.status:setv(buyId, 1) + buyCount = buyCount + 1 self:checkTask(Adv.TaskType.Shop, 1, block.event.id) self:checkAchievement(Adv.AchievType.Shop, 1, block.event.id) self:backReward(reward) + + if traderData.purchasetime <= buyCount or #block.event.shop <= buyCount then + block:clear() + end return true end -- libgit2 0.21.2