diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index 83bfc209..ba7dd4a3 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -585,9 +585,15 @@ func GetPetOrderItemExpByList(ItemList []*item.Item) int { } func GetShopItemAdNum(Id int) int { - data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_SHOP, Id) + data, err := gamedata.GetData(CFG_PLAYROOM_SHOP) if err != nil { + log.Debug("GetShopItemAdNum err:%v", err) return 0 } - return gamedata.GetIntValue(data, "Dailystorage") + for _, v := range data { + if gamedata.GetIntValue(v, "ItemId") == Id { + return gamedata.GetIntValue(v, "Dailystorage") + } + } + return 0 } diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 077a8398..2060b834 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3637,16 +3637,7 @@ func ReqPlayroomBuyItem(player *Player, buf []byte) error { }) return err } - if CostItem[0].Num == 0 { - err := PlayroomMod.AdWatch(AddItems[0].Id) - if err != nil { - player.SendErrClienRes(&msg.ResPlayroomBuyItem{ - Code: msg.RES_CODE_FAIL, - Msg: err.Error(), - }) - return err - } - } + err := player.HandleLoseItem(CostItem, msg.ITEM_POP_LABEL_PlayroomBuyItem.String()) if err != nil { player.SendErrClienRes(&msg.ResPlayroomBuyItem{ @@ -3901,6 +3892,17 @@ func ReqPlayroomShop(player *Player, buf []byte) error { }) return err } + // 消耗道具为0则为广告获取 + if LoseItem[0].Num == 0 { + err := PlayroomMod.AdWatch(AddItems[0].Id) + if err != nil { + player.SendErrClienRes(&msg.ResPlayroomBuyItem{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + } err = player.HandleLoseItem(LoseItem, msg.ITEM_POP_LABEL_PlayroomShop.String()) if err != nil { player.SendErrClienRes(&msg.ResPlayroomShop{ @@ -3923,7 +3925,7 @@ func ReqPlayroomShop(player *Player, buf []byte) error { "reward": AddItems, }) player.PlayMod.save() - PlayroomBackData(player) + player.PushClientRes(PlayroomMod.NotifyMood()) player.PushClientRes(&msg.ResPlayroomShop{ Code: msg.RES_CODE_SUCCESS, })