Raised This Month: $ Target: $400
 0% 

DontSayIps


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
4iriks
Member
Join Date: Nov 2009
Old 07-26-2010 , 14:10   DontSayIps
Reply With Quote #1

Ok guys , need a little modification here !

I want when this plugin ban user using amxbans not standart ban !

Code:
#define PLUGINNAME    "Don't say IPs"
#define VERSION        "0.1"
#define AUTHOR        "JGHG"
/*
Copyleft 2005
Plugin topic: http://www.amxmodx.org/forums/viewtopic.php?p=90172


Don't say IPs
=============
Messages like "hey join my server 213.34.231.23" are automatically blocked... and another message is printed instead. :-P
Or, you can choose to just ban violators by setting cvar ip_banviolators to 1 and ip_banminutes to how many minutes the violator should be banned. 0 is permanent, 5 is default.

/JGHG


VERSIONS
========
050204    0.1    First version


CREDITS
=======
Requested by lord_inuyasha88.
*/

#include <amxmodx>
#include <regex>

#define PATTERN                "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" // \b
#define REASON                "IP advertising"
#define CVAR_BANMINUTES        "ip_banminutes"
#define CVAR_BANVIOLATORS    "ip_banviolators"

// Globals below
new Regex:g_result
new g_returnvalue
new g_error[64]
new g_allArgs[1024]
// Globals above

public plugin_modules() {
    require_module("regex")
}

public hook_say(id, level, cid) {
    read_args(g_allArgs, 1023)
    g_result = regex_match(g_allArgs, PATTERN, g_returnvalue, g_error, 63)
    switch (g_result) {
        case REGEX_MATCH_FAIL: {
            log_amx("REGEX_MATCH_FAIL! %s", g_error)
            return PLUGIN_CONTINUE
        }
        case REGEX_PATTERN_FAIL: {
            log_amx("REGEX_PATTERN_FAIL! %s", g_error)
            return PLUGIN_CONTINUE
        }
        case REGEX_NO_MATCH: {
            return PLUGIN_CONTINUE
        }
        default: {
            if (get_cvar_num(CVAR_BANVIOLATORS)) {
                new userid = get_user_userid(id)
                new minutesString[10]
                get_cvar_string(CVAR_BANMINUTES, minutesString, 9)
                new temp[64], banned[16], minutes = get_cvar_num(CVAR_BANMINUTES)
    
                if (minutes)
                    format(temp, 63, "%L", id, "FOR_MIN", minutesString)
                else
                    format(temp, 63, "%L", id, "PERM")
                
                format(banned, 15, "%L", id, "BANNED")
    
                new authid[32]
                get_user_authid(id, authid, 31)
    
                new name[32]
                get_user_name(id, name, 31)
                log_amx("%s (%s), %s %s because of advertising an IP address. This was written: ^"%s^"", name, authid, banned, temp, g_allArgs)
    
                server_cmd("kick #%d ^"%s (%s %s)^";wait;banid ^"%d^" ^"%s^";wait;writeid", userid, REASON, banned, temp, minutes, authid)                
            }
            else {
                client_cmd(id, "say ^"I must say.... This server ROCKS!^"")
            }
            regex_free(g_result)
            return PLUGIN_HANDLED // block msg
        }
    }
    
    return PLUGIN_CONTINUE
}



public plugin_init() {
    register_plugin(PLUGINNAME, VERSION, AUTHOR)
    
    register_clcmd("say", "hook_say")
    register_cvar(CVAR_BANVIOLATORS, "0")
    register_cvar(CVAR_BANMINUTES, "30")
    
    register_dictionary("admincmd.txt")
}
4iriks is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:15.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode