From e6062b42c1191e9ab95e000a38276634eff0e1f1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 27 九月 2023 02:57:09 +0800
Subject: [PATCH] 9949 【BT0.1】【主干】天星塔修改(全服奖励修改)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py |   48 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py
index d8694cf..ee6738d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSkyTower.py
@@ -19,7 +19,11 @@
 #---------------------------------------------------------------------
 
 import GameLogic_SkyTower
+import IpyGameDataPY
 import GameWorld
+import ChConfig
+import PlayerControl
+
 #---------------------------------------------------------------------
 #全局变量
 #---------------------------------------------------------------------
@@ -31,12 +35,44 @@
 #  @param cmdList 参数列表
 #  @return None
 def OnExec(curPlayer, cmdList):
-    if len(cmdList) != 1:
-        GameWorld.DebugAnswer(curPlayer, "SetSkyTower 层")
+    if not cmdList:
+        GameWorld.DebugAnswer(curPlayer, "设置过关塔层: SetSkyTower 1 层")
+        GameWorld.DebugAnswer(curPlayer, "填充全服过关: SetSkyTower 2 层  过关机器人数")
+        GameWorld.DebugAnswer(curPlayer, "重置全服奖励: SetSkyTower 3")
+        GameWorld.DebugAnswer(curPlayer, "重置全服过关: SetSkyTower 4")
+        GameWorld.DebugAnswer(curPlayer, "注: 重置全服过关需重登")
         return
-    fbLevel = cmdList[0]
-    GameLogic_SkyTower.SetSkyTowerCurfloorID(curPlayer, fbLevel)
+    isSendGameServer = False
+    
+    cmdType = cmdList[0]
+    if cmdType == 1:
+        fbLevel = cmdList[1] if len(cmdList) > 1 else 0
+        GameLogic_SkyTower.SetSkyTowerCurfloorID(curPlayer, fbLevel)
+        GameLogic_SkyTower.SyncSkyTowerInfo(curPlayer)
+        GameWorld.DebugAnswer(curPlayer, "天星塔过关数设置 floor=%s!"%fbLevel)
+    elif cmdType == 2:
+        floorID = cmdList[1] if len(cmdList) > 1 else 0
+        #robotCount = cmdList[2] if len(cmdList) > 2 else 1
+        isSendGameServer = True
+        ipyDataServer = IpyGameDataPY.GetIpyGameDataNotLog("SkyTowerServerChallenge", floorID)
+        if not ipyDataServer:
+            GameWorld.DebugAnswer(curPlayer, "不存在该全服奖励层:%s" % floorID)
+            return
+    elif cmdType == 3:
+        __ClearServerPassFloorReward(curPlayer)
+        
+    elif cmdType == 4:
+        isSendGameServer = True
+        __ClearServerPassFloorReward(curPlayer)
+        
+    return isSendGameServer
 
-    GameLogic_SkyTower.SyncSkyTowerInfo(curPlayer)
-    GameWorld.DebugAnswer(curPlayer, "天星塔过关数设置 floor=%s!"%fbLevel)
+def __ClearServerPassFloorReward(curPlayer):
+    ipyDataMgr = IpyGameDataPY.IPY_Data()
+    for index in range(ipyDataMgr.GetSkyTowerServerChallengeCount()):
+        ipyDataServer = ipyDataMgr.GetSkyTowerServerChallengeByIndex(index)
+        floorID = ipyDataServer.GetFloorID()
+        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_SkyTowerServerRecord % floorID, 0)
+    GameLogic_SkyTower.SyncSkyTowerInfo(curPlayer, None, True)
     return
+

--
Gitblit v1.8.0