From 11c9a3b5846401523e4dafc17f2a074a712730da Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 11 三月 2026 18:27:10 +0800
Subject: [PATCH] 526 【挑战】PVP群英榜-后端(本服群英榜;优化机器人表支持按功能加载不同的机器人;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Billboard.py |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Billboard.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Billboard.py
index ceb798d..cf018cb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Billboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Billboard.py
@@ -29,7 +29,7 @@
     GameWorld.DebugAnswer(curPlayer, "输出排行榜数据: Billboard p 类型 [分组值1 值2 从x名 到x名]")
     GameWorld.DebugAnswer(curPlayer, "注:如果没有特殊说明,本服榜单分组值均为0,跨服榜单分组值1为分区ID,分组2为0")
     
-    for billboardType in ShareDefine.BillboardTypeList:
+    for billboardType in ShareDefine.BillboardTypeAllList:
         bName = ShareDefine.BillboardNameDict.get(billboardType, billboardType)
         GameWorld.DebugAnswer(curPlayer, "(%s) %s" % (billboardType, bName))
         
@@ -89,7 +89,9 @@
     billboardObj = billboardMgr.GetBillboard(billboardType, groupValue1, groupValue2)
     curDataCount = billboardObj.GetCount()
     maxDataCount = billboardObj.GetMaxCount()
-    
+    isLayerMode = billboardObj.IsOrderRuleByLayer()
+    if isLayerMode:
+        cmpValue1 = min(cmpValue1, maxDataCount)
     count = min(count, maxDataCount - curDataCount)
     FakeName = GameWorld.GbkToCode("主公")
     
@@ -103,9 +105,12 @@
         name1 = dataPlayerName
         cmpValue = dataCmpValue1
         cmpValue2 = dataCmpValue2
-        PlayerBillboard.UpdateBillboard(billboardType, groupValue1, dataID, name1, name2, type2, value1, value2, 
-                                        cmpValue, cmpValue2, cmpValue3, groupValue2, id2, False, 
-                                        value3=value3, value4=value4, value5=value5)
+        if isLayerMode:
+            PlayerBillboard.UpdateBillboardLayer(dataID, billboardType, cmpValue, groupValue1, False)
+        else:
+            PlayerBillboard.UpdateBillboard(billboardType, groupValue1, dataID, name1, name2, type2, value1, value2, 
+                                            cmpValue, cmpValue2, cmpValue3, groupValue2, id2, False, 
+                                            value3=value3, value4=value4, value5=value5)
         
     billboardObj.SortData()
     

--
Gitblit v1.8.0