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