hxp
17 小时以前 9d5ec7599f3abe0cebb76ce1df3c3b8c4e0aa51e
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玩家发送封包,适用于接受的玩家封包数据一致的,跨服、游戏服通用
    '''