#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package PyMongoDB.GMToolLogicProcess.Commands.GMT_FamilyDismiss # # @todo:GM¹¤¾ßÃüÁî - ½âÉ¢¹«»á # @author hxp # @date 2026-02-13 # @version 1.0 # # ÏêϸÃèÊö: GM¹¤¾ßÃüÁî - ½âÉ¢¹«»á # #------------------------------------------------------------------------------- #"""Version = 2026-02-13 16:30""" #------------------------------------------------------------------------------- import GMCommon import GameWorld 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 if GameWorld.IsMainServer(): crossServerID = DBDataMgr.GetFamilyMgr().GetCurCrossServerID() if crossServerID: return GMCommon.Def_ParamErr, "¹«»áÒѾ­¿ç·þÁË£¬¿ç·þID=%s" % crossServerID familyMgr = DBDataMgr.GetFamilyMgr() if queryType == "FamilyID": familyID = GameWorld.ToIntDef(familyName) if not familyID: return GMCommon.Def_ParamErr curFamily = familyMgr.FindFamily(familyID) else: curFamily = None for zoneID in familyMgr.GetZoneIDListThisServer(): zoneMgr = familyMgr.GetZoneFamilyMgr(zoneID) curFamily = zoneMgr.FindFamilyByName(familyName) if curFamily: break if not curFamily: GameWorld.DebugLogEx("Ä¿±ê¹¤»á²»´æÔÚ") return GMCommon.Def_NoTag, "no tag family" familyID = curFamily.GetID() zoneMgr = familyMgr.GetZoneFamilyMgrByFamilyID(familyID) familyMgr.DelFamily(familyID) zoneMgr.Sort() return GMCommon.Def_Success