From b3c6d36f5ae851f09a3c2e73494ff19956b06fb0 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 11 四月 2025 16:56:14 +0800 Subject: [PATCH] 10367 【越南】【英语】【BT】【砍树】仙盟攻城战-服务端(跨服仙盟支持;后台查询区服仙盟支持;活动时间流程支持;攻城战主活动功能完整流程:公示、分组、战备、战斗、榜单、竞猜、领奖等;) --- ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py b/ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py index 6ca8e2a..e354686 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/NetPackCommon.py @@ -31,6 +31,8 @@ import ChMapToGamePyPack import CrossRealmMsg import PlayerControl +import ChPlayer +import ShareDefine #------------------------------------------------------------------------------- #---全局变量--- @@ -241,6 +243,34 @@ SendFakePack(curPlayer, clientPack) return +def SendFakePackByCross(onlinePlayerIDDict, clientPack): + '''由跨服服务器直接给子服在线玩家发送封包,适用于接受的玩家封包数据一致的 + @param onlinePlayerIDDict: 在线玩家GroupID字典 {playerID:groupID, ...} + 功能自行通过 onlineMgr = ChPlayer.GetOnlinePlayerMgr() 过滤 + onlineMgr.GetOLPlayerServerGroupID(playerID) 获取ServerGroupID + ''' + if not onlinePlayerIDDict: + return + innerPackData = clientPack.GetBuffer() + dataMsg = {"playerIDList":onlinePlayerIDDict.keys(), "innerPackData":innerPackData} + CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_SendFakePack, dataMsg, onlinePlayerIDDict.values()) + return + +def CrossServerMsg_SendFakePack(msgData): + ## 子服收到由跨服直接发送给玩家的封包 + playerIDList = msgData["playerIDList"] + innerPackData = msgData["innerPackData"] + + playerManager = GameWorld.GetPlayerManager() + for playerID in playerIDList: + curPlayer = playerManager.FindPlayerByID(playerID) + if curPlayer == None: + continue + if PlayerControl.GetIsTJG(curPlayer): + continue + curPlayer.Sync_GeneralPack(len(innerPackData), innerPackData) + + return #------------------------------------------------------------------------------- #---Py封包注册信息 PyPackTable = ReadPyPackTable("PyNetPack") -- Gitblit v1.8.0