Nick filter v1.1

Одобрените от нас плъгини. Моля, докладвайте ако забележите бъг с някой от плъгините в този раздел.
Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Nick filter v1.1

Мнение от TheRedShoko » 05 Фев 2017, 17:34

Име на плъгина: Nick filter
Автор: TheRedShoko
Версия: 1.1

Описание: Плъгинът ви позволява да забранявате на играчи с даден Nickname да играят в сървъра (нещо като ban по nick), като при опит за влизане играча ще бъде кикван с причина, зададена във файл.
Cvars:
~N/A~
Commands:
amx_reload_nickfilter - презарежда файлът с филтрирани nicknames
Change log:
v1.0 - first release
v1.1 - the plugin now works case insensitive (there is no difference between uppercase & lowercase letters)

Инсталация на плъгина:
1. Компилирате локално плъгина и инсталирате както всеки друг.
2. След пускане на сървъра ще ви се създаде файл nick_filter.ini в configs папката на сървъра, който изглежда ето така:

Код за потвърждение: Избери целия код

; Nick filter by TheRedShoko
; Don't forget to visit AMXX-BG.info
; Usage: "Name" "Reason" 
; Example: "TheRedShoko" "Test"
Прикачени файлове
nick_filter.sma
v1.1
(2.14 KiB) Свалено 231 пъти
nick_filter.sma
v1.1
(2.14 KiB) Свалено 231 пъти
nick_filter.sma
v1.0
(1.92 KiB) Свалено 179 пъти
nick_filter.sma
v1.0
(1.92 KiB) Свалено 179 пъти

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Nick filter v1.0

Мнение от OciXCrom » 06 Фев 2017, 14:45

Одобрен

Аватар
monk
Извън линия
Потребител
Потребител
Мнения: 156
Регистриран на: 22 Окт 2016, 18:08
Местоположение: /gym
Се отблагодари: 2 пъти
Получена благодарност: 9 пъти

Re: Nick filter v1.0

Мнение от monk » 06 Фев 2017, 15:12

Поздравления, Шоко найстина ме грабна този плъгин, обаче как да го направя в инито само, като напиша ".bg" никове от типа на http://www.blabla.bg ili blabla.bg да се кикват. :mad:
My body is like breakfast, lunch, and dinner. I don't think about it, I just have it.
- Arnold Schwarzenegger
--
45.144.155.105:27029 -Ex0t1C-pLay # > Dust 2 Only <
--

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Re: Nick filter v1.0

Мнение от TheRedShoko » 06 Фев 2017, 15:20

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <amxmisc>

new const g_szVersion[] = "1.0 (Edited)";

new Array:g_szNames, Array:g_szReasons;
new g_iTotalFilterNames;

public plugin_init()
{
    register_plugin("Nick Filter", g_szVersion, "TheRedShoko @ AMXX-BG.info");
    register_cvar("nick_filter", g_szVersion, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED);

    register_concmd("amx_reload_nickfilter", "AdminReloadNicknames", ADMIN_RCON);

    g_szNames = ArrayCreate(32);
    g_szReasons = ArrayCreate(64);
    
    LoadNicksFile();
}

public plugin_end()
{
    ArrayDestroy(g_szNames);
    ArrayDestroy(g_szReasons);
}

public client_putinserver(id)
{
    static szName[32], szArrayName[32];
    get_user_name(id, szName, charsmax(szName));
    
    for (new i = 0; i < g_iTotalFilterNames; i++)
    {
        ArrayGetString(g_szNames, i, szArrayName, charsmax(szArrayName));
        
        if (containi(szName, szArrayName) != -1)
        {
            static szReason[64];
            ArrayGetString(g_szReasons, i, szReason, charsmax(szReason));

            server_cmd("kick #%d ^"%s^"", get_user_userid(id), szReason);
        }
    }
}

public AdminReloadNicknames(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
    {
        return PLUGIN_HANDLED;
    }
    
    console_print(id, "Reading from file...");

    console_print(id, LoadNicksFile() ? "Succesfully loaded the file!" : "Failed to read from the file!");
    
    return PLUGIN_HANDLED;
}

LoadNicksFile()
{
    ArrayClear(g_szNames);
    ArrayClear(g_szReasons);
    
    new szFile[64];
    get_configsdir(szFile, charsmax(szFile));
    add(szFile, charsmax(szFile), "/nick_filter.ini");
    
    if (file_exists(szFile))
    {        
        new iLine, szLine[128], iBuffer;
        new szName[32], szReason[64];
        
        while ( (iLine = read_file(szFile, iLine, szLine, charsmax(szLine), iBuffer)) > 0)
        {
            if (szLine[0] == EOS || szLine[0] == ';' || szLine[0] == '/' && szLine[1] == '/') continue;
            
            parse(szLine, szName, charsmax(szName), szReason, charsmax(szReason));
            
            ArrayPushString(g_szNames, szName);
            ArrayPushString(g_szReasons, szReason);
        }
        
        g_iTotalFilterNames = ArraySize(g_szNames);
        
        return true;
    }
    else
    {
        write_file(szFile, "; Nick filter by TheRedShoko^n; Don't forget to visit AMXX-BG.info");
        write_file(szFile, "; Usage: ^"Name^" ^"Reason^" ^n; Example: ^"TheRedShoko^" ^"Test^"");
    }
    
    return false;
}
Try this.

Аватар
monk
Извън линия
Потребител
Потребител
Мнения: 156
Регистриран на: 22 Окт 2016, 18:08
Местоположение: /gym
Се отблагодари: 2 пъти
Получена благодарност: 9 пъти

Re: Nick filter v1.0

Мнение от monk » 06 Фев 2017, 20:20

Не работи.
My body is like breakfast, lunch, and dinner. I don't think about it, I just have it.
- Arnold Schwarzenegger
--
45.144.155.105:27029 -Ex0t1C-pLay # > Dust 2 Only <
--

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Re: Nick filter v1.0

Мнение от TheRedShoko » 06 Фев 2017, 21:30

Промених си мнението, пробвай сега.

Аватар
monk
Извън линия
Потребител
Потребител
Мнения: 156
Регистриран на: 22 Окт 2016, 18:08
Местоположение: /gym
Се отблагодари: 2 пъти
Получена благодарност: 9 пъти

Re: Nick filter v1.0

Мнение от monk » 07 Фев 2017, 14:21

Сега всичко е 6, благодаря. :)
My body is like breakfast, lunch, and dinner. I don't think about it, I just have it.
- Arnold Schwarzenegger
--
45.144.155.105:27029 -Ex0t1C-pLay # > Dust 2 Only <
--

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Nick filter v1.0

Мнение от OciXCrom » 07 Фев 2017, 14:37

Предлагам ти да запазваш имената с малки букви и когато играч се свързва, да направиш и неговото с малки и съответно да провериш дали е в списъка, тъй като в момента може да влезне в сървъра ако си смени големината на някоя буква в името.

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Re: Nick filter v1.0

Мнение от TheRedShoko » 07 Фев 2017, 14:39

Tests whether a string is found inside another string with case ignoring.
Не би трябвало да го касае дали са главни или малки буквите, при положение че се съдържат.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Nick filter v1.0

Мнение от OciXCrom » 07 Фев 2017, 14:48

Аз пък говорих за кода в първото мнение. Не забелязах, че си го променил по-долу.

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Одобрени плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 8 госта