From 752de87a70503c2be26eae7ab554b0c3caa2efc0 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 13 一月 2025 15:53:05 +0800 Subject: [PATCH] 10334 【越南】【英语】【BT】【砍树】境界修改-服务端 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/RealmLVUP.py | 65 +++++++++++++++++++++++++++++--- 1 files changed, 59 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/RealmLVUP.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/RealmLVUP.py index a4e077a..ee9a05c 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/RealmLVUP.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/RealmLVUP.py @@ -17,6 +17,10 @@ import GameWorld import PlayerPrestigeSys +import IpyGameDataPY +import PlayerControl +import PlayerGubao +import ChConfig ## 逻辑实现 @@ -24,10 +28,59 @@ # @param cmdList 参数列表 # @return None def OnExec(curPlayer, cmdList): - isOK = PlayerPrestigeSys.DoRealmLVUpLogic(curPlayer) - curRealmLV = curPlayer.GetOfficialRank() - if isOK: - GameWorld.DebugAnswer(curPlayer, "提升境界成功!GetOfficialRank=%s" % curRealmLV) - else: - GameWorld.DebugAnswer(curPlayer, "提升境界失败!GetOfficialRank=%s" % curRealmLV) + if not cmdList: + GameWorld.DebugAnswer(curPlayer, "------------ %s" % GameWorld.GetCurrentDataTimeStr()) + GameWorld.DebugAnswer(curPlayer, "重置境界阶级: RealmLVUP 0 [重置改版标记]") + GameWorld.DebugAnswer(curPlayer, "执行境界升阶: RealmLVUP 1 [次数]") + GameWorld.DebugAnswer(curPlayer, "设置境界任务: RealmLVUP t 任务ID 进度值") + GameWorld.DebugAnswer(curPlayer, "注:可设置进度的任务类型:%s" % PlayerPrestigeSys.NeedTaskValueTypeList) + GameWorld.DebugAnswer(curPlayer, "设置境界塔层: RealmTower") + GameWorld.DebugAnswer(curPlayer, "设置天星塔层: SetSkyTower") + GameWorld.DebugAnswer(curPlayer, "设置境界等级: SetOfficalRank 境界等级") + GameWorld.DebugAnswer(curPlayer, "注:直接设置境界等级不会触发境界其他额外效果") + return + + value = cmdList[0] + if value == 0: + reVersionState = cmdList[1] if len(cmdList) > 1 else 0 + curPlayer.SetOfficialRank(0) + curPlayer.SetFreePoint(0) + GameWorld.DebugAnswer(curPlayer, "重置境界!") + GameWorld.DebugAnswer(curPlayer, "重置灵根点!") + effType = PlayerGubao.GubaoEffType_RealmLVAddLinggen + ipyDataMgr = IpyGameDataPY.IPY_Data() + for index in range(ipyDataMgr.GetGubaoCount()): + ipyData = ipyDataMgr.GetGubaoByIndex(index) + gubaoID = ipyData.GetGubaoID() + addFreePointAlready = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType)) + if not addFreePointAlready: + continue + GameWorld.DebugAnswer(curPlayer, "重置古宝(%s)效果(%s)增加灵根点:%s" % (gubaoID, effType, addFreePointAlready)) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType), 0) + PlayerGubao.Sync_GubaoItemEffInfo(curPlayer, gubaoID, effType, force=True) + GameWorld.DebugAnswer(curPlayer, "重置境界OK") + if reVersionState: + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmVersionState, 0) + GameWorld.DebugAnswer(curPlayer, "重置改版标记,重登会执行重置境界逻辑!") + return + if value == 1: + doCount = cmdList[1] if len(cmdList) > 1 else 1 + okCnt = 0 + for _ in range(doCount): + if PlayerPrestigeSys.DoRealmLVUpLogic(curPlayer): + okCnt += 1 + else: + break + curRealmLV = curPlayer.GetOfficialRank() + if okCnt: + GameWorld.DebugAnswer(curPlayer, "提升境界成功!GetOfficialRank=%s" % curRealmLV) + else: + GameWorld.DebugAnswer(curPlayer, "提升境界失败!GetOfficialRank=%s" % curRealmLV) + elif value == "t": + taskID = cmdList[1] if len(cmdList) > 1 else 0 + taskValue = cmdList[2] if len(cmdList) > 2 else 0 + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmTaskValue % taskID, taskValue) + PlayerPrestigeSys.SyncRealmFBState(curPlayer, taskIDList=[taskID]) + GameWorld.DebugAnswer(curPlayer, "设置任务ID:%s,进度值:%s" % (taskID, taskValue)) + return -- Gitblit v1.8.0