From ea6dff19b5877d55473d445788e1a2ff5789f6b9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 17 三月 2026 10:01:57 +0800
Subject: [PATCH] 526 【挑战】PVP群英榜-后端(战斗日志Value1增加存储ServerID;群英榜单10的UserData增加Json格式存储FightPower;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py | 2 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBBillboard.py | 16 +++++-----------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Qunying.py | 4 ++++
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBBillboard.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBBillboard.py
index 64d5ff9..e17269f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBBillboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBBillboard.py
@@ -22,6 +22,7 @@
import IpyGameDataPY
import DBDataMgr
import CommFunc
+import DBComm
import json
import time
@@ -31,6 +32,7 @@
def __init__(self, dbData=None):
self.__dbData = DBStruct.tagDBBillboard() if not dbData else dbData
+ self.__dataDict = DBComm.UserDataDict(self.__dbData, "UserData", "DataLen", True)
return
def GetType(self): return self.__dbData.BillboardType
@@ -73,17 +75,9 @@
def SetCmpValue3(self, cmpValue3): self.__dbData.CmpValue3 = cmpValue3
def GetTime(self): return self.__dbData.Time
def SetTime(self, updTime): self.__dbData.Time = updTime
- def GetUserData(self): return self.__dbData.UserData
- def SetUserData(self, userData):
- if not isinstance(userData, str):
- if isinstance(userData, dict) or isinstance(userData, list):
- userData = json.dumps(userData, ensure_ascii=False)
- else:
- userData = ""
- userData = userData.replace(" ", "")
- self.__dbData.UserData = userData
- self.__dbData.DataLen = len(self.__dbData.UserData)
- return
+ def GetUserDict(self): return self.__dataDict.GetData()
+ def GetUserData(self): return self.__dataDict.ToString()
+ def SetUserData(self, value): self.__dataDict.SetData(value)
def GetBuffer(self): return self.__dbData.getBuffer()
def Clear(self): return self.__dbData.clear()
def Copy(self, setType=None):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Qunying.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Qunying.py
index cb18592..5e5048a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Qunying.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Qunying.py
@@ -38,6 +38,8 @@
RecAtkType_Atk = 1 # 发起攻击
RecAtkType_Def = 2 # 被攻击的
+def GetRecServerID(recData): return recData.GetValue1() # 目标ServerID
+def SetRecServerID(recData, serverID): return recData.SetValue1(serverID)
def GetRecAtkType(recData): return recData.GetValue2() # 攻击类型 1-发起攻击的,2-被攻击的
def SetRecAtkType(recData, atkType): return recData.SetValue2(atkType)
def GetRecTagPlayerID(recData): return recData.GetValue3() # 相对攻击类型的目标玩家ID
@@ -306,6 +308,7 @@
SetRecAtkType(recData, RecAtkType_Atk)
SetRecTagPlayerID(recData, tagPlayerID)
SetRecIsWin(recData, isWin)
+ SetRecServerID(recData, tagViewCache.GetServerID() if tagViewCache else 0)
SetRecFace(recData, tagViewCache.GetFace() if tagViewCache else 0)
SetRecFacePic(recData, tagViewCache.GetFacePic() if tagViewCache else 0)
SetRecRealmLV(recData, tagViewCache.GetRealmLV() if tagViewCache else 1)
@@ -334,6 +337,7 @@
SetRecAtkType(recData, RecAtkType_Def)
SetRecTagPlayerID(recData, playerID)
SetRecIsWin(recData, not isWin)
+ SetRecServerID(recData, curPlayer.GetServerID())
SetRecFace(recData, curPlayer.GetFace())
SetRecFacePic(recData, curPlayer.GetFacePic())
SetRecRealmLV(recData, curPlayer.GetOfficialRank())
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
index ccacc87..9f04050 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
@@ -121,6 +121,8 @@
billData.SetValue4(curCache.GetFacePic())
billData.SetValue5(curCache.GetModelMark())
billData.SetValue6(curCache.GetEquipShowSwitch())
+ userDict = billData.GetUserDict()
+ userDict.update({"FightPower":curCache.GetFightPowerTotal()})
return
def UpdateBillboardLayer(dataID, billboardType, cmpValue, groupValue1=0, autoSort=True):
--
Gitblit v1.8.0