ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py
@@ -136,16 +136,7 @@
    playerID = curPlayer.GetPlayerID()
    packDataMgr = PyDataManager.GetDBPlayerPackDataManager()
    if playerID in packDataMgr.playerPackDataDict:
        isCross, isNeed = 0, 1
        QueryPlayerResult_PlayerMirror(curPlayer, "PackDataSyncState", [isCross, isNeed])
    return
def OnPlayerLogin_CrossLogic(serverGroupID, serverID, playerID):
    ## 跨服登录逻辑
    packDataMgr = PyDataManager.GetDBPlayerPackDataManager()
    if playerID in packDataMgr.playerPackDataDict:
        dataMsg = {"playerID":playerID}
        CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_PlayerPackDataState, dataMsg, [serverGroupID])
        QueryPlayerResult_PlayerMirror(curPlayer, "PackDataSyncState", {"PackData":1})
    return
def SetNeedPackData(playerIDList):
@@ -340,8 +331,7 @@
    curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
    if not curPlayer:
        return
    isCross, isNeed = 1, 1
    QueryPlayerResult_PlayerMirror(curPlayer, "PackDataSyncState", [isCross, isNeed])
    QueryPlayerResult_PlayerMirror(curPlayer, "PackDataSyncState", msgData)
    return
def CrossServerMsg_PullPlayerPackData(msgData):
@@ -375,7 +365,7 @@
    curPlayer.MapServer_QueryPlayerResult(0, 0, "PlayerMirror", sysMsg, len(sysMsg))
    return
def OnMGUpdatePlayerPackData(curPlayer, curPackData):
def OnMGUpdatePlayerPackData(curPlayer, curPackData, msgInfo):
    ## 地图同步更新的玩家打包数据
    if GameWorld.IsCrossServer():
        return
@@ -384,14 +374,13 @@
    packData = curPackData.PackData
    if not packDataSyncState or not packData:
        return
    msgInfo = eval(curPackData.PackMsg) if curPackData.PackMsg else {} # 打包数据附带的信息
    
    # 本服需要,先更新数据
    if packDataSyncState % 10:
    if packDataSyncState&pow(2, 0):
        PyDataManager.GetDBPlayerPackDataManager().UpdPlayerPackData(playerID, packData)
        
    # 跨服需要,同步给跨服,由跨服服务器再进一步处理
    if packDataSyncState / 10:
    if packDataSyncState&pow(2, 1):
        cacheBase = PlayerViewCache.GetSyncCrossCacheBase(curPlayer) if curPlayer else {}
        dataMsg = {"playerID":playerID, "packData":packData, "cacheBase":cacheBase, "msgInfo":msgInfo}
        CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_PlayerPackData, dataMsg)