From 93cf2720f200bf5f5bc6defee600f474fa522590 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 18 十一月 2021 15:22:02 +0800
Subject: [PATCH] 5274 【BT5】【主干】跨服充值排行榜问题(上榜增加保底限制逻辑默认读排行模板最低额度限制;bt5版本改为真实充值有效)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossActCTGBillboard.py |   20 ++++++++++++++++++++
 ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/BillboardDataCross.py                   |    2 +-
 2 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/BillboardDataCross.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/BillboardDataCross.py
index c8d0327..7067e3a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/BillboardDataCross.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/BillboardDataCross.py
@@ -26,7 +26,7 @@
         GameWorld.DebugAnswer(curPlayer, errInfo)
     GameWorld.DebugAnswer(curPlayer, "新增跨服榜单假数据: BillboardDataCross 类型  分组值1 分组值2 条数 比较值1 可选参数(比较值2 常规值1 常规值2)")
     GameWorld.DebugAnswer(curPlayer, "删除跨服榜单假数据: BillboardDataCross 类型 分组值1 分组值2")
-    GameWorld.DebugAnswer(curPlayer, "跨服运营活动榜类型:150-充值")
+    GameWorld.DebugAnswer(curPlayer, "跨服运营活动榜类型:150-充值(分组值1配置ID)")
     return
 
 ## 执行逻辑
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossActCTGBillboard.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossActCTGBillboard.py
index 6c0e1fe..c7b121a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossActCTGBillboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossActCTGBillboard.py
@@ -201,6 +201,26 @@
     cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
     if not cfgID:
         return
+    
+    playerTemplateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CA_CTGBillboardTemplateID)
+    orderIpyDataList = IpyGameDataPY.GetIpyGameDataList("CrossActCTGBillboardOrder", playerTemplateID)
+    if not orderIpyDataList:
+        return
+    
+    atleastRMBMin = None
+    for orderIpyData in orderIpyDataList:
+        atleastRMB = orderIpyData.GetCTGAtleast()
+        if atleastRMBMin == None or atleastRMBMin > atleastRMB:
+            atleastRMBMin = atleastRMB
+            
+    if atleastRMBMin == None:
+        return
+    
+    if totalRMB < atleastRMBMin:
+        GameWorld.DebugLog("跨服充值排行活动充值额度不足,无法上榜! totalRMB(%s) < atleastRMBMin(%s)" 
+                           % (totalRMB, atleastRMBMin), curPlayer.GetPlayerID())
+        return
+    
     cmpValue = totalRMB
     PlayerBillboard.UpdatePlayerCrossBillboard(curPlayer, ShareDefine.Def_CBT_ActCTG, cfgID, cmpValue)
     return

--
Gitblit v1.8.0