diff --git a/worldsrv/welfmgr.go b/worldsrv/welfmgr.go index 96921b2..43ce87f 100644 --- a/worldsrv/welfmgr.go +++ b/worldsrv/welfmgr.go @@ -1705,9 +1705,17 @@ func (this *WelfareMgr) PigbankGetInfo(p *Player) { } return 0 }*/ + + if p.WelfData.PigBank == nil { + p.WelfData.PigBank = &model.PigBankData{} + } + pool := srvdata.PBDB_PigBank_DiamondMgr.Datas.GetArr() infoData := pool[0] for _, data := range pool { + if data == nil { + continue + } if p.WelfData.PigBank.DayBuyTimes+1+1 >= data.BuyCountMin && p.WelfData.PigBank.DayBuyTimes+1 <= data.BuyCountMax { infoData = data break @@ -1716,6 +1724,9 @@ func (this *WelfareMgr) PigbankGetInfo(p *Player) { BankMaxCoin := int64(0) for _, data := range srvdata.PBDB_PigBank_DiamondMgr.Datas.GetArr() { + if data == nil { + continue + } if p.WelfData.PigBank.DayBuyTimes+1 >= data.BuyCountMin && p.WelfData.PigBank.DayBuyTimes+1 <= data.BuyCountMax { BankMaxCoin = int64(data.MaxGold) break @@ -1759,9 +1770,17 @@ func (this *WelfareMgr) PigbankTakeCoin(p *Player) { } return 0 }*/ + + if p.WelfData.PigBank == nil { + p.WelfData.PigBank = &model.PigBankData{} + } + pool := srvdata.PBDB_PigBank_DiamondMgr.Datas.GetArr() infoData := pool[0] for _, data := range pool { + if data == nil { + continue + } if p.WelfData.PigBank.DayBuyTimes+1+1 >= data.BuyCountMin && p.WelfData.PigBank.DayBuyTimes+1 <= data.BuyCountMax { infoData = data break @@ -1770,6 +1789,9 @@ func (this *WelfareMgr) PigbankTakeCoin(p *Player) { BankMaxCoin := int64(0) for _, data := range srvdata.PBDB_PigBank_DiamondMgr.Datas.GetArr() { + if data == nil { + continue + } if p.WelfData.PigBank.DayBuyTimes+1 >= data.BuyCountMin && p.WelfData.PigBank.DayBuyTimes+1 <= data.BuyCountMax { BankMaxCoin = int64(data.MaxGold) break @@ -1873,6 +1895,9 @@ func (this *WelfareMgr) DiamondBankGetInfo(p *Player) { p.WelfData.DiamondBank = &model.DiamondBankData{} } for _, data := range pool { + if data == nil { + continue + } if p.WelfData.DiamondBank.DayBuyTimes+1 >= data.BuyCountMin && p.WelfData.DiamondBank.DayBuyTimes+1 <= data.BuyCountMax { infoData = data break