I need help with player name - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: I need help with player name (
/showthread.php?tid=634989)
I need help with player name -
akib - 30.05.2017
hi
how is this possible?
onplayerconnect if player using firstname_lastname format then he/she can play else kicked
example :
allowed name is : Akib_Khan
disallowed name is : [SAMP]Khan or [SAMP]Akib_Khan
Re: I need help with player name -
Kane - 30.05.2017
Add:
PHP код:
stock IsValidRoleplayName(const name[]) {
if (!name[0] || strfind(name, "_") == -1)
return 0;
else for (new i = 0, len = strlen(name); i != len; i ++) {
if ((i == 0) && (name[i] < 'A' || name[i] > 'Z'))
return 0;
else if ((i != 0 && i < len && name[i] == '_') && (name[i + 1] < 'A' || name[i + 1] > 'Z'))
return 0;
else if ((name[i] < 'A' || name[i] > 'Z') && (name[i] < 'a' || name[i] > 'z') && name[i] != '_' && name[i] != '.')
return 0;
}
return 1;
}
And OnPlayerConnect:
PHP код:
public OnPlayerConnect(playerid)
{
new Name[128];
GetPlayerName(playerid, Name, sizeof(Name));
if(!IsValidRoleplayName(Name))
{
SendClientMessage(playerid, -1, "You were kicked because of your name. The server only accepts character names, i.e Kendrick_Lamar.");
KickEx(playerid);
return false;
}
return true;
}
Re: I need help with player name -
StrikerZ - 30.05.2017
Quote:
Originally Posted by Arthur Kane
Add:
PHP код:
stock IsValidRoleplayName(const name[]) {
if (!name[0] || strfind(name, "_") == -1)
return 0;
else for (new i = 0, len = strlen(name); i != len; i ++) {
if ((i == 0) && (name[i] < 'A' || name[i] > 'Z'))
return 0;
else if ((i != 0 && i < len && name[i] == '_') && (name[i + 1] < 'A' || name[i + 1] > 'Z'))
return 0;
else if ((name[i] < 'A' || name[i] > 'Z') && (name[i] < 'a' || name[i] > 'z') && name[i] != '_' && name[i] != '.')
return 0;
}
return 1;
}
And OnPlayerConnect:
PHP код:
public OnPlayerConnect(playerid)
{
new Name[128];
GetPlayerName(playerid, Name, sizeof(Name));
if(!IsValidRoleplayName(Name))
{
SendClientMessage(playerid, -1, "You were kicked because of your name. The server only accepts character names, i.e Kendrick_Lamar.");
KickEx(playerid);
return false;
}
return true;
}
|
Indentation please and yep, he doesn't even have KickEx stock I bet.
Re: I need help with player name -
akib - 30.05.2017
Quote:
Originally Posted by Arthur Kane
Add:
PHP код:
stock IsValidRoleplayName(const name[]) {
if (!name[0] || strfind(name, "_") == -1)
return 0;
else for (new i = 0, len = strlen(name); i != len; i ++) {
if ((i == 0) && (name[i] < 'A' || name[i] > 'Z'))
return 0;
else if ((i != 0 && i < len && name[i] == '_') && (name[i + 1] < 'A' || name[i + 1] > 'Z'))
return 0;
else if ((name[i] < 'A' || name[i] > 'Z') && (name[i] < 'a' || name[i] > 'z') && name[i] != '_' && name[i] != '.')
return 0;
}
return 1;
}
And OnPlayerConnect:
PHP код:
public OnPlayerConnect(playerid)
{
new Name[128];
GetPlayerName(playerid, Name, sizeof(Name));
if(!IsValidRoleplayName(Name))
{
SendClientMessage(playerid, -1, "You were kicked because of your name. The server only accepts character names, i.e Kendrick_Lamar.");
KickEx(playerid);
return false;
}
return true;
}
|
Thanks buddy!

Re: I need help with player name -
Cadilab - 30.05.2017
My recommendation would be to use regex.
Re: I need help with player name -
GoldenLion - 30.05.2017
Quote:
Originally Posted by Sunehildeep
stock
|
https://sampforum.blast.hk/showthread.php?tid=570635