From 6c9e5f47e1d65e9f66b84fa995305ca96891914c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 30 八月 2024 18:32:57 +0800
Subject: [PATCH] 10256 【越南】【砍树】排行榜名次加入积分限制(优化本服榜单、跨服榜单查询返回的OrderIndex为实际名次-1; boss历练、仙匣秘境、古宝养成、骑宠养成相关活动榜单支持根据具体名次规则更新实际排名;)

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

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py
index 0c3030d..4055fcc 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActGubao.py
@@ -50,6 +50,20 @@
     GameWorld.Log("=================================================================================")
     return
 
+def OnActInStateRefresh(actNum, ipyData):
+    ## 活动中刷新,每次都需要刷新的逻辑,包含重读配置等
+    if not ipyData:
+        return
+    personalTemplateID = ipyData.GetPersonalTemplateID()
+    if not personalTemplateID:
+        return
+    orderRuleList = GetOrderRuleList(personalTemplateID)
+    
+    billboardMgr = PlayerBillboard.GetBillboardMgr()
+    billboardObj = billboardMgr.GetBillboardObj(ShareDefine.Def_BT_GubaoScore)
+    billboardObj.SetOrderRuleList(orderRuleList)
+    return
+
 def OnActJoinEnd(actNum, ipyData, dayIndex):
     ## 活动参与结束
     __OnEndAward(actNum, ipyData, dayIndex)
@@ -263,6 +277,28 @@
     GameWorld.Log("=================================================================================")
     return
 
+def OnCrossActInStateRefresh(cfgID, zoneID, ipyData):
+    ## 活动中刷新,每次都需要刷新的逻辑,包含重读配置等
+    if not ipyData:
+        return
+    PersonalTemplateID = ipyData.GetPersonalTemplateID()
+    orderRuleList = GetOrderRuleList(PersonalTemplateID)
+    
+    groupValue1 = zoneID
+    billboardMgr = PyDataManager.GetCrossBillboardManager()
+    billboardObj = billboardMgr.GetCrossBillboard(ShareDefine.Def_CBT_GubaoScore, groupValue1)
+    billboardObj.SetOrderRuleList(orderRuleList)
+    return
+
+def GetOrderRuleList(templateID):
+    orderIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActGubaoBillTemp", templateID)
+    if not orderIpyDataList:
+        return
+    orderRuleList = []
+    for ipyData in orderIpyDataList:
+        orderRuleList.append([ipyData.GetRank(), ipyData.GetNeedScore()])
+    return orderRuleList
+
 def OnCrossActJoinEnd(cfgID, zoneID, ipyData):
     ## 跨服活动参与结束
     __OnCrossEndAward(cfgID, zoneID, ipyData)

--
Gitblit v1.8.0