From cc3b988b52ba3f473862d289ec58e7873e35d713 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 31 十二月 2024 16:43:06 +0800 Subject: [PATCH] 10334 【越南】【英语】【BT】【砍树】境界修改-服务端 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 22 ++++++++++++++++------ 1 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py index 1789332..ca6136a 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -4215,7 +4215,7 @@ #curTotalExp = GetPlayerTotalExp(curPlayer) curTotalExp = curPlayer.GetExpPoint() * ChConfig.Def_PerPointValue + curPlayer.GetTotalExp() - maxLV = IpyGameDataPY.GetFuncCfg("PlayerMaxLV", 1) + maxLV = GetPlayerMaxLV(curPlayer) maxLVExpStore = IpyGameDataPY.GetFuncCfg("MaxLVExpStore", 1) curLV = curPlayer.GetLV() @@ -4225,10 +4225,10 @@ # GameWorld.DebugLog("经验已满!需先转生!curLV=%s,reinLV=%s" % (curLV, nextReinLV), curPlayer.GetPlayerID()) # return 0 - # 检查最大等级 - if curLV >= maxLV and curTotalExp >= maxLVExpStore: + # 检查最大等级,maxLVExpStore -1时不限累计经验上限 + if curLV >= maxLV and curTotalExp >= maxLVExpStore and maxLVExpStore != -1: self.__NotifyExpFull(curPlayer, "GeRen_admin_825676") - #GameWorld.DebugLog("经验已满!已满级!curLV=%s" % (curLV), curPlayer.GetPlayerID()) + GameWorld.DebugLog("经验已满!已满级!curLV=%s,maxLV=%s,curTotalExp=%s >= maxLVExpStore=%s" % (curLV, maxLV, curTotalExp, maxLVExpStore), curPlayer.GetPlayerID()) return 0, expViewType # 杀怪 @@ -4276,7 +4276,7 @@ # 不可再升级时,增加后的经验不可超过最大可存储经验 #if curLV >= nextReinLV or curLV >= maxLV: - if curLV >= maxLV: + if curLV >= maxLV and maxLVExpStore > 0: addExp = min(addExp, max(0, maxLVExpStore - curTotalExp)) if addExp <= 0: @@ -4377,7 +4377,7 @@ needSyncTalentPoint = False playerNeedDoLVUp = False curLV = curPlayer.GetLV() - maxLV = IpyGameDataPY.GetFuncCfg("PlayerMaxLV", 1) + maxLV = GetPlayerMaxLV(curPlayer) curPlayer.BeginRefreshState() #befXP = curPlayer.GetXP() @@ -6874,6 +6874,16 @@ return 0 return lvIpyData.GetExpPoint() * ChConfig.Def_PerPointValue + lvIpyData.GetExp() +def GetPlayerMaxLV(curPlayer): + ## 获取玩家实际可升的最大等级 + maxLV = IpyGameDataPY.GetFuncCfg("PlayerMaxLV", 1) + curRealmLV = curPlayer.GetOfficialRank() + realmIpyData = PlayerPrestigeSys.GetRealmIpyData(curRealmLV) + if not realmIpyData: + return 0 + playerMaxLV = min(maxLV, realmIpyData.GetLVMax()) + return playerMaxLV + ## 获得玩家实际等级 # @param curPlayer 玩家 # @return 玩家实际等级 -- Gitblit v1.8.0