From 9d5ec7599f3abe0cebb76ce1df3c3b8c4e0aa51e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 10 二月 2026 11:40:15 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(跨服聊天;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossPlayer.py | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossPlayer.py
index 9271569..46e21cb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossPlayer.py
@@ -101,6 +101,8 @@
self.__crossPlayerDict.pop(playerID, None)
return
+ def GetPlayerIDList(self): return self.__crossPlayerDict.keys()
+
def GetCrossPlayerMgr():
mgr = PyGameData.g_crossPlayerMgr
if mgr == None:
@@ -147,6 +149,24 @@
SendFakePackToPlayerList(crossPlayerList, clientPack)
return
+def SendFackPackToServerList(clientPack, serverIDList):
+ ## 给服务器范围的在线玩家发送封包
+ toCrossPlayerList = []
+ crossPlayerMgr = GetCrossPlayerMgr()
+ playerIDList = crossPlayerMgr.GetPlayerIDList()
+ for playerID in playerIDList:
+ crossPlayer = crossPlayerMgr.FindCrossPlayer(playerID)
+ mainServerID = crossPlayer.GetMainServerID()
+ if not GameWorld.CheckServerIDInList(mainServerID, serverIDList):
+ continue
+ curPlayer = crossPlayer.GetPlayer()
+ if curPlayer: # 有玩家,一般只有游戏服有,可视为游戏服在线,直接发送
+ curPlayer.SendFakePack(clientPack.GetBuffer(), clientPack.GetLength())
+ continue
+ toCrossPlayerList.append(crossPlayer)
+ SendFakePackToPlayerList(toCrossPlayerList, clientPack)
+ return
+
def SendFakePackToPlayerList(crossPlayerList, clientPack):
'''给crossPlayer玩家发送封包,适用于接受的玩家封包数据一致的,跨服、游戏服通用
'''
--
Gitblit v1.8.0