diff --git a/worldsrv/player.go b/worldsrv/player.go index 28e3644..4973b60 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -176,6 +176,14 @@ func (this *Player) init() bool { this.GuideData = make(map[int32]int32) } this.InitRolesAndPets() + // 数据修复 + if this.PlayerData != nil && this.PlayerData.WelfData != nil { + for k, v := range this.PlayerData.WelfData.Task { + if v == nil { + delete(this.PlayerData.WelfData.Task, k) + } + } + } return true } diff --git a/worldsrv/welfmgr.go b/worldsrv/welfmgr.go index 3f34f50..593a925 100644 --- a/worldsrv/welfmgr.go +++ b/worldsrv/welfmgr.go @@ -2228,7 +2228,7 @@ func (this *WelfareMgr) ClearActivityNianData(p *Player) { for id, _ := range p.WelfData.Task { data := srvdata.PBDB_TaskMgr.GetData(id) if data.ActivityType == common.TaskActivityTypeNianEveryDay || data.ActivityType == common.TaskActivityTypeNian { - p.WelfData.Task[id] = nil + delete(p.WelfData.Task, id) } } }