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