HomeServer/lualib-src/Server-main/AllServer/GameServer/AD.lua

60 lines
2.3 KiB
Lua
Raw Permalink Normal View History

2024-11-20 15:41:09 +08:00
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