#!/usr/bin/python # -*- coding: GBK -*- ##@package UnForbidTalkByIP # Êý¾Ý¿âGMÃüÁîÖ´ÐÐ->½â³ýIP½ûÑÔ # # @author mark # @date 2010-3-31 # @version 1.0 # # ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ # VER = "2010-05-14 9:30" zhengyang Ìí¼Ó×¢ÊÍ # # Ä£¿éÏêϸ˵ #Êý¾Ý¿âGMÃüÁîÖ´ÐÐ->½â³ýIP½ûÑÔ #--------------------------------------------------------------------- #µ¼Èë import IPY_GameServer import GMCommon import ChConfig import GameWorld #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ(ÕâÀïcurPlayer = None) ## Ö´ÐÐÂß¼­ # @param curPlayer µ±Ç°Íæ¼Ò # @param gmList [cmdIndex gmAccID forbidAccIP] # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec( curPlayer, gmList ): cmdIndex = gmList[0] gmAccID = gmList[1] forbidAccIP = str(gmList[2]) #²Ù×÷·û gmOper = IPY_GameServer.gmForbidTalk ipManager = GameWorld.GetGameWorld().GetAllDBIPManage() curFindIP = ipManager.FindIPManage( forbidAccIP, gmOper ) #²»´æÔڴ˲Ù×÷ if not curFindIP: GMCommon.Send_DataServer_GMCommandResult( cmdIndex, ChConfig.Def_GMTool_Fail ) return #¹ã²¥ËùÓеØÍ¼ , Èç¹ûÍæ¼ÒÔÚÏßÖ´Ðд˲Ù×÷ playerManager = GameWorld.GetPlayerManager() for index in range( playerManager.GetPlayerCount() ): curPlayer = playerManager.GetPlayerByIndex( index ) if not curPlayer.GetID(): continue if curPlayer.GetIP() != forbidAccIP: continue GMCommon.Send_MapServer_Query(ChConfig.queryType_sqtPlayerByAccID , curPlayer.GetAccID() , cmdIndex , 'UnForbidTalkByIP', [gmAccID], False) #ɾ³ýÕâÌõ²Ù×÷ result = ipManager.DeleteIPManage( forbidAccIP , gmOper ) if result: #֪ͨ³É¹¦ GMCommon.Send_DataServer_GMCommandResult( cmdIndex, ChConfig.Def_GMTool_Succeed ) else: GMCommon.Send_DataServer_GMCommandResult( cmdIndex, ChConfig.Def_GMTool_Fail ) return