Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

dontsayips problem


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 EliteF!ghter

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:4
Offline

Napisano 22.09.2009 21:16

Witam, ostatnio wgrałem plugin dontsayips. Plugin nie działa prawidłowo(wyświetla się reklama i podmianka tekstu z pluginu) Cvary są dodane. Wiecie co jest nie tak? To sma

#define PLUGINNAME    "Don't say IPs by Pavulon"
#define VERSION        "0.2"
#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 <fakemeta>
#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 PATTERN    "([0-9].*[., ].*[0-9].*[., ].*[0-9].*[., ].*[0-9])"
#define PATTERN    "([0-9].*[., ].*[0-9].*[., ].*[0-9].*[., ].*[0-9])|(www.)|(.pl)|(.com)|(.ru)|(.de)|(.net)|(.info)|(.org)|(.biz)|(.nl)|(.lt)|(.eu)|(.name)"
#define REASON    "reklama IP"
#define CVAR_BANMINUTES    "ip_banminutes"
#define CVAR_BANVIOLATORS "ip_banviolators"
#define CVAR_BANTIMES "ip_bantimes"
#define TEKST "Ale ten serwer jest za***isty!"

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

new banuids[33]
new banname[33][32]

new const g_name[] = "name"
new /* const */ g_name_change[] = "#Cstrike_Name_Change"

new g_msgid_saytext
// Globals above

public plugin_init()
{
    register_plugin(PLUGINNAME, VERSION, AUTHOR)
    
    register_clcmd("say", "hook_say")
    register_clcmd("say_team", "hook_say")
    register_cvar(CVAR_BANVIOLATORS, "1")
    register_cvar(CVAR_BANMINUTES, "30")
    register_cvar(CVAR_BANTIMES, "3")
    
    register_dictionary("admincmd.txt")
    
    register_forward(FM_ClientUserInfoChanged, "forward_client_userinfochanged")
    
    g_msgid_saytext = get_user_msgid("SayText")
}

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

public forward_client_userinfochanged(id, buffer)
{
    if (!is_user_connected(id))
        return FMRES_IGNORED
    
    static name[32]
    engfunc(EngFunc_InfoKeyValue, buffer, g_name, name, sizeof name - 1)
    
    if (get_user_flags(id)&ADMIN_RESERVATION)
        return FMRES_IGNORED
    
    look4(name,id, 2)
    
    return FMRES_SUPERCEDE
}

msg_name_change(id, /* const */ oldname[])
{
    client_cmd(id,"name ^"%s^"",TEKST)
    message_begin(MSG_BROADCAST, g_msgid_saytext)
    write_byte(id)
    write_string(g_name_change)
    write_string(oldname)
    write_string(TEKST)
    message_end()
}

public hook_say(id, level, cid)
{
    if ( (get_user_flags(id)&ADMIN_RESERVATION) || !id )
        return PLUGIN_CONTINUE
    
    read_args(g_allArgs, 1023)
    if (look4(g_allArgs,id, 1)==1)
        return PLUGIN_HANDLED

    return PLUGIN_CONTINUE
}

public look4(g_allArgs[],id, type)
{
    g_result = regex_match(g_allArgs, PATTERN, g_returnvalue, g_error, 63, "i")
    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 (type==1) times[id]++
            
            new authid[32]
            get_user_authid(id, authid, 31)
            
            new name[32]
            get_user_name(id, name, 31)
            
            if (get_cvar_num(CVAR_BANVIOLATORS)&×[id]>=get_cvar_num(CVAR_BANTIMES)
            || get_cvar_num(CVAR_BANVIOLATORS)&&type==2) {
                banuids[id] = get_user_userid(id)
                format(banname[id], 31, "%s", g_allArgs)
                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")

                log_amx("%s (%s), %s %s %s. This was written: ^"%s^"", name, authid, banned, temp, REASON, g_allArgs)
                new userid[1]
                userid[0] = id
                set_task(0.1,"cmd_ban",id, userid, 1)
            }
            if (type==1)
            {
                client_print(0, print_chat, "%s: %s", name, TEKST)
                server_cmd("amx_chat %s (%s): ^"%s^"", name, authid, g_allArgs)
                regex_free(g_result)
                return 1 // block msg
            } else
            if (type==2)
            {
                new username[32]
                get_user_name(id, username, 31)
                msg_name_change(id, username)
                server_cmd("amx_chat %s (%s): ^"%s^"", username, authid, name)
                
            }
        }
    }
    return PLUGIN_CONTINUE
}
public cmd_ban(userid[])
{
    new id = userid[0]
    new username[32]
    get_user_name(id, username, 31)
    if (!equal(username, banname[id]))
    {
        new minutes = get_cvar_num(CVAR_BANMINUTES)
        server_cmd("amx_ban %d #%d %s", minutes, banuids[id], REASON)
    } else
        set_task(1.0,"cmd_ban",id, userid, 1)
}
public client_connect(id)
{
    times[id]=0
    format(banname[id], 32, "")
}

public client_disconnect(id)
{
    times[id]=0
    format(banname[id], 32, "")
}

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych