From ebf0c525597f65830be5975ec91a157793cba1e9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:00:25 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(优化玩家在战场结算前掉线后逻辑:结算后强制设置玩家为非跨服状态,防止玩家重连导致还会进入跨服地图然后再被踢出去的无效流程)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
index 76ded9f..e3c3ef0 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
@@ -435,7 +435,7 @@
     LoginDoUnNotifyCrossMsg(curPlayer)
     return
     
-def MapServer_QueryCrossPlayerResult(playerID, callName, msgInfo):
+def MapServer_QueryCrossPlayerResult(playerID, callName, msgInfo, offlineExitCross=False):
     ## 同步地图跨服玩家处理信息,玩家可能不在线,缓存后等玩家上线处理,暂不考虑存档问题,服务器维护后未处理的命令将失效
     
     curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
@@ -449,7 +449,8 @@
         msgList = PyGameData.g_unNotifyPlayerCrossMsgDict[playerID]
         msgList.append([callName, msgInfo])
         GameWorld.Log("玩家不在线,添加未通知的跨服命令: %s, msgInfo=%s" % (callName, msgInfo), playerID)
-        
+        if offlineExitCross:
+            DoOfflinePlayerExitCrossServer(playerID)
     return
 
 def LoginDoUnNotifyCrossMsg(curPlayer):

--
Gitblit v1.8.0