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