diff --git a/modules/parkour/module.go b/modules/parkour/module.go index 17f067cf9..8423ae24e 100644 --- a/modules/parkour/module.go +++ b/modules/parkour/module.go @@ -464,17 +464,16 @@ func (this *Parkour) recoverhp(id string, uid string, hp int32) { func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) { this.Debug("overtimer", log.Field{Key: "id", Value: args}) var ( - battle *RaceItem - ok bool - side int32 - sessions []comm.IUserSession = make([]comm.IUserSession, 0) - conf *cfg.GameQualifyingData - lvconf *cfg.GameBuzkashiLvData - danconf *cfg.GameQualifyingData - awards map[string][]*cfg.Gameatn = make(map[string][]*cfg.Gameatn) - award map[string][]*pb.UserAtno = make(map[string][]*pb.UserAtno) - errdata *pb.ErrorData - err error + battle *RaceItem + ok bool + side int32 + conf *cfg.GameQualifyingData + lvconf *cfg.GameBuzkashiLvData + danconf *cfg.GameQualifyingData + awards map[string][]*cfg.Gameatn = make(map[string][]*cfg.Gameatn) + award map[string][]*pb.UserAtno = make(map[string][]*pb.UserAtno) + errdata *pb.ErrorData + err error ) id := args[0].(string) this.lock.RLock() @@ -571,28 +570,6 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) { } } } - for _, v := range battle.Session { - if errdata, award[v.GetUserId()] = this.DispenseAtno(v, awards[v.GetUserId()], true); errdata != nil { - this.Errorln(errdata) - return - } - v.SendMsg(string(this.GetType()), "raceover", &pb.ParkourRaceOverPush{ - Winside: side, - Race: &pb.DBRace{ - Id: battle.Id, - Redmember: battle.RedMember, - Redscores: battle.RedScore, - Bulemember: battle.BuleMember, - Bulescores: battle.BuleScore, - }, - Award: award[v.GetUserId()], - }) - go this.AsynHandleSession(v.Clone(), func(session comm.IUserSession) { - this.ModuleBuried.TriggerBuried(v, comm.GetBuriedParam(comm.Rtype234, 1)) - this.WriteUserLog(session.GetUserId(), "", 0, "ParkourRaceOverPush", award[v.GetUserId()]) - }) - sessions = append(sessions, v) - } for _, v := range battle.RedMember { if !v.Isai { @@ -633,6 +610,28 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) { } } } + + for _, v := range battle.Session { + if errdata, award[v.GetUserId()] = this.DispenseAtno(v, awards[v.GetUserId()], true); errdata != nil { + this.Errorln(errdata) + return + } + this.ModuleBuried.TriggerBuried(v, comm.GetBuriedParam(comm.Rtype234, 1)) + v.SendMsg(string(this.GetType()), "raceover", &pb.ParkourRaceOverPush{ + Winside: side, + Race: &pb.DBRace{ + Id: battle.Id, + Redmember: battle.RedMember, + Redscores: battle.RedScore, + Bulemember: battle.BuleMember, + Bulescores: battle.BuleScore, + }, + Award: award[v.GetUserId()], + }) + this.WriteUserLog(v.GetUserId(), "", 0, "ParkourRaceOverPush", award[v.GetUserId()]) + v.Push() + this.PutUserSession(v) + } } }