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