From cdb001b8065cf4bcfe63b82bf8c03ae48b362e7b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 19 三月 2026 12:02:09 +0800
Subject: [PATCH] 493 【活动内容】武将登场-服务端(招募武将非首次获得不广播设定仅针对常规招募;)
---
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