ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py
@@ -318,6 +318,7 @@
        packObj = packDataMgr.GetPlayerPackObj(playerID)
        # 已经有的数据先推送回去
        if packObj:
            GameWorld.DebugLog("跨服有缓存玩家打包数据,直接推给子服! playerID=%s" % playerID)
            packDataDict[playerID] = packObj.PackData
            dataMsg = {"playerID":playerID, "packData":packObj.PackData, "msgInfo":msgInfo}
            CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_PushPlayerPackData, dataMsg, [serverGroupID])
@@ -349,18 +350,16 @@
    msgInfo = msgData["msgInfo"]
    pullPlayerIDList = msgData["pullPlayerIDList"]
    
    needPullPlayerIDList = []
    packDataMgr = PyDataManager.GetDBPlayerPackDataManager()
    for playerID in pullPlayerIDList:
        packObj = packDataMgr.GetPlayerPackObj(playerID)
        if packObj:
            # 本服有数据,直接推给跨服
            GameWorld.DebugLog("本服有缓存玩家打包数据,直接推给跨服! playerID=%s" % playerID)
            dataMsg = {"playerID":playerID, "packData":packObj.PackData, "msgInfo":msgInfo}
            CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_PlayerPackData, dataMsg)
        else:
            needPullPlayerIDList.append(playerID)
            DoPullPlayerPackData(playerID, msgInfo)
            
    DoPullPlayerPackData(needPullPlayerIDList, msgInfo)
    return
def CrossServerMsg_PushPlayerPackData(msgData):
@@ -415,6 +414,7 @@
        CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_PlayerPackData, dataMsg)
        return
    
    PyDataManager.GetDBPlayerPackDataManager().UpdPlayerPackData(playerID, packData)
    # 本服需要,汇总结果
    ReuestPlayerPackDataRet(msgInfo, playerID, packData)
    return