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/GM/GMShell.py | 20 +++++++++++++-------
1 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py
index 5139b89..ef5a0fe 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py
@@ -121,13 +121,14 @@
callFunc = GameWorld.GetExecFunc(Commands, "%s.%s"%(callFunName, "GetGMServerIDList"))
if callFunc != None:
gmServerIDList = callFunc(curPlayer)
- pack = ChServerToServerPyPack.tagSSGMCMD()
- pack.FromServerID = GameWorld.GetGameWorld().GetServerID()
- pack.ServerType = GameWorld.GetServerType()
- pack.PlayerID = curPlayer.GetPlayerID()
- pack.CMDStr = str(inputList)
- pack.CMDLen = len(pack.CMDStr)
- NetPackCommon.SendCrossServerToServerPack(pack, gmServerIDList, dirType=ShareDefine.dirType_Cross)
+ if gmServerIDList:
+ pack = ChServerToServerPyPack.tagSSGMCMD()
+ pack.FromServerID = GameWorld.GetGameWorld().GetServerID()
+ pack.ServerType = GameWorld.GetServerType()
+ pack.PlayerID = curPlayer.GetPlayerID()
+ pack.CMDStr = str(inputList)
+ pack.CMDLen = len(pack.CMDStr)
+ NetPackCommon.SendCrossServerToServerPack(pack, gmServerIDList, dirType=ShareDefine.dirType_Cross)
return
# GameObj 的 Get、Set函数
@@ -231,6 +232,11 @@
GameWorld.Log("OnSSGMCMD cmdStr=%s,fromServerID=%s" % (cmdStr, fromServerID), playerID)
crossPlayer = CrossPlayer.GetCrossPlayerMgr().FindCrossPlayer(playerID)
if not crossPlayer:
+ if GameWorld.IsCrossCenter():
+ GameWorld.ErrLog("跨服中心找不到crossPlayer!直接注册", playerID)
+ crossPlayer = CrossPlayer.GetCrossPlayerMgr().RegistPlayer(playerID) # 跨服中心不存在该玩家,直接注册
+ crossPlayer.SetMainServerID(fromServerID)
+ if not crossPlayer:
GameWorld.ErrLog("本服找不到crossPlayer!", playerID)
return
cmdList = eval(cmdStr)
--
Gitblit v1.8.0