ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSocial.py
@@ -38,6 +38,9 @@
    
    # 添加社交对象
    def Add(self, tagID, isNotify=True):
        if not PlayerControl.GetDBPlayerAccIDByID(tagID):
            GameWorld.ErrLog("试图添加非本服玩家社交对象: tagID=%s,GroupType=%s" % (tagID, self.GroupType))
            return False
        GameWorld.DebugLog("SocialPlayers----Add %s-%s-%s"%(self.GroupType, self.PlayerID, tagID))
        if tagID in self.SocialDict:
            GameWorld.DebugLog("SocialPlayers----Add 重复")
@@ -424,6 +427,9 @@
    
    # 获取亲密组
    def GetIntimacys(self, playerID):
        if not PlayerControl.GetDBPlayerAccIDByID(playerID):
            GameWorld.ErrLog("试图获取非本服玩家亲密组: playerID=%s" % playerID)
            return
        if playerID not in self.PlayerIntimacys:
            self.PlayerIntimacys[playerID] = Intimacys(playerID)
        return self.PlayerIntimacys[playerID]
@@ -835,6 +841,8 @@
        self.playerInfo.LV = curPlayer.GetLV()
        self.playerInfo.RealmLV = curPlayer.GetOfficialRank()
        self.playerInfo.OnlineType = 1      # 0 不在线  1 在线 2 脱机在线  
        self.playerInfo.Face = curPlayer.GetFace()
        self.playerInfo.FacePic = curPlayer.GetFacePic()
        if not self.playerInfo.RefCount:
            self.playerInfo.RefCount = 1
        return
@@ -847,6 +855,8 @@
        packStruct.LV = self.playerInfo.LV
        packStruct.RealmLV = self.playerInfo.RealmLV
        packStruct.OnlineType = self.playerInfo.OnlineType
        packStruct.Face = self.playerInfo.Face
        packStruct.FacePic = self.playerInfo.FacePic
        return packStruct
    
    # 更新玩家数据引用, 根据需求是否更新玩家数据
@@ -894,6 +904,8 @@
            playerSocial.LV = 1
            playerSocial.RealmLV = 1
            playerSocial.OnlineType = ChConfig.Def_Offline
            playerSocial.Face = 0
            playerSocial.FacePic = 0
        else:
            cacheDict = PlayerViewCache.GetCachePropDataDict(curCache)
    
@@ -904,6 +916,8 @@
            playerSocial.LV = cacheDict["LV"]
            playerSocial.RealmLV = cacheDict["RealmLV"]
            playerSocial.OnlineType = ChConfig.Def_Offline
            playerSocial.Face = cacheDict.get("Face", 0)
            playerSocial.FacePic = cacheDict.get("FacePic", 0)
            
        self.SocialInfo[playerID] = SocialPlayerData(playerSocial)
        socialPlayer = self.SocialInfo[playerID]
@@ -950,7 +964,10 @@
        savaData = ""
        cntData = ""
        cnt = 0
        for socialPlayer in self.SocialInfo.values():
        for playerID, socialPlayer in self.SocialInfo.items():
            if PyGameData.g_dbPlayerIDMap and not PlayerControl.GetDBPlayerAccIDByID(playerID):
                GameWorld.ErrLog("非本服社交玩家,不存档! playerID=%s" % playerID)
                continue
            cnt += 1
            savaData += socialPlayer.playerInfo.getBuffer()
        
@@ -1072,7 +1089,13 @@
        socialPlayer.playerInfo.RealmLV = value
    elif notifyType == IPY_PlayerDefine.CDBPlayerRefresh_PlayerName:
        socialPlayer.playerInfo.PlayerName = value
    elif notifyType == IPY_PlayerDefine.CDBPlayerRefresh_Face:
        socialPlayer.playerInfo.Face = value
    elif notifyType == IPY_PlayerDefine.CDBPlayerRefresh_HairColor:
        socialPlayer.playerInfo.FacePic = value
    else:
        return
    Notify_All(playerID, notifyType, value)
    return