1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/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