1. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.513
    Симпатии:
    1.103
    Пол:
    Мужской
    автор: Silent aka Plamont
    Источник: GitHub


    В настоящее время плагин устарел, рекомендуется использовать SNAC.

    Подробности:
    Защита от '#' в нике и чате. При написании в чат определённой строки, содержащей символ '#', вылетал сервер и зависал клиент у игроков.
    Заодно поправлена проблема с '+' в чате и прочими символами, вызывавшими проблемы при бане, написании сообщений и.т.д.

    Установка:
    Как любой плагин для Metamod. Ничего особенного.
    Linux
    - В папке addons создаем папку localizebugfix и копируем в неё файл localizebugfix_mm_i386.so
    - Открываем addons/metamod/plugins.ini (если такого файла нет, то создаем сами) и добавляем строчку
    PHP:
    1. linux addons/localizebugfix/localizebugfix_mm_i386.so
    - Перезагружаем сервер

    Windows
    В папке addons создаем папку localizebugfix и копируем в неё файл localizebugfix.dll
    - Открываем addons/metamod/plugins.ini (если такого файла нет, то создаем сами) и добавляем строчку
    PHP:
    1. win32 addons\localizebugfix\localizebugfix.dll
    - Перезагружаем сервер

    Справка:
    На момент написания этого поста последняя версия была 2.3, версия 2.4 вышла буквально пару часов назад.
    Изменения в последней версии, по словам самого автора:
    lbf_24.JPG
     

    Вложения:

    Последнее редактирование: 14.03.16
    Danyad, Tektonik, Punisher и 8 другим нравится это.
  2. jokin Команда форума

    Регистрация:
    28.02.15
    Сообщения:
    824
    Симпатии:
    212
    Оперативненько :)
     
  3. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.584
    Симпатии:
    4.154
    Пол:
    Мужской
    gudaus, хорошо работаешь :D
     
  4. like Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    167
    Симпатии:
    18
    Пол:
    Мужской
    gudaus, что-то вообще запутался с этими фиксами)
    на билд 6153 он не нужен,верно?
     
  5. Cloud Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    252
    Симпатии:
    61
    Пол:
    Мужской
    Нужен, если не используешь альтернативы вроде Yet Another SpamGuard + Lite Translit
     
    Последнее редактирование: 28.09.15
  6. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    210
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Альтернативы? По-моему это разные вещи. Он же не только чат, но и ники игроков правит, те плагины, что ты привел с никами, на сколько я знаю, не работают. Поправьте меня, если я не прав.
     
  7. kpacava Пользователь

    Регистрация:
    06.03.15
    Сообщения:
    108
    Симпатии:
    21
    Пол:
    Мужской
    да всё верно, разные вещи!
     
  8. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.584
    Симпатии:
    4.154
    Пол:
    Мужской
    kpacava, ну да. костыли :)
    в lite translit костылей нет в этом плане. но он не фиксит ники.
     
  9. Cloud Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    252
    Симпатии:
    61
    Пол:
    Мужской
    Спамгвард работает, удаляет решетки и прочую херню. Сервер не положили ни разу. Пробовал сам баг с "Злым чатом".

    В плане нагрузки метамод-плагин предпочтительнее?
     
  10. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.584
    Симпатии:
    4.154
    Пол:
    Мужской
    Cloud, если есть легкий фикс ника, то нет :)
     
    Cloud нравится это.
  11. like Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    167
    Симпатии:
    18
    Пол:
    Мужской
    как этот вариант?

    #include <amxmodx>
    #include <regex>

    new Regex:g_iPattern;

    public plugin_init()
    {
    register_plugin("Plus in nick fix", "0.2", "Flash");

    new szError[64], iError;

    g_iPattern = regex_compile("\+[abcdfghijlmnprstuv]", iError, szError, charsmax(szError), "i");

    if(iError < 0)
    {
    set_fail_state(szError);
    }
    }

    public client_infochanged(id)
    {
    new szNewName[32], szOldName[32];

    get_user_info(id, "name", szNewName, 31);
    get_user_name(id, szOldName, 31);

    if(!equal(szNewName, szOldName))
    {
    Check(id, szNewName);
    }
    }

    Check(id, szNewName[] = "")
    {
    new szName[32];

    if(szNewName[0])
    {
    copy(szName, 31, szNewName);
    }
    else
    {
    get_user_name(id, szName, 31);
    }

    new iNum;
    new szSubStr[3];
    new szNewTxtPart[3];

    while(regex_match_c(szName, g_iPattern, iNum))
    {
    regex_substr(g_iPattern, 0, szSubStr, 2);
    copy(szNewTxtPart, 2, szSubStr);
    replace(szNewTxtPart, 2, "+", "");
    replace_all(szName, 31, szSubStr, szNewTxtPart);
    }

    set_user_info(id, "name", szName);
    }
     
  12. primm Пользователь

    Регистрация:
    28.02.15
    Сообщения:
    108
    Симпатии:
    21
    Пол:
    Мужской
    ICQ:
    551707718
    Брат пламунта забыл в новой версии сменить номер?
     
  13. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.584
    Симпатии:
    4.154
    Пол:
    Мужской
    like, regex не легче :)