Русские ники на build 6153 |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Русские ники на build 6153 |
HoBu4oK |
2.1.2020, 8:36
Сообщение
|
|
Подскажите, как можно отключить или запретить использование русских ников на build 6153
|
|
|
loran |
2.1.2020, 9:35
Сообщение
|
Подскажите, как можно отключить или запретить использование русских ников на build 6153 Плагин написать. Подарок к новому году. Плагин переделанный чутка. Работает хорошо. Я за него отдавал 250 рублей 2 года назад. Если хоть одна будет русская буква в нике, то игрока не пустит на сервер. Cкрытый текст Код #include <amxmodx> #include <fakemeta> #include <regex> #define PLUGIN "Unicode Name Blocker" #define VERSION "0.1 Alpha" #define AUTHOR "Fintok!" #define REGEX_NAME_PATTERN "^^[a-zA-Z0-9\-\_\'\<\>\{\}\[\]\(\)\*\.\\\?\$\|\/\,\:\;\~\`\@\#\!\&\=\^^\ ]+$" #define is_valid_name(%1) (regex_match_c(%1, g_iPattern, g_iRegex) > 0) new Regex:g_iPattern, g_iRegex public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_forward(FM_ClientUserInfoChanged, "Fwd_ClientUserInfoChanged_Pre") new szError[32] #if AMXX_VERSION_NUM < 183 g_iPattern = regex_compile(REGEX_NAME_PATTERN, g_iRegex, szError, charsmax(szError)) #else g_iPattern = regex_compile_ex(REGEX_NAME_PATTERN, PCRE_UTF8, szError, charsmax(szError), g_iRegex) #endif if(g_iPattern == REGEX_PATTERN_FAIL) { log_amx("Plugin is stopped. Regex error (%d): %s", g_iPattern, szError) set_fail_state("Plugin is stopped. Regex error!") } } public Fwd_ClientUserInfoChanged_Pre(id, buffer) { static sOldName[32], sNewName[32] is_user_connected(id) ? pev(id, pev_netname, sOldName, charsmax(sOldName)) : (sOldName[0] = '^0') engfunc(EngFunc_InfoKeyValue, buffer, "name", sNewName, charsmax(sNewName)) if(equal(sOldName, sNewName) || is_valid_name(sNewName)) return FMRES_IGNORED server_cmd("kick ^"%s^" ^"Русские ники на сервере ЗАПРЕЩЕНЫ^"", sNewName) return FMRES_SUPERCEDE } public plugin_end() regex_free(g_iPattern)
Отредактировал: loran, - 2.1.2020, 9:38
|
|
Поблагодарили 3 раз
|
|
MDMA20 |
2.1.2020, 10:45
Сообщение
|
Поблагодарили 1 раз
|
|
Safety1st |
2.1.2020, 12:25
Сообщение
|
Разумнее использовать такой шаблон, чтобы учесть все печатаемые символы, не являющиеся юникодом:
Код #define REGEX_NAME_PATTERN "^^[ -~]+$" И не кикать игрока, а подменять ник: мало кто будет заморачиваться сменой, просто выберет другой сервер, но мало кто уйдёт с сервера, потому что ему ник поменяли.Однако само по себе глупо отказываться от юникода.
Отредактировал: Safety1st, - 2.1.2020, 12:32
|
|
Поблагодарили 3 раз
|
|
loran |
3.1.2020, 13:13
Сообщение
|
|
|