local skynet = require "skynet" local oo = require "Class" local log = require "Log" local pb = require "pb" local errorInfo = require "ErrorInfo" local dataType = require "DataType" local AD = oo.class() function AD:Init() end --礼盒展示 function AD:Watch( player , c2sData , s2cData ) c2sData.data = assert(pb.decode("C2SADWatch", c2sData.data )) local data = {} local adType = c2sData.data.adType if not adType then s2cData.code = errorInfo.ErrorCode.ErrRequestParam else if adType == "UsedSellAcc" then --闲菜出售商品呼唤买家 --skynet.server.used:AccSell( player ) elseif adType == "FreeGainCoin" then --广告免费领金币 local cfgSValue = skynet.server.gameConfig.SValue local level = player.gameData.level local cfgLevel = skynet.server.gameConfig:GetLevelCfg( level ) local count = math.floor(cfgSValue.ADGold * cfgLevel.earningUpper) player:MoneyChange( dataType.MoneyType_Coin , count ) elseif adType == "FreeGainClovers" then --广告免费领四叶草 local cfgSValue = skynet.server.gameConfig.SValue local level = player.gameData.level local cfgLevel = skynet.server.gameConfig:GetLevelCfg( level ) local count = math.floor(cfgSValue.ADDiamond * cfgLevel.earningUpper) player:MoneyChange( dataType.MoneyType_Map , count) end --广告数量加+1 player.gameData.adCount = player.gameData.adCount + 1 player.gameData.todayGain.adCount = player.gameData.todayGain.adCount + 1 data.adType = adType data.adCount = player.gameData.adCount skynet.server.achieveTask:Modify( player , 41 , 1) --skynet.server.giftBox:CheckReward( player ) log.info(string.format("玩家 %d 广告观看 广告类型 %s" , player.userId , adType )) end s2cData.cmd = pb.enum("MsgType","CMD_S2C_ADWatch") s2cData.data = assert(pb.encode("S2CADWatch", data)) end --广告数量加1 function AD:AddCount( player , count ) player.gameData.adCount = player.gameData.adCount + count player.gameData.todayGain.adCount = player.gameData.todayGain.adCount + count end skynet.server.ad = AD return AD