From 0d5d93d5adc8035d2a140ecb363fdb464cde9ed0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 10 七月 2024 19:29:28 +0800
Subject: [PATCH] 10192 【越南】【主干】【港台】【砍树】上线增加膜拜主动推送(膜拜玩家信息转json格式)

---
 ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Championship.py |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Championship.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Championship.py
index 76d5fc5..70f1838 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Championship.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Championship.py
@@ -78,7 +78,7 @@
     
     state = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipState)
     champMgr = CrossChampionship.GetChampionshipMgr()
-    pkZoneIDList = champMgr.GetChampPKZoneIDList()
+    #pkZoneIDList = champMgr.GetChampPKZoneIDList()
     if value1 == 0:
         if state in ShareDefine.CrossChampionshipStateList and state != ShareDefine.CrossChampionshipStateList[0]:
             GameWorld.DebugAnswerCross(playerID, serverGroupID, "重置数据需在非活动中或64强分组前")
@@ -89,6 +89,7 @@
         PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipID, 0)
         PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipState, 0)
         PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipStateError, 0)
+        PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipErrorDo, 0)
         
         champMgr.ClearPKZone()
         if isResetOfficial:
@@ -119,15 +120,15 @@
         zoneID = gmList[1]
         batPlayerCount = min(maxPlayerCount, gmList[2])
         setPlayerIDList = gmList[3:]
-        if zoneID not in pkZoneIDList:
+        pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
+        if not pkZoneMgr:
             GameWorld.DebugAnswerCross(playerID, serverGroupID, "不存在该分区!zoneID=%s" % zoneID)
             return
         if len(setPlayerIDList) < batPlayerCount:
             # 不足的机器人补足
             setPlayerIDList += range(1001, 1001 + (batPlayerCount - len(setPlayerIDList)))
-        pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
         pkZoneMgr.playerDict = {} # 清空玩家,重新设置
-        CrossChampionship.Send_CrossServerMsg_ChampionshipPlayer(isSync=True)
+        CrossChampionship.Send_CrossServerMsg_ChampionshipPlayer(isSync=True, clearPlayer=True)
         for pID in setPlayerIDList:
             batPlayer = CrossChampionship.ChampionshipBatPlayer()
             batPlayer.zoneID = zoneID
@@ -149,6 +150,9 @@
         zoneID = gmList[1]
         groupPlayerIDList = gmList[2:]
         pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
+        if not pkZoneMgr:
+            GameWorld.DebugAnswerCross(playerID, serverGroupID, "不存在该分区!zoneID=%s" % zoneID)
+            return
         if not groupPlayerIDList:
             pkZoneMgr.battleInfo.pop(groupMark, None)
             CrossChampionship.DoCrossChampionshipGroupRand(groupMark)
@@ -216,6 +220,8 @@
     GameWorld.Log("ID=%s,state=%s,stateError=%s,pkZoneIDList=%s" % (ID, state, stateError, pkZoneIDList))
     for zoneID in pkZoneIDList:
         pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
+        if not pkZoneMgr:
+            continue
         
 #            self.guessInfo = {} # 竞猜信息 {竞猜类型:[ChampionshipGuess, ...], ...}
 #            self.superPlayerCountInfo = {} # {竞猜类型:{playerID:支持人数, ...}, ...}
@@ -246,8 +252,8 @@
             for guessPlayerID, guessObjList in playerGuessDict.items():
                 GameWorld.Log("    guessPlayerID=%s,guessObjListLen=%s" % (guessPlayerID, len(guessObjList)))
                 for guessObj in guessObjList:
-                    GameWorld.Log("        guessPlayerID=%s,tagPlayerID=%s,moneyTotal=%s,guessRank=%s" 
-                                  % (guessPlayerID, guessObj.tagPlayerID, guessObj.moneyTotal, guessObj.guessRank))
+                    GameWorld.Log("        guessPlayerID=%s,tagPlayerID=%s,moneyTotal=%s,guessRank=%s,isClose=%s" 
+                                  % (guessPlayerID, guessObj.tagPlayerID, guessObj.moneyTotal, guessObj.guessRank, guessObj.isClose))
             GameWorld.Log("    ===")
             
     offZoneIDList = champMgr.GetChampOfficialZoneIDList()
@@ -260,8 +266,8 @@
             offObj = offZoneMgr.GetOfficialObj(officialID)
             if not offObj:
                 continue
-            GameWorld.Log("    officialID=%s,playerID=%s,rank=%s,worshipCount=%s,applyPlayerIDList=%s,challengeCount=%s" 
-                          % (officialID, offObj.playerID, offObj.rank, offObj.worshipCount, offObj.applyPlayerInfo.keys(), len(offObj.challengeList)))
+            GameWorld.Log("    officialID=%s,playerID=%s,rank=%s,worshipCount=%s,worshipDouble=%s,applyPlayerIDList=%s,challengeCount=%s,lastDismissJuniorTime=%s" 
+                          % (officialID, offObj.playerID, offObj.rank, offObj.worshipCount, offObj.worshipDouble, offObj.applyPlayerInfo.keys(), len(offObj.challengeList), offObj.lastDismissJuniorTime))
             
     GameWorld.Log("==================================================")
     return

--
Gitblit v1.8.0