From ecfe8b45ee59dcc926fec0ece5a4b6b2b583121d Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 15 一月 2019 23:35:03 +0800 Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(跨服聊天名字默认使用跨服名字格式) --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py index 093eb59..8291317 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmMsg.py @@ -23,6 +23,7 @@ import GameWorldBoss import CrossRealmPK import PlayerQuery +import PlayerTalk import CrossBoss import ChConfig import GMShell @@ -63,6 +64,9 @@ elif msgType == ShareDefine.ClientServerMsg_PKBillboard: CrossRealmPK.ClientServerMsg_PKBillboard(serverGroupID, msgData) + elif msgType == ShareDefine.ClientServerMsg_ChatCrossWorld: + PlayerTalk.ClientServerMsg_ChatCrossWorld(serverGroupID, msgData, tick) + elif msgType == ShareDefine.ClientServerMsg_GMCMD: GMShell.ClientServerMsg_GMCMD(msgData, tick) @@ -75,8 +79,11 @@ elif msgType == ShareDefine.ClientServerMsg_QueryNPCInfo: PlayerQuery.ClientServerMsg_QueryNPCInfo(serverGroupID, msgData) + elif msgType == ShareDefine.ClientServerMsg_SetPlayerAttrValue: + MapServer_CrossSetPlayerAttrValue(msgData) + # 需要发送到地图服务器处理的 - elif msgType in [ShareDefine.ClientServerMsg_Reborn]: + elif msgType in [ShareDefine.ClientServerMsg_Reborn, ShareDefine.ClientServerMsg_CollectNPC]: MapServer_CrossServerReceiveMsg(msgType, msgData, serverGroupID) else: @@ -111,6 +118,15 @@ return msgInfo = str([msgType, msgData, serverGroupID]) tagPlayer.MapServer_QueryPlayerResult(0, 0, "CrossServerReceiveMsg", msgInfo, len(msgInfo)) + return + +def MapServer_CrossSetPlayerAttrValue(msgData): + for playerID, setAttrInfoList in msgData.items(): + player = GameWorld.GetPlayerManager().FindPlayerByID(playerID) + if not player: + return + msgInfo = str(setAttrInfoList) + player.MapServer_QueryPlayerResult(0, 0, "CrossSetPlayerAttrValue", msgInfo, len(msgInfo)) return ## ================================================================================================ @@ -152,6 +168,9 @@ elif msgType == ShareDefine.CrossServerMsg_Notify: PlayerControl.CrossServerMsg_Notify(msgData) + + elif msgType == ShareDefine.CrossServerMsg_ChatCrossWorld: + PlayerTalk.CrossServerMsg_ChatCrossWorld(msgData) elif msgType == ShareDefine.CrossServerMsg_ViewPlayerCacheRet: CrossRealmPlayer.CrossServerMsg_ViewPlayerCacheRet(msgData, tick) @@ -196,7 +215,7 @@ PlayerQuery.CrossServerMsg_NPCInfoRet(msgData, tick) # 需要发送到地图服务器处理的 - elif msgType in [ShareDefine.CrossServerMsg_RebornRet]: + elif msgType in [ShareDefine.CrossServerMsg_RebornRet, ShareDefine.CrossServerMsg_CollectNPCOK]: MapServer_ClientServerReceiveMsg(msgType, msgData) elif msgType == ShareDefine.CrossServerMsg_CrossServerState: -- Gitblit v1.8.0