Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Раздел для общения на любые темы, для которых не нашлось места в остальных разделах. Если Вашу тему можно отнести по смыслу к другому разделу, лучше создайте её там, иначе Вас накажут.

В данном форуме немного понижены требования к Общим правилам форума, а именно:
1. Информативность темы
2. Отходить от первоначального смысла темы

!
В разделе запрещено создавать темы связанные с раскруткой игровых серверов

Пустой ник, посоветуйте защиту

Статус пользователя grey
сообщение 7.1.2014, 20:24
Сообщение #1


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

Посоветуйте защиту против этого бага с пустым ником , у меня не большое сообщество и я не привык защищать сервер от подобных "малолетних хулиганов", в общем надеюсь на помощь (=

банЛист http://cp.cs-battle.net.ua/bans/


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Safety1st
сообщение 7.1.2014, 20:29
Сообщение #2
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Скрин из игры покажите. И в чём неудобство конкретно?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Esecman
сообщение 7.1.2014, 20:30
Сообщение #3
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Скрытый текст
Код:
#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, "", "nick_is_nulled");
replace_all(szName, 31, szSubStr, szNewTxtPart);
}

set_user_info(id, "name", szName);
}


UPD 2 раз :D
Фикс от Flash'a

Отредактировал: Esecman, - 7.1.2014, 20:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя grey
сообщение 7.1.2014, 20:32
Сообщение #4


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

Цитата(Safety1st @ 7.1.2014, 20:29) *
Скрин из игры покажите. И в чём неудобство конкретно?

К сожалению в игру возможности зайти не могу

Цитата(Esecman @ 7.1.2014, 20:30) *
Скрытый текст
Код:
#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);
}


Фикс от Flash'a



спасибо, попробую


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: