SA-MP Forums Archive
[Pedido] Nick Apenas Nome_Sobrenome - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] Nick Apenas Nome_Sobrenome (/showthread.php?tid=664739)



Nick Apenas Nome_Sobrenome - SmokeKiLL - 09.03.2019

Estou tentando colocar para apenas o player logar com Nome_Sobrenome, se ele logar com outro formato desse vai ser kickado Ex: Nome_Sobrenome_ mas nгo estou conseguindo, alguйm pode me ajudar?


Re: Nick Apenas Nome_Sobrenome - Paulthaz - 09.03.2019

Code:
IsValidNick(const string[])
{
    new UnderLine,Mark = 0;
    for(new i; i < strlen(string); i++)
    {
        if((string[i] < 'A' || string[i] > 'Z') && (string[i] < 'a' || string[i] > 'z') && string[i] != '_')
            return false;

        if(string[i] == '_')
        {
            UnderLine++;
            Mark = i+1;
            if(UnderLine > 1)
                return false;
        }
    }
    if(UnderLine == 0)
        return false;

    if((string[Mark] < 'A' || string[Mark] > 'Z') && (string[Mark] < 'a' || string[Mark] > 'z'))
        return false;

    return true;
}
`

Se quiser fazer mais RP

Code:
Invalidos:

ArthuR_SandovAL
Murilo_
Joao_Silva045

Validos:

Arthur_Sandoval
Murilo_Silva



Re: Nick Apenas Nome_Sobrenome - Malandrin - 09.03.2019

Sim ele terб falhas caso o jogador tenha "_" em qualquer parte do nick, mas ele funciona...

PHP Code:
public OnPlayerConnect(playerid)
{
    new 
              
nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnomeMAX_PLAYER_NAME);

    if(
CheckPlayerNick(nome) == 0){
        
SendClientMessage(playerid, -1"Info: Vocк foi kickado pois seu nick nгo se encontra nos padrхes do servidor.");
        
SendClientMessage(playerid, -1"Info: Nick padrгo 'Nome_Sobrenome'");
        
Kick(playerid);
    }
    return 
1;
}

CheckPlayerNick(text[]) 

    for(new 
astrlen(text); ++a
    { 
        if(
text[a] == '_') return 1;
    } 
    return 
0