diff --git a/modules/user/model_user.go b/modules/user/model_user.go index 990168acd..af4cdd590 100644 --- a/modules/user/model_user.go +++ b/modules/user/model_user.go @@ -170,11 +170,9 @@ func (this *ModelUser) ChangeLevel(event interface{}, next func(event interface{ curLv := ul.lv //下一等级配置 nextLvConf := this.module.configure.GetPlayerlvConf(curLv + 1) - for nextLvConf != nil { - if ul.exp > nextLvConf.Exp { - curLv++ - nextLvConf = this.module.configure.GetPlayerlvConf(curLv + 1) - } + for nextLvConf != nil && ul.exp >= nextLvConf.Exp { + curLv++ + nextLvConf = this.module.configure.GetPlayerlvConf(curLv + 1) } // 等级有递增时再更新 @@ -184,9 +182,10 @@ func (this *ModelUser) ChangeLevel(event interface{}, next func(event interface{ "lv": ul.lv, } this.module.modelUser.Change(ul.session.GetUserId(), update) + ul.session.SendMsg(string(this.module.GetType()), UserSubTypeLvChangedPush, + &pb.UserChangedPush{Uid: ul.session.GetUserId(), Exp: ul.exp, Lv: ul.lv}) } - ul.session.SendMsg(string(this.module.GetType()), UserSubTypeLvChangedPush, - &pb.UserChangedPush{Uid: ul.session.GetUserId(), Exp: ul.exp, Lv: ul.lv}) + } //玩家信息监听