From ee4705284b8064b4f3964dfd13c22386b7d5c20f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 26 二月 2025 15:48:24 +0800
Subject: [PATCH] 10407 【越南】【英语】【BT】【GM】【砍树】周末BUG汇总(修复排行榜功能开启时同步开服活动榜数据异常bug;)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py
index 4055fcc..2c7442c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py
@@ -26,6 +26,8 @@
 import CrossBillboard
 import PyDataManager
 import CrossRealmMsg
+import GameXiangong
+import GameWorship
 import GameWorld
 
 def OnActStart(actNum, ipyData):
@@ -174,6 +176,8 @@
     accID = curPlayer.GetAccID()
     playerName = curPlayer.GetName()
     job = curPlayer.GetJob()
+    face = curPlayer.GetFace()
+    facePic = curPlayer.GetFacePic()
     realmLV = curPlayer.GetOfficialRank()
     _, updScore, isRelationCrossAct = dataMsg
     
@@ -182,7 +186,7 @@
     if isRelationCrossAct:
         #同步跨服
         playerInfo = {"playerID":playerID, "playerName":playerName, "accID":accID, "job":job, "realmLV":realmLV,
-                      "playerScore":updScore}
+                      "playerScore":updScore, "face":face, "facePic":facePic}
         SyncGubaoToCrossServer(curPlayer, playerInfo)
     return
 
@@ -234,13 +238,15 @@
     accID = playerInfo["accID"]
     realmLV = playerInfo["realmLV"]
     playerScore = playerInfo["playerScore"]
+    face = playerInfo.get("face", 0)
+    facePic = playerInfo.get("facePic", 0)
     
     groupValue1 = zoneID
     
     if playerScore >= personlLimit:
         name2, type2, value1, value2 = accID, job, realmLV, 0
         CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_GubaoScore, groupValue1, playerID, playerName, 
-                                         name2, type2, value1, value2, playerScore, autoSort=False)
+                                         name2, type2, value1, value2, playerScore, autoSort=False, value3=face, value4=facePic)
     return
 
 def OnCrossActIDChange(cfgID, zoneID, ipyData, state):
@@ -316,12 +322,13 @@
     GameWorld.Log("=== 跨服古宝养成活动发放榜单奖励! === cfgID=%s,zoneID=%s" % (cfgID, zoneID))
     
     PersonalTemplateID = ipyData.GetPersonalTemplateID()
+    serverIDRangeList = ipyData.GetServerIDRangeList()
     
-    __GiveCrossOrderAwardPersonal(cfgID, zoneID, PersonalTemplateID, ShareDefine.Def_CBT_GubaoScore)
+    __GiveCrossOrderAwardPersonal(cfgID, zoneID, PersonalTemplateID, ShareDefine.Def_CBT_GubaoScore, serverIDRangeList)
     GameWorld.Log("=================================================================================")
     return
     
-def __GiveCrossOrderAwardPersonal(cfgID, zoneID, templateID, billboardType):
+def __GiveCrossOrderAwardPersonal(cfgID, zoneID, templateID, billboardType, serverIDRangeList):
     
     groupValue1 = zoneID
     billboardMgr = PyDataManager.GetCrossBillboardManager()
@@ -342,6 +349,9 @@
     if not orderIpyDataList:
         return
     
+    worshipType = ShareDefine.Def_WorshipType_CrossGubaoTrain
+    syncNewWorshipList = []
+    syncNewXiangongDict = {}
     rankPre = 0
     billboardIndex = 0
     for ipyData in orderIpyDataList:
@@ -351,6 +361,7 @@
         scoreAwardExList = scoreAwardEx.keys()
         scoreAwardExList.sort()
         awardItemList = ipyData.GetAwardItemList()
+        xiangongID = ipyData.GetXiangongID()
         orderCountTotal = rank - rankPre # 奖励名次数量
         rankPre = rank
         
@@ -381,5 +392,9 @@
             orderCountTotal -= 1
             billboardIndex += 1
             
+            GameXiangong.AddXiangongPlayer(xiangongID, playerID, serverIDRangeList, playerRank, syncNewXiangongDict)
+            GameWorship.AddWorshipPlayer(worshipType, playerRank, playerID, serverIDRangeList, syncList=syncNewWorshipList)
+    GameWorship.SendNewWorshipPlayer(syncNewWorshipList)
+    GameXiangong.SendNewXiangongPlayerToClientServer(syncNewXiangongDict)
     return
 

--
Gitblit v1.8.0