diff --git a/src/server/conf/user/UserData.go b/src/server/conf/user/UserData.go index eb7356b9..b75e7538 100644 --- a/src/server/conf/user/UserData.go +++ b/src/server/conf/user/UserData.go @@ -53,17 +53,12 @@ func GetOrderNByLv(lv int) (int, error) { // 获取升级经验 func GetLevUpExp(lv int) (int, int) { - Exp := 0 - PExp := 0 - for i := 1; i <= lv; i++ { - data, err := gamedata.GetDataByIntKey(CFG_NAME, i) - if err != nil { - continue - } - Exp += gamedata.GetIntValue(data, "Exp") - PExp += gamedata.GetIntValue(data, "PExp") + data, err := gamedata.GetDataByIntKey(CFG_NAME, lv) + if err != nil { + log.Debug("UserDataCfg GetLevUpExp lv:%v not found", lv) + return 0, 0 } - return Exp, PExp + return gamedata.GetIntValue(data, "Exp"), gamedata.GetIntValue(data, "PExp") } // 获取能量回复时间 diff --git a/src/server/game/PlayerBaseMod.go b/src/server/game/PlayerBaseMod.go index 518b7841..4d0ab1bf 100644 --- a/src/server/game/PlayerBaseMod.go +++ b/src/server/game/PlayerBaseMod.go @@ -497,6 +497,7 @@ func (p *PlayerBaseData) AddExp(player *Player, exp int, pexp int) (int, error) Num++ BaseMod.Level++ BaseMod.Exp -= upExp + BaseMod.PExp -= upPExp upExp, upPExp = userCfg.GetLevUpExp(BaseMod.Level) // 日常任务解锁 DailyTaskMod := player.PlayMod.getDailyTaskMod()