TawerGhetto1488
Ученик
Добрый день, уважаемые пользователи PAWNO-INFO.RU
Выкладываю простейшую проверку на NonRP ник для Role Play серверов.
Знаю, что много было подобных мануалов, но может кому то нужно это.
Данная проверка очень интересная тем, что нельзя создавать например такие ники:
kek_Kek, kek_kek, kEk_Kek, Kek_kek_Kek и т.д
Для начала в любое место в моде добавим это:
Выкладываю простейшую проверку на NonRP ник для Role Play серверов.
Знаю, что много было подобных мануалов, но может кому то нужно это.
Данная проверка очень интересная тем, что нельзя создавать например такие ники:
kek_Kek, kek_kek, kEk_Kek, Kek_kek_Kek и т.д
Для начала в любое место в моде добавим это:
PHP:
NonRp(playerid)
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, MAX_PLAYER_NAME);
if(strfind(plname, "huy", true) != -1 || strfind(plname, "None", true) != -1 || strfind(plname, "chlen", true) != -1 || strfind(plname, "zalypa", true) != -1 || strfind(plname, "zalupa", true) != -1 || strfind(plname, "tawer", true) != -1 || strfind(plname, "eblan", true) != -1 || strfind(plname, "mudak", true) != -1 || strfind(plname, "huesos", true) != -1 || strfind(plname, "pidor", true) != -1) return false;
new bigsymb = 0,lowsymb = 0;
switch(plname[0])
{
case 'a'..'z': return false;
}
for(new i, l = strlen(plname); i != l; i++)
{
switch(plname[i])
{
case 'À'..'ß', 'à'..'ÿ', ' ': return false;
case '_':
{
lowsymb++;
switch(plname[i+1])
{
case 'a'..'z': return false;
}
}
case '0'..'9': return false;
case '[', ']' ,'{','}','$','#','?','"','@','!',';','%','^',':','-','&','*','(',')','=','+','<','>': return false;
case 'A'..'Z':
{
bigsymb++;
if(bigsymb >= 3) return false;
}
}
}
if(lowsymb != 1) return false;
if(strlen(plname) < 5) return false;
return true;
}
После остается всего ничего и добавляем в public OnPlayerConnect проверку:
PHP:
if(!NonRp(playerid))
{
ShowPlayerDialog(playerid, любой пустой ид диалога, DIALOG_STYLE_MSGBOX, "Заголовок", "Текст", "клавиша1", "клавиша2");
Tkick(playerid);
}
Моя функция Tkick:
PHP:
#define Tkick(%1) SetTimerEx("kick", 1000, false, "i", %1)
publics kick(playerid)
{
Kick(playerid);
return true;
}
PHP:
#define publics%0(%1) forward%0(%1); public%0(%1)
Думаю, что это кому то, да понадобилось!
Всем спасибо за внимание.
