From e41e926bbbd0255acde8b4b62d5558a025b83a02 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 11 六月 2025 17:18:27 +0800
Subject: [PATCH] 10263 【越南】【BT】增加后台执行命令清除本服榜单某个玩家ID数据: ClearBillboardData

---
 ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py |  131 +++++++++++++++++--------------------------
 1 files changed, 51 insertions(+), 80 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py b/ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py
index 42ad582..84a474e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/DataRecordPack.py
@@ -65,6 +65,8 @@
 import GameWorld
 import datetime
 import ShareDefine
+import PlayerControl
+import PlayerBillboard
 import ChConfig
 #===============================================================================
 ##发送事件记录给EventShell
@@ -75,7 +77,9 @@
     if curPlayer:
         pid = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_PlayerFromPID)
         dataDict["pid"] = pid
-        dataDict["fightPower"] = curPlayer.GetFightPower()
+        dataDict["fightPower"] = PlayerControl.GetFightPower(curPlayer)
+        dataDict["PlayerLV"] = curPlayer.GetLV()
+        dataDict["IP"] = curPlayer.GetIP()
         
     dataDict["time"] = str(datetime.datetime.today()).split(".")[0]
     
@@ -116,10 +120,10 @@
 #  @param familyName: 家族名
 #  @param familyID: 家族ID
 #  @return None
-def DR_CreateFamily(accID, playerID, playerNaem, familyName, familyID):
+def DR_CreateFamily(accID, playerID, playerNaem, familyName, familyID, creatFamilyTimes):
 
     dataDict = {'AccID':accID, 'PlayerID':playerID, "PlayerName":playerNaem, 'FamilyName':familyName, 
-                'FamilyID':familyID}
+                'FamilyID':familyID, 'creatFamilyTimes':creatFamilyTimes}
 
     #发送封包
     SendEventPack("CreateFamily", dataDict)
@@ -230,13 +234,6 @@
     SendEventPack("GameMapOnLinePlayerCnt", dataDict)
     return
 
-## 每天记录排行榜数据
-#  @param billboardType: 排行榜类型
-#  @return: None
-def DR_BillboardDataByDay(billboardType):
-    DR_BillboardData(billboardType, "BillboardDataByDay")
-    return
-
 ## 记录排行榜数据
 #  @param billboardType: 排行榜类型
 #  @return: None
@@ -245,33 +242,46 @@
     if not billBoard:
         #找不到排行榜
         return
+    dataCount = billBoard.GetCount()
+    if not dataCount:
+        return
     
-    for index in range(0, billBoard.GetCount()):
+    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)
+    
+    dataDict = {"BillboardType":billboardType, "DataCount":dataCount, "addDataDict":addDataDict}
+    SendEventPack(eventTypeStr, dataDict)
+    
+    for index in range(0, dataCount):
         billBoardData = billBoard.At(index)
         if not billBoardData:
             continue
