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/PlayerActBossTrial.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py index 511c712..b90fac9 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py @@ -55,6 +55,26 @@ GameWorld.Log("=================================================================================") return +def OnActInStateRefresh(actNum, ipyData, dayIndex): + ## 活动中刷新,每次都需要刷新的逻辑,包含重读配置等 + if not ipyData: + return + cfgID = ipyData.GetCfgID() + templateID = GameWorld.GetTemplateID(ipyData, cfgID, dayIndex) + familyTemplateID = GameWorld.GetTemplateIDByList(ipyData.GetFamilyTemplateIDList(), dayIndex) + + billboardMgr = PlayerBillboard.GetBillboardMgr() + if templateID: + orderRuleList = GetOrderRuleList(templateID) + billboardObj = billboardMgr.GetBillboardObj(ShareDefine.Def_BT_BossTrialSubmit) + billboardObj.SetOrderRuleList(orderRuleList) + + if familyTemplateID: + orderRuleList = GetOrderRuleList(familyTemplateID) + billboardObj = billboardMgr.GetBillboardObj(ShareDefine.Def_BT_BossTrialSubmitFamily) + billboardObj.SetOrderRuleList(orderRuleList) + return + def OnActJoinEnd(actNum, ipyData, dayIndex): ## 活动参与结束 __OnEndAward(actNum, ipyData, dayIndex) @@ -500,6 +520,33 @@ GameWorld.Log("=================================================================================") return +def OnCrossActInStateRefresh(cfgID, zoneID, ipyData): + ## 活动中刷新,每次都需要刷新的逻辑,包含重读配置等 + if not ipyData: + return + PersonalTemplateID = ipyData.GetPersonalTemplateID() + FamilyTemplateID = ipyData.GetFamilyTemplateID() + orderRuleList = GetOrderRuleList(PersonalTemplateID) + orderRuleListFamily = GetOrderRuleList(FamilyTemplateID) + + groupValue1 = zoneID + billboardMgr = PyDataManager.GetCrossBillboardManager() + billboardObj = billboardMgr.GetCrossBillboard(ShareDefine.Def_CBT_BossTrialSubmit, groupValue1) + billboardObj.SetOrderRuleList(orderRuleList) + + billboardObj = billboardMgr.GetCrossBillboard(ShareDefine.Def_CBT_BossTrialSubmitFamily, groupValue1) + billboardObj.SetOrderRuleList(orderRuleListFamily) + return + +def GetOrderRuleList(templateID): + orderIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActBossTrialTemplate", 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