From 76a11c5216c6996e0ab266b63cf3a424d6561ba1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 18 三月 2026 14:47:43 +0800
Subject: [PATCH] 526 【挑战】PVP群英榜-后端(修复被挑战记录中没有对方ServerID问题;优化在榜上时已有匹配记录不包含自己名次时强制重刷匹配;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Qunying.py | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
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..3b30453 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, GameWorld.GetPlayerServerID(curPlayer))
SetRecFace(recData, curPlayer.GetFace())
SetRecFacePic(recData, curPlayer.GetFacePic())
SetRecRealmLV(recData, curPlayer.GetOfficialRank())
@@ -448,9 +452,9 @@
if playerID not in PyGameData.g_qunyingPlayerMatchDict:
PyGameData.g_qunyingPlayerMatchDict[playerID] = []
matchRankList = PyGameData.g_qunyingPlayerMatchDict[playerID]
- if not isRefresh and matchRankList:
+ if not isRefresh and matchRankList and (playerRank <= layerIDCnt and playerRank in matchRankList):
# 非刷新的并且已经有记录的直接同步
- GameWorld.DebugLog(" 非刷新且有数据,直接同步! matchRankList=%s" % matchRankList, playerID)
+ GameWorld.DebugLog(" 非刷新且有数据,直接同步! playerRank=%s,matchRankList=%s" % (playerRank, matchRankList), playerID)
__SyncQunyingMatchList(curPlayer, matchRankList, layerIDList)
return
--
Gitblit v1.8.0