From f7a8b9973ec7ca6625b922520a3eef092b7a2d2e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 22 十二月 2025 09:43:24 +0800
Subject: [PATCH] 1111 后台转让会长支持;
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_FamilyTransfer.py | 72 ++++++++++++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 0 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_FamilyTransfer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_FamilyTransfer.py
new file mode 100644
index 0000000..bc8c11f
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/GMToolLogicProcess/Commands/GMT_FamilyTransfer.py
@@ -0,0 +1,72 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#-------------------------------------------------------------------------------
+#
+##@package PyMongoDB.GMToolLogicProcess.Commands.GMT_FamilyTransfer
+#
+# @todo:GM工具命令 - 转让会长
+# @author hxp
+# @date 2025-12-21
+# @version 1.0
+#
+# 详细描述: GM工具命令 - 转让会长
+#
+#-------------------------------------------------------------------------------
+#"""Version = 2025-12-21 17:30"""
+#-------------------------------------------------------------------------------
+
+import GMCommon
+import GameWorld
+import PlayerFamily
+import PlayerMail
+import DBDataMgr
+
+## 收到gm命令执行
+# @param gmCmdDict:gm命令字典
+# @return None
+def OnExec(gmCmdDict):
+
+ queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
+ familyName = gmCmdDict.get(GMCommon.Def_GMKey_FamilyName, '')
+
+ if familyName == '':
+ return GMCommon.Def_ParamErr
+
+ familyMgr = DBDataMgr.GetFamilyMgr()
+ if queryType == "FamilyID":
+ familyID = GameWorld.ToIntDef(familyName)
+ if not familyID:
+ return GMCommon.Def_ParamErr
+ curFamily = familyMgr.FindFamily(familyID)
+ else:
+ curFamily = familyMgr.FindFamilyByName(familyName)
+
+ if not curFamily:
+ GameWorld.DebugLogEx("目标工会不存在")
+ return GMCommon.Def_NoTag, "no tag family"
+
+ familyID = curFamily.GetID()
+ tagPlayer = None
+ queryTagType = gmCmdDict.get("queryTagType", '')
+ queryTag = gmCmdDict.get("queryTag", '')
+ if queryTagType == "PlayerName":
+ tagPlayer = GameWorld.GetPlayerManager().FindPlayerByName(queryTag)
+ else:
+ tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(GameWorld.ToIntDef(queryTag))
+
+ if not tagPlayer:
+ GameWorld.DebugLogEx("目标玩家不在线")
+ return GMCommon.Def_NoTag, "tagPlayer is offLine"
+
+ tagPlayerID = tagPlayer.GetPlayerID()
+ toMember = curFamily.FindMember(tagPlayerID)
+ if not toMember:
+ GameWorld.DebugLogEx("目标玩家非该工会成员: tagPlayerID=%s", tagPlayerID)
+ return GMCommon.Def_NoTag, "tagPlayer is not this family member"
+
+ PlayerFamily.ChangeFamilyLeader(curFamily, toMember)
+ PlayerFamily.Broadcast_FamilyChange(familyID, PlayerFamily.FamilyChangeType_LeaderChange)
+
+ # 邮件通知
+ PlayerMail.SendMailByKey("FamilyLeaderAutoChange", tagPlayerID, [], [curFamily.GetName()])
+ return GMCommon.Def_Success
--
Gitblit v1.8.0