From d4c8c2903fd42399a660ebb9e8d06a88ad1f6540 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 30 八月 2024 18:07:19 +0800
Subject: [PATCH] 10256 【越南】【砍树】排行榜名次加入积分限制(优化榜单备份实际名次;)
---
ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py | 9 +++++++--
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py | 5 +++--
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py b/ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py
index 9e36539..84a474e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py
@@ -66,6 +66,7 @@
import datetime
import ShareDefine
import PlayerControl
+import PlayerBillboard
import ChConfig
#===============================================================================
##发送事件记录给EventShell
@@ -245,6 +246,10 @@
if not dataCount:
return
+ billboardMgr = PlayerBillboard.GetBillboardMgr()
+ billboardObj = billboardMgr.GetBillboardObj(billboardType)
+ idOrderDict = billboardObj.GetIDOrderDict()
+
serverTime = GameWorld.GetServerTime()
timeStr = "%02d%02d%02d%s" % (serverTime.hour, serverTime.minute, serverTime.second, str(serverTime.microsecond)[:3])
eventTypeStr = "Billboard_%s_%s_%s" % (billboardType, eventName, timeStr)
@@ -256,8 +261,8 @@
billBoardData = billBoard.At(index)
if not billBoardData:
continue
- rank = index + 1
- dataDict = {"Rank":rank,
+ rank = idOrderDict.get(billBoardData.GetID(), index + 1)
+ dataDict = {"Rank":rank, "Index":index,
"ID":billBoardData.GetID(),
"ID2":billBoardData.GetID2(),
"Name1":billBoardData.GetName1(),
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py
index 0679a0c..6d5ea6f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py
@@ -197,6 +197,7 @@
if not dataCount:
return
+ idOrderDict = self.GetIDOrderDict()
serverTime = GameWorld.GetServerTime()
timeStr = "%02d%02d%02d%s" % (serverTime.hour, serverTime.minute, serverTime.second, str(serverTime.microsecond)[:3])
eventTypeStr = "Billboard_%s_%s_%s_%s_%s" % (self.__billboardType, self.__groupValue1, self.__groupValue2, eventName, timeStr)
@@ -206,8 +207,8 @@
DataRecordPack.SendEventPack(eventTypeStr, dataDict)
for index, billboardData in enumerate(self.__billboardList):
- rank = index + 1
- dataDict = {"Type2":billboardData.Type2, "Rank":rank,
+ rank = idOrderDict.get(billboardData.ID, index + 1)
+ dataDict = {"Type2":billboardData.Type2, "Rank":rank, "Index":index,
"ID":billboardData.ID, "ID2":billboardData.ID2,
"Name1":billboardData.Name1, "Name2":billboardData.Name2,
"Value1":billboardData.Value1, "Value2":billboardData.Value2,
--
Gitblit v1.8.0