SA-MP Forums Archive
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 
0len strlen(name); != len++) {
        if ((
== 0) && (name[i] < 'A' || name[i] > 'Z'))
            return 
0;
        else if ((
!= && len  && name[i] == '_') && (name[1] < 'A' || name[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(playeridNamesizeof(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 
0len strlen(name); != len++) {
        if ((
== 0) && (name[i] < 'A' || name[i] > 'Z'))
            return 
0;
        else if ((
!= && len  && name[i] == '_') && (name[1] < 'A' || name[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(playeridNamesizeof(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 
0len strlen(name); != len++) {
        if ((
== 0) && (name[i] < 'A' || name[i] > 'Z'))
            return 
0;
        else if ((
!= && len  && name[i] == '_') && (name[1] < 'A' || name[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(playeridNamesizeof(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