hch
2019-08-28 5880a05cd7028b88baee029a93a4303d136a2db0
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerTalk.py
@@ -496,13 +496,18 @@
    return
def NotifyTalkCache(curPlayer):
    ##上线通知聊天缓存
    sendPack = ChPyNetSendPack.tagGCTalkCache()
    sendPack.Clear()
    sendPack.InfoList = []
    ##上线通知非脱机离线后的聊天缓存
    if PlayerControl.GetIsTJG(curPlayer):
        return
    playerID = curPlayer.GetPlayerID()
    unTJLogoffTime = PyGameData.g_unTJLogoffTime.get(playerID, 0)
    familyCacheList, worldCacheList = [], []
    familyID = curPlayer.GetFamilyID()
    if familyID and familyID in PyGameData.g_familyTalkCache:
        for curTime, name, playerID, content, extras in PyGameData.g_familyTalkCache[familyID]:
            if curTime < unTJLogoffTime:
                continue
            contentInfo = ChPyNetSendPack.tagGCTalkCacheInfo()
            contentInfo.Clear()
            contentInfo.ChannelType = 2
@@ -513,9 +518,11 @@
            contentInfo.Content = content
            contentInfo.Len = len(content)
            contentInfo.Extras = extras
            sendPack.InfoList.append(contentInfo)
    elif PyGameData.g_worldTalkCache:
            familyCacheList.append(contentInfo)
        for curTime, name, playerID, content, extras in PyGameData.g_worldTalkCache:
        if curTime < unTJLogoffTime:
            continue
            contentInfo = ChPyNetSendPack.tagGCTalkCacheInfo()
            contentInfo.Clear()
            contentInfo.ChannelType = 1
@@ -526,7 +533,19 @@
            contentInfo.Content = content
            contentInfo.Len = len(content)
            contentInfo.Extras = extras
            sendPack.InfoList.append(contentInfo)
        worldCacheList.append(contentInfo)
    if familyCacheList:
        sendPack = ChPyNetSendPack.tagGCTalkCache()
        sendPack.Clear()
        sendPack.InfoList = familyCacheList
        sendPack.Count = len(sendPack.InfoList)
        NetPackCommon.SendFakePack(curPlayer, sendPack)
    if worldCacheList:
        sendPack = ChPyNetSendPack.tagGCTalkCache()
        sendPack.Clear()
        sendPack.InfoList = worldCacheList
    sendPack.Count = len(sendPack.InfoList)
    NetPackCommon.SendFakePack(curPlayer, sendPack)
    return