From 304b381ffa86f534e5335b48a156176a06e2f20e Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 27 十二月 2018 15:59:44 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode

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

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
index 35f6bf2..c8d42a2 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
@@ -23,6 +23,7 @@
 import PlayerControl
 import PlayerViewCache
 import ChPyNetSendPack
+import IPY_PlayerDefine
 import NetPackCommon
 import PyGameData
 
@@ -38,11 +39,27 @@
 
     return (nameFormat%{"opname":opName, "sid":GameWorld.GetPlayerServerID(curPlayer)}).decode('gbk').encode(GameWorld.GetCharacterEncoding()) + playerName
 
+def PlayerExitCrossServer(curPlayer):
+    ## 玩家退出跨服服务器
+    
+    # 通知子服玩家退出跨服服务器
+    playerID = curPlayer.GetPlayerID()
+    serverGroupID = PlayerControl.GetPlayerServerGroupID(curPlayer)
+    CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_ExitCrossServer, playerID, [serverGroupID])
+    
+    # 设置非跨服状态,踢下线
+    PlayerControl.SetCrossRealmState(curPlayer, 0)
+    curPlayer.Kick(0)
+    GameWorld.Log("PlayerExitCrossServer...serverGroupID=%s" % serverGroupID, playerID)
+    return
+
 def CrossServerMsg_ExitCrossServer(msgData):
     ## 收到跨服服务器同步的玩家退出跨服服务器
     playerID = msgData
+    GameWorld.Log("收到跨服服务器同步的玩家退出跨服服务器: playerID=%s" % playerID)
     curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
     if not curPlayer:
+        GameWorld.Log("    退出跨服时本服玩家不在线!", playerID)
         return
     PlayerControl.SetCrossRealmState(curPlayer, 0)
     return

--
Gitblit v1.8.0