From 1ea73e1885835466265ce788d93556b7030ee0e8 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 30 十二月 2018 18:42:00 +0800 Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(GM工具增加子服服务器维护,文字翻译版) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py index 2729273..11a0900 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py @@ -26,13 +26,18 @@ def GetCrossPlayerName(curPlayer): # 通过游戏账号中的平台标志获取名称,目前为spid playerName = curPlayer.GetPlayerName() - nameFormat = ReadChConfig.GetPyMongoConfig("Merge", "NameFormat", True) - if not nameFormat: + + opName = ReadChConfig.GetPyMongoConfig("Merge", "OpName_%s_%s" % (GameWorld.GetPlayerPlatform(curPlayer), + GameWorld.GetPlayerServerSID(curPlayer))) + + if not opName: return playerName - opName = ReadChConfig.GetPyMongoConfig("Merge", "OpName_%s" % GameWorld.GetPlayerPlatform(curPlayer)) - - return (nameFormat%{"opname":opName, "sid":GameWorld.GetPlayerServerID(curPlayer)}).decode('gbk').encode(GameWorld.GetCharacterEncoding()) + playerName + return opName.decode('gbk').encode(GameWorld.GetCharacterEncoding()) + playerName + +def IsCrossServerOpen(): + ## 跨服服务器是否开放中 + return GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen) #// C1 04 主动退出跨服 #tagCMExitCrossRealm # @@ -56,7 +61,7 @@ # 通知子服玩家退出跨服服务器 playerID = curPlayer.GetPlayerID() - serverGroupID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ServerGroupID) + serverGroupID = PlayerControl.GetPlayerServerGroupID(curPlayer) GameWorld.SendMsgToClientServer(ShareDefine.CrossServerMsg_ExitCrossServer, playerID, [serverGroupID]) # 设置非跨服状态,踢下线 @@ -68,6 +73,7 @@ def DoEnterCrossRealm(curPlayer): ## 玩家进入跨服处理,本服的逻辑处理 curPlayer.SetVisible(False) + curPlayer.SetSight(0) curPet = curPlayer.GetPetMgr().GetFightPet() if curPet: curPet.SetVisible(False) @@ -77,6 +83,9 @@ ## 玩家退出跨服处理,本服的逻辑处理 GameWorld.Log("DoExitCrossRealm...", curPlayer.GetPlayerID()) curPlayer.SetVisible(True) + curPlayer.SetSight(1) + curPlayer.RefreshView() + curPlayer.SetSight(ChConfig.Def_PlayerSight_Default) curPlayer.RefreshView() curPet = curPlayer.GetPetMgr().GetFightPet() if curPet: -- Gitblit v1.8.0