diff --git a/worldsrv/player.go b/worldsrv/player.go index ab4289d..7839929 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -2892,7 +2892,14 @@ func (this *Player) DoShopInfo(info *model.DbShop, isLogin bool) { //钻石存储罐 if info.PageId == ShopPageDiamondBank { - WelfareMgrSington.DiamondBankTakeCoin(this) + + arrItems := WelfareMgrSington.DiamondBankTakeCoin(this) + for _, v := range arrItems { + itemInfo = append(itemInfo, &playerproto.PayItem{ + ItemId: v.ItemId, + ItemNum: v.ItemNum, + }) + } } // 通行证 diff --git a/worldsrv/welfmgr.go b/worldsrv/welfmgr.go index bf8135d..2ad6582 100644 --- a/worldsrv/welfmgr.go +++ b/worldsrv/welfmgr.go @@ -1118,7 +1118,7 @@ func (this *WelfareMgr) BlindBoxInfo(p *Player, bid int32) { if cyc == 1 || blindBox.Cycle == model.WelfareOpen { p.WelfData.BlindBoxId = 0 } - } // == 1代表当日循环 + } // == 1代表当日循环 if p.WelfData.BlindBoxId == 0 { // 未领取过发随机Date idx := bid @@ -1988,7 +1988,7 @@ func (this *WelfareMgr) DiamondBankGetInfo(p *Player) { } // DiamondBankTakeCoin 钻石存钱罐领取钻石 -func (this *WelfareMgr) DiamondBankTakeCoin(p *Player) { +func (this *WelfareMgr) DiamondBankTakeCoin(p *Player) (retItemArr []*model.Item) { pack := &welfare.SCDiamondBankTakeDiamond{ OpRetCode: welfare.OpResultCode_OPRC_Error, } @@ -2034,7 +2034,13 @@ func (this *WelfareMgr) DiamondBankTakeCoin(p *Player) { ItemId: int32(k), ItemNum: v, }) + + retItemArr = append(retItemArr, &model.Item{ + ItemId: int32(k), + ItemNum: v, + }) } + BagMgrSingleton.AddItems(&model.AddItemParam{ Platform: p.Platform, SnId: p.SnId, @@ -2069,6 +2075,8 @@ func (this *WelfareMgr) DiamondBankTakeCoin(p *Player) { logger.Logger.Tracef("DiamondBankTakeCoin snid: %v pack: %v", p.SnId, pack) p.SendToClient(int(welfare.SPacketID_PACKET_SCDiamondBankTakeDiamond), pack) } + + return retItemArr } // 更新钻石存储罐数据