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