-        
-        objID = billBoardData.GetID()
-        objID2 = billBoardData.GetID2()
-        name1 = billBoardData.GetName1()
-        name2 = billBoardData.GetName2()
-        type2 = billBoardData.GetType2()
-        value1 = billBoardData.GetValue1()
-        value2 = billBoardData.GetValue2()
-        cmpValue = billBoardData.GetCmpValue()
-        cmpValue2 = billBoardData.GetCmpValue2()
-        cmpValue3 = billBoardData.GetCmpValue3()
-        
-        dataDict = {"BillboardType":billboardType,
-                    "Place":index,  "ObjID":objID, "ObjID2":objID2, "Name1":name1, 
-                    "Name2":name2,  "Type2":type2, "Value1":value1, "Value2":value2,
-                    "CmpValue":cmpValue, "CmpValue2":cmpValue2, "CmpValue3":cmpValue3,
+        rank = idOrderDict.get(billBoardData.GetID(), index + 1)
+        dataDict = {"Rank":rank, "Index":index,
+                    "ID":billBoardData.GetID(),
+                    "ID2":billBoardData.GetID2(),
+                    "Name1":billBoardData.GetName1(),
+                    "Name2":billBoardData.GetName2(),
+                    "Type2":billBoardData.GetType2(),
+                    "Value1":billBoardData.GetValue1(),
+                    "Value2":billBoardData.GetValue2(),
+                    "Value3":billBoardData.GetValue3(),
+                    "Value4":billBoardData.GetValue4(),
+                    "Value5":billBoardData.GetValue5(),
+                    "Value6":billBoardData.GetValue6(),
+                    "Value7":billBoardData.GetValue7(),
+                    "Value8":billBoardData.GetValue8(),
+                    "CmpValue":billBoardData.GetCmpValue(),
+                    "CmpValue2":billBoardData.GetCmpValue2(),
+                    "CmpValue3":billBoardData.GetCmpValue3(),
+                    "UserData":billBoardData.GetUserData(),
                     }
-        
-        dataDict.update(addDataDict)
-        
-        #发送封包
-        SendEventPack(eventName, dataDict)
+        SendEventPack(eventTypeStr, dataDict)
     return
 
 ## GM执行命令操作
@@ -381,20 +391,6 @@
     #发送封包
     SendEventPack("ResetGameDataRecord", dataDict)
     return
-
-
-## 复制的排行榜记录
-#  @param Place: 名次
-#  @param playerID: 玩家ID
-#  @param playerName: 玩家名字
-#  @param playerLV: 玩家等级
-#  @param playerJob: 玩家职业
-#  @param totalPoint: 积分
-#  @return: None
-def DR_BillboardCopy(billboardType):
-    DR_BillboardData(billboardType, "BillboardCopy")
-    return
-
 
 ## 弹劾玩家家族职位变更
 #  @param familyID: 家族ID
@@ -552,6 +548,15 @@
     SendEventPack("CompensationPersonal", dataDict)
     return 
 
+## 删除个人补偿流向
+#  @param curPlayerID, GUID, ItemDictList
+#  @return: None 
+def DR_DelPersonalCompensation(playerID, GUID, eventName):
+    dataDict = {'PlayerID':playerID, 'GUID':GUID, 'eventName':eventName}
+    #发送封包
+    SendEventPack("CompensationPersonalDel", dataDict)
+    return 
+
 ## 添加全服补偿流向
 #  @param GUID, ItemDictList
 #  @return: None 
@@ -559,39 +564,5 @@
     dataDict = {'GUID':GUID, "eventName":eventName}
     dataDict.update(addDict)
     SendEventPack("CompensationEntire", dataDict)
-    return
-
-## 发送充值排行榜特惠活动奖励邮件记录流向
-#  @param curPlayerID: 玩家ID
-#  @param GUID: 
-#  @param actionID: 活动ID
-#  @param actionValue: 活动编号
-#  @param order: 奖励排名
-#  @param rewardItemList: 奖励物品列表
-#  @return None
-def DR_SendRechareRankTeHuiRewardMail(curPlayerID, GUID, actionID, actionValue, order, rewardItemList):
-    
-    dataDict = {'PlayerID':curPlayerID, 'GUID':GUID, 'ActionID':actionID, 'ActionValue':actionValue,
-                'Order':order, 'ItemList':rewardItemList}
-
-    #发送封包
-    SendEventPack("SendRechareRankTeHuiRewardMail", dataDict)
-    return
-
-## 发送消费排行榜特惠活动奖励邮件记录流向
-#  @param curPlayerID: 玩家ID
-#  @param GUID: 
-#  @param actionID: 活动ID
-#  @param actionValue: 活动编号
-#  @param order: 奖励排名
-#  @param rewardItemList: 奖励物品列表
-#  @return None
-def DR_SendCostRankTeHuiRewardMail(curPlayerID, GUID, actionID, actionValue, order, rewardItemList):
-    
-    dataDict = {'PlayerID':curPlayerID, 'GUID':GUID, 'ActionID':actionID, 'ActionValue':actionValue,
-                'Order':order, 'ItemList':rewardItemList}
-
-    #发送封包
-    SendEventPack("SendCostRankTeHuiRewardMail", dataDict)
     return
 

--
Gitblit v1.8.0