From c06d47322d2892a440dc11b94f06950da762e5bd Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 21 六月 2019 19:41:43 +0800
Subject: [PATCH] 7413 宗门试炼评级通知

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py
index b53441b..b15218c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py
@@ -789,6 +789,8 @@
     seasonStatePack.SeasonID = gameWorld.GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID)
     seasonStatePack.SeasonState = gameWorld.GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossPKSeasonState)
     seasonStatePack.MatchState = gameWorld.GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossDailyActionState % ShareDefine.DailyActionID_CrossReamPK)
+    seasonStatePack.CrossZoneName = GameWorld.GetCrossZoneName()
+    seasonStatePack.CrossZoneNameLen = len(seasonStatePack.CrossZoneName)
     NetPackCommon.SendFakePack(curPlayer, seasonStatePack)
         
     return
@@ -1657,7 +1659,12 @@
     GameWorld.Log("    zoneID=%s,seasonID=%s,seasonState=%s,matchState=%s" % (zoneID, seasonID, seasonState, matchState))
     if not zoneID:
         return
-    
+    if not seasonID:
+        dbSeasonID = PlayerDBGSEvent.GetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID)
+        if dbSeasonID:
+            GameWorld.ErrLog("    已经有分配赛季ID的暂定不能被置为0! dbSeasonID=%s" % dbSeasonID)
+            return
+        
     gameWorld = GameWorld.GetGameWorld()
     curSeasonState = gameWorld.GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossPKSeasonState)
     
@@ -1696,6 +1703,8 @@
     seasonStatePack.SeasonID = seasonID
     seasonStatePack.SeasonState = seasonState
     seasonStatePack.MatchState = matchState
+    seasonStatePack.CrossZoneName = GameWorld.GetCrossZoneName()
+    seasonStatePack.CrossZoneNameLen = len(seasonStatePack.CrossZoneName)
     playerManager = GameWorld.GetPlayerManager()
     for i in xrange(playerManager.GetPlayerCount()):
         curPlayer = playerManager.GetPlayerByIndex(i)
@@ -1902,6 +1911,8 @@
         
         sendMapOverInfo = [roomID, zoneID, seasonID, timeStr, overType, winnerID, roundWinnerIDList, pkScore, danLV, cWinCount, addScore, tagPlayerID, tagPlayerName, notifyState]
         player = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
+        if not player:
+            CrossRealmPlayer.DoOfflinePlayerExitCrossServer(playerID)
         if not player or PlayerControl.GetIsTJG(player):
             GameWorld.DebugLog("    玩家不在线 或脱机中,先缓存,玩家上线后再同步,playerID=%s" % (playerID))
             overInfoData = PyGameDataStruct.tagDBCrossPKUnNotifyOverInfo()

--
Gitblit v1.8.0