Validador de nombres de RP
pawn Код:
stock NameValidator(playerid)
{
if(IsPlayerConnected(playerid))
{
new pname[MAX_PLAYER_NAME],underline=0;
GetPlayerName(playerid, pname, sizeof(pname));
if(strfind(pname,"[",true) != (-1)) return 0;
else if(strfind(pname,"]",true) != (-1)) return 0;
else if(strfind(pname,"$",true) != (-1)) return 0;
else if(strfind(pname,"(",true) != (-1)) return 0;
else if(strfind(pname,")",true) != (-1)) return 0;
else if(strfind(pname,"=",true) != (-1)) return 0;
else if(strfind(pname,"@",true) != (-1)) return 0;
else if(strfind(pname,"1",true) != (-1)) return 0;
else if(strfind(pname,"2",true) != (-1)) return 0;
else if(strfind(pname,"3",true) != (-1)) return 0;
else if(strfind(pname,"4",true) != (-1)) return 0;
else if(strfind(pname,"5",true) != (-1)) return 0;
else if(strfind(pname,"6",true) != (-1)) return 0;
else if(strfind(pname,"7",true) != (-1)) return 0;
else if(strfind(pname,"8",true) != (-1)) return 0;
else if(strfind(pname,"9",true) != (-1)) return 0;
new maxname = strlen(pname);
for(new i=0; i<maxname; i++)
{
if(pname[i] == '_') underline ++;
}
if(underline != 1) return 0;
pname[0] = toupper(pname[0]);
for(new x=1; x<maxname; x++)
{
if(pname[x] == '_') pname[x+1] = toupper(pname[x+1]);
else if(pname[x] != '_' && pname[x-1] != '_') pname[x] = tolower(pname[x]);
}
SetPlayerName(playerid, "New_Name"); //їHarб falta? їSi? їNo? їQuien sabe? їWIki? їAH, que hace falta? Ok pues lo dejo.
SetPlayerName(playerid, pname);
return 1;
}
return 0;
}
pawn Код:
public OnPlayerConnect(playerid)
{
new string[256];
NameValidator(playerid);
if(NameValidator(playerid) == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
SendClientMessage(playerid, COLOR, "AYUDA: Tu nombre no es vбlido. Debe ser un nombre real.");
SendClientMessage(playerid, COLOR, "AYUDA: Tu nombre tiene que segir el formato de Nombre_Apellido (Mayъsculas incluidas)");
Kick(playerid);
format(string, 256, "{9C9C41}[KICK] {FFFFA1}%s {9BAF00}ha sido auto-{00FF00}kickeado {FFFFFF}| {FF8E26}Razуn: {FFFFC0}Nombre NO-RP{FFFFFF}|", pname);
SendClientMessageToAll(COLOR, string);
return 1;
}
//Tus otros cуdigos
return 1;
}