From ec5de0b415bb3fd2c12367b1babfe0d4351a2827 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 17 三月 2026 15:03:38 +0800
Subject: [PATCH] 405 【公会】自动转让会长规则调整(优化优先传位配置;优化跨服邮件发送;)
---
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