看广告获取体力

This commit is contained in:
hahwu 2025-01-09 16:37:53 +08:00
parent 365cdf0fb4
commit b614c1dd14
4 changed files with 2892 additions and 2740 deletions

View File

@ -619,6 +619,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
RegisterMsgProcessFunc("ReqPlayerBaseInfo", ReqPlayerBaseInfofunction) // 请求玩家基本信息 RegisterMsgProcessFunc("ReqPlayerBaseInfo", ReqPlayerBaseInfofunction) // 请求玩家基本信息
RegisterMsgProcessFunc("UpdateBaseItemInfo", UpdateBaseItemInfofunction) // 保存引导 RegisterMsgProcessFunc("UpdateBaseItemInfo", UpdateBaseItemInfofunction) // 保存引导
RegisterMsgProcessFunc("ReqKv", ReqKv) // 保存客户端数据 RegisterMsgProcessFunc("ReqKv", ReqKv) // 保存客户端数据
RegisterMsgProcessFunc("ReqGetEnergyByAD", ReqGetEnergyByAD) // 看广告获取能量
// #region 棋盘 // #region 棋盘
RegisterMsgProcessFunc("ReqPlayerChessData", ReqPlayerChessDataFunc) RegisterMsgProcessFunc("ReqPlayerChessData", ReqPlayerChessDataFunc)

View File

@ -958,6 +958,33 @@ func ReqBuyEnergy(args []interface{}) error {
return nil return nil
} }
func ReqGetEnergyByAD(args []interface{}) error {
_, player, _ := ParseArgs(args)
BaseMod := player.PlayMod.getBaseMod()
Item, err := BaseMod.GetEnergyByAD()
if err != nil {
player.SendErrClienRes(&msg.ResGetEnergyByAD{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
return err
}
err = player.HandleItem(Item, msg.ITEM_POP_LABEL_GetEnergyByAD.String())
if err != nil {
player.SendErrClienRes(&msg.ResGetEnergyByAD{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
return err
}
player.PlayMod.save()
player.PushClientRes(BaseMod.BackData())
player.PushClientRes(&msg.ResGetEnergyByAD{
Code: msg.RES_CODE_SUCCESS,
})
return nil
}
// 领取七日签到奖励 // 领取七日签到奖励
func ReqGetSevenLoginReward(args []interface{}) error { func ReqGetSevenLoginReward(args []interface{}) error {
_, player, buf := ParseArgs(args) _, player, buf := ParseArgs(args)

View File

@ -33,6 +33,7 @@ type Base struct {
Cumulative int // 累计在线时间 Cumulative int // 累计在线时间
TodayCumulative int // 今日累计在线时间 TodayCumulative int // 今日累计在线时间
LoginBack bool // 回归补偿 LoginBack bool // 回归补偿
EnergyAD int // 每日看广告获得的能量次数
} }
func (b *Base) InitData(Uid int) { func (b *Base) InitData(Uid int) {
@ -185,11 +186,13 @@ func (b *Base) BackData() *msg.BaseInfo {
EnergyMul: int32(b.EnergyMul), EnergyMul: int32(b.EnergyMul),
IsFirstBuy: b.IsFirstBuy, IsFirstBuy: b.IsFirstBuy,
EnergyBuy: int32(b.EnergyBuy), EnergyBuy: int32(b.EnergyBuy),
EnergyAD: int32(b.EnergyAD),
} }
} }
func (b *Base) ZeroUpdate() { func (b *Base) ZeroUpdate() {
b.EnergyBuy = 0 b.EnergyBuy = 0
b.EnergyAD = 0
b.TodayCumulative = 0 b.TodayCumulative = 0
} }
@ -198,3 +201,11 @@ func (b *Base) Outline(Time int) {
b.TodayCumulative += Time b.TodayCumulative += Time
b.Cumulative += Time b.Cumulative += Time
} }
func (b *Base) GetEnergyByAD() ([]*item.Item, error) {
if b.EnergyAD >= 5 {
return nil, fmt.Errorf("energy ad is max")
}
b.EnergyAD += 1
return []*item.Item{{Id: item.ITEM_ENERGY_ID, Num: 25}}, nil
}

File diff suppressed because it is too large Load Diff