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