| #!/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  | 
|   | 
|   | 
|   | 
|   |