From 8d871012152d869ca79d06f36a0ee6647e5a7341 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 25 十月 2018 10:06:55 +0800 Subject: [PATCH] 4296 【后端】【1.2.0】220级开启加点功能(原加点功能不变) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 25 ++++++++++++++++++++----- 1 files changed, 20 insertions(+), 5 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 8cee0ed..0afbe39 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -3320,18 +3320,33 @@ # @remarks 获得玩家升级, 获得的属性点 def GetLvUp_AddPoint(curPlayer): curPlayerID = curPlayer.GetID() - curReinCnt = curPlayer.GetReincarnationLv() # 当前转生次数 + curLV = curPlayer.GetLV() # 当前等级 - addPointList = IpyGameDataPY.GetFuncEvalCfg("LVUPAddPoint", 1) - - addPoint = addPointList[-1] if curReinCnt >= len(addPointList) else addPointList[curReinCnt] + addPointDict = IpyGameDataPY.GetFuncEvalCfg("LVUPAddPoint", 1, {}) + addPoint = GameWorld.GetDictValueByRangeKey(addPointDict, curLV, 0) if addPoint == None: - raise Exception('玩家获得升级属性点异常, reincarnationLv = %s PlayerID = %s' % (curReinCnt, curPlayerID)) + raise Exception('玩家获得升级属性点异常, curLV = %s PlayerID = %s' % (curLV, curPlayerID)) return return int(addPoint) +def DoAddPointOpen(curPlayer): + '''加点功能开启 处理给自由属性点及老号处理 + 清除老服玩家未加点的点数(清零),以前加的加点属性不清除,属性不变,战力不减, 根据最新的加点开启等级和老服玩家的当前等级,相差的差值给予玩家对应的加点点数''' + beforeFreePoint = curPlayer.GetFreePoint() + addPointDict = IpyGameDataPY.GetFuncEvalCfg("LVUPAddPoint", 1, {}) + initFreePoint = IpyGameDataPY.GetFuncCfg("LVUPAddPoint", 2) + openLV = GameFuncComm.GetFuncLimitLV(ShareDefine.GameFuncID_AddPoint) + setFreePoint = initFreePoint + curLV = curPlayer.GetLV() + for lv in xrange(openLV, curLV+1): + setFreePoint += GameWorld.GetDictValueByRangeKey(addPointDict, lv, 0) + addDataDict = {'beforeFreePoint':beforeFreePoint} + DataRecordPack.DR_Freepoint(curPlayer, "AddPointOpen", setFreePoint, addDataDict) + curPlayer.SetFreePoint(setFreePoint) + GameWorld.DebugLog(' 加点功能开启处理 beforeFreePoint=%s,curLV=%s, setFreePoint=%s'%(beforeFreePoint, curLV, setFreePoint), curPlayer.GetID()) + return #--------------------------------------------------------------------- ## 功能模块战斗力类 -- Gitblit v1.8.0