AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   DontSayIps (https://forums.alliedmods.net/showthread.php?t=133546)

4iriks 07-26-2010 14:10

DontSayIps
 
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 07-26-2010 15:02

Re: DontSayIps
 
Ok sorry , can lock this ! I figured out myself !

mailkman 07-26-2010 19:22

Re: DontSayIps
 
you are using amxbans 5.0 or amxbans 6.0 ?
If amxbans 6.0 what is ban cmd you use? old or new?

nikhilgupta345 07-26-2010 20:03

Re: DontSayIps
 
He said he got it...


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

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