Главный редактор форума: Doc-John | Текущая дата: 30.11.2024, 06:39
  • Страница 1 из 1
  • 1
[Мануал] Создаём антирекламу для servera
Оффлайн
Понедельник, 26.08.2013, 12:33 | Сообщение # 1
Сообщений:
20
0
Здравствуйте ув.пользователи http://isamp.3dn.ru
Сегодня я покажу как сделать Антирекламу и как поставить себе на Server.

Ставим данную проверку в паблики OnPlayerCommandText и в OnPlayerText

Цитата (Код)
new word[256],Index;while(Index < strlen(cmdtext)){word = strtok(cmdtext,Index);if(checkbanan(word)==1 && тут_ваша_проверка_на_админа){banan(playerid,cmdtext);return 0;}}


Дальше идём в любое свободное место в моде, и объявляем нашу проверку стоками

Цитата (Код)
stock checkbanan(word[])
{
if(strlen(word)>21) return 0;
if(strfind(word,".", true)==-1) return 0;

new ip[5][256],index;
ip[0] = strtok2(word,index,'.');
ip[1] = strtok2(word,index,'.');
ip[2] = strtok2(word,index,'.');
if(strfind(word,":",true)>0){
ip[3] = strtok2(word,index,':');
ip[4] = strtok2(word,index);
} else {
ip[3] = strtok2(word,index);
valstr(ip[4],0);
}
if(!IsNumeric2(ip[0])||!IsNumeric2(ip[1])||!IsNumeric2(ip[2])||!IsNumeric2(ip[3])||!IsNumeric2(ip[4])
||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4])
||(strval(ip[0])==192&&strval(ip[1])==168)
||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31)
||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0;
return 1;
}
strtok2(string[],&idx,seperator = ' ')
{
new ret[128], i = 0, len = strlen(string);
while(string [idx]== seperator && idx < len) idx++;
while(string [idx]!= seperator && idx < len)
{
ret = string[idx];
i++;
idx++;
}
while(string [idx]== seperator && idx < len) idx++;
return ret;
}
stock IsNumeric2(string[]) { for (new i = 0, j = strlen(string); i < j; i++) if (string > '9' || string < '0') return 0; return 1; }

stock banan(playerid,bantext[])
{
new name[MAX_PLAYER_NAME],string[256];GetPlayerName(playerid,name,24);
format(string, 256, "[%d]%s рекламит сервер и забанен за рекламу, введёный им IP: %s",playerid,name,bantext);
SendClientMessageToAll(COLOR_YELLOW,string);//это уже сами измените как хотите, зависит от вашего мода и фантазии
Ban(playerid);
}
  • Страница 1 из 1
  • 1
Поиск: