Итак, решил написать анти рекламу IP адресов, чтобы любители прорекламировать свой сервер не могли сделать это так, как они могли делать раньше в наглую и напрямую :P
Итак первое, создаём массив, с именами портов.
stock IPAntiPorts[][] =
{
"5555", "6666", "7777", "8888", "9999"
}; Если нужно добавить ещё, ваше право.
Далее создаём сам механизм определения IP адреса:
Code
stock CheckOnIP(string[])
{
new i;
for(i = sizeof(IPAntiPorts) - 1; i >= 0; i--)
if(strfind(string, IPAntiPorts[i], false, 0) >= 0)
return 1;
if((i = strfind(string, ".", false, 0)) >= 0)
{
new digits;
for (++i; ; i++)
{
switch(string[i])
{
case ' ': if(digits > 0) break; else continue;
case '0'..'9': digits++;
default: break;
}
}
if(digits >= 2) return 1;
}
return 0;
}
И собственно сам пример использования: public OnPlayerText(playerid, text[])
{
if(CheckOnIP(text))
{
SendClientMessage(playerid, Color, "Реклама других серверов запрещена. Погуляй иди немного." );
Ban(playerid);
return 0;
}
return 1;
}
P.S код сами сделаете лесенкой ибо юкоз не позволяет делать это.