From 26958aff1b844a743a805b4f9075bee800b72a46 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 十一月 2025 14:35:37 +0800
Subject: [PATCH] 332 【主界面】座骑系统-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py |   47 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 44 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py
index ec633fb..e3f9fc9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MainLevel.py
@@ -18,25 +18,66 @@
 import GameWorld
 import PlayerControl
 import IpyGameDataPY
+import GameLogic_MainLevel
+import IPY_GameWorld
+import ClearPack
+import ChConfig
 
 def OnExec(curPlayer, gmList):
     
     if not gmList:
         GameWorld.DebugAnswer(curPlayer, "重置主线: MainLevel 0")
-        GameWorld.DebugAnswer(curPlayer, "设置主线: MainLevel 章节 关卡 波")
+        GameWorld.DebugAnswer(curPlayer, "设置主线: MainLevel 章节 关卡 波 [是否同波]")
+        GameWorld.DebugAnswer(curPlayer, "测试击杀: MainLevel k 消耗战锤数")
+        GameWorld.DebugAnswer(curPlayer, "重置掉落: MainLevel d 0 [是否清掉落背包]")
+        GameWorld.DebugAnswer(curPlayer, "重置战利: MainLevel b 0")
+        GameWorld.DebugAnswer(curPlayer, "设置战利: MainLevel b 战利品ID 已掉落个数")
         return
     
     value = gmList[0]
     
+    if value == "k":
+        useXiantao = gmList[1] if len(gmList) > 1 else 1
+        GameLogic_MainLevel.GMTestKill(curPlayer, useXiantao)
+        return
+    
+    if value == "d":
+        unXiantao = gmList[1] if len(gmList) > 1 else 1
+        if unXiantao == 0:
+            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntExp, 0)
+            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntEquip, 0)
+            GameLogic_MainLevel.ResetBootyDropToday(curPlayer)
+            clearDropPack = gmList[2] if len(gmList) > 2 else 0
+            if clearDropPack:
+                ClearPack.__DoLogic_Clear_Pack(curPlayer, IPY_GameWorld.rptIdentify)
+            GameWorld.DebugAnswer(curPlayer, "重置未结算战锤掉落OK!")
+            return
+        return
+    
+    if value == "b":
+        itemID = gmList[1] if len(gmList) > 1 else 1
+        dropTotal = gmList[2] if len(gmList) > 2 else 1
+        if not itemID:
+            GameLogic_MainLevel.ResetBootyDropToday(curPlayer)
+            return
+        bootyItemIDList = GameLogic_MainLevel.GetBootyItemIDList()
+        if itemID not in bootyItemIDList:
+            GameWorld.DebugAnswer(curPlayer, "战利品ID(%s) not in %s" % (itemID, bootyItemIDList))
+            return
+        GameLogic_MainLevel.SetBootyDropToday(curPlayer, itemID, dropTotal)
+        GameWorld.DebugAnswer(curPlayer, "设置战利品(%s)今日掉落: %s" % (itemID, dropTotal))
+        return
+    
     if value <= 0:
         nowValue = PlayerControl.SetMainLevelNowInfo(curPlayer, 1, 1, 1)
-        passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, 0, 0, 0)
+        passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, 1, 1, 0)
         GameWorld.DebugAnswer(curPlayer, "重置主线:now=%s,pass=%s" % (nowValue, passValue))
         return
     
     chapterID = value
     levelNum = gmList[1] if len(gmList) > 1 else 1
     wave = gmList[2] if len(gmList) > 2 else 1
+    isSameWave = gmList[3] if len(gmList) > 3 else 0
     
     levelIpyData = IpyGameDataPY.GetIpyGameData("MainLevel", chapterID, levelNum)
     if not levelIpyData:
@@ -51,6 +92,6 @@
         wave = waveMax
         
     nowValue = PlayerControl.SetMainLevelNowInfo(curPlayer, chapterID, levelNum, wave)
-    passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, chapterID, levelNum, wave)
+    passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, chapterID, levelNum, wave if isSameWave else max(0, wave - 1))
     GameWorld.DebugAnswer(curPlayer, "设置主线:章关=%s-%s,波=%s,%s,%s" % (chapterID, levelNum, wave, nowValue, passValue))
     return

--
Gitblit v1.8.0