#!/usr/bin/python # -*- coding: GBK -*- ##@package ForbidTalkByIP # Êý¾Ý¿âGMÃüÁîÖ´ÐÐ->IP½ûÑÔ # # @author mark # @date 2010-3-31 # @version 1.0 # # ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ # VER = "2010-05-14 9:30" zhengyang Ìí¼Ó×¢ÊÍ # # Ä£¿éÏêϸ˵ #--------------------------------------------------------------------- #µ¼Èë 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() #ÒѾ­´æÔÚ´ËIP,²»Öظ´Ìí¼Ó if ipManager.FindIPManage( forbidAccIP, gmOper ): GMCommon.Send_DataServer_GMCommandResult( cmdIndex, ChConfig.Def_GMTool_Fail ) return addIP = ipManager.AddIP() addIP.SetIP( forbidAccIP ) addIP.SetOper( gmOper ) #¹ã²¥ËùÓеØÍ¼ , Èç¹ûÍæ¼ÒÔÚÏßÖ´Ðд˲Ù×÷ 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 , 'ForbidTalkByIP', [gmAccID], False) GMCommon.Send_DataServer_GMCommandResult(cmdIndex, ChConfig.Def_GMTool_Succeed) return