From 6d0c33f848412fdef134f8e5bf46f33aac100744 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 09 五月 2025 15:59:33 +0800
Subject: [PATCH] 10367 【越南】【英语】【BT】【砍树】仙盟攻城战-服务端(修复同步城池内防守人员血量错误bug;)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSocial.py |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSocial.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSocial.py
index fc8c29a..778d090 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSocial.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSocial.py
@@ -841,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
@@ -853,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
     
     # 更新玩家数据引用, 根据需求是否更新玩家数据
@@ -900,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)
     
@@ -910,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]
@@ -956,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()
         
@@ -1078,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
 

--
Gitblit v1.8.0