SA-MP Forums Archive
Me pueden ayudar con onplayerconnect ? - 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: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Me pueden ayudar con onplayerconnect ? (/showthread.php?tid=297577)



Me pueden ayudar con onplayerconnect ? - Manuel_Franco - 16.11.2011

Hola:

Quiero ver si me pueden ayudar para que al conectarse el jugador impida que se ponga numeros de la siguiente forma:

Alex_213

En 123_Alex si impide que se conecte , pero el de arriba se conecta.

Tambien como impediria que usen mezclados numeros y letras digamos.

Alex213_Camacho

Gracias.


Respuesta: Me pueden ayudar con onplayerconnect ? - [J]ulian - 16.11.2011

pawn Код:
static nombre[MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, nombre, sizeof(nombre));
    if(ComprobarNick(nombre))
    {
        SendClientMessage(playerid, -1, "SERVIDOR: No puedes utilizar nъmeros en el nick.");
        return Kick(playerid);
    }
    return 1;
}

stock ComprobarNick(cuenta[]) // By: Juliбn.
{
    new chars = strlen(cuenta), nn = 0;
    for(new c = 0; c < chars; c++)
        if(cuenta[c] == '1' || cuenta[c] == '2' || cuenta[c] == '3' || cuenta[c] == '3' || cuenta[c] == '4' || cuenta[c] == '5' || cuenta[c] == '6' || cuenta[c] == '7' || cuenta[c] == '8' || cuenta[c] == '9' || cuenta[c] == '0')
            nn += 1;
    if(nn != 0) return 1;
    return 0;
}



Respuesta: Me pueden ayudar con onplayerconnect ? - Mati_IBV - 16.11.2011

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
pawn Код:
static nombre[MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, nombre, sizeof(nombre));
    if(ComprobarNick(nombre))
    {
        SendClientMessage(playerid, -1, "SERVIDOR: No puedes utilizar nъmeros en el nick.");
        return Kick(playerid);
    }
    return 1;
}

stock ComprobarNick(cuenta[]) // By: Juliбn.
{
    new chars = strlen(cuenta), nn = 0;
    for(new c = 0; c < chars; c++)
        if(cuenta[c] == '1' || cuenta[c] == '2' || cuenta[c] == '3' || cuenta[c] == '3' || cuenta[c] == '4' || cuenta[c] == '5' || cuenta[c] == '6' || cuenta[c] == '7' || cuenta[c] == '8' || cuenta[c] == '9' || cuenta[c] == '0')
            nn += 1;
    if(nn != 0) return 1;
    return 0;
}
Lo que el decia que detecte que detecte a un jugador cuando el numero es primero que las letras
es lo mismo que gamerx cuando kickea por "-GamerX- 123asd (ID:47) has been automatically kicked as the first character of their name is numeric"

pero cuando entra con nick asd123 no lo kickea


Respuesta: Me pueden ayudar con onplayerconnect ? - [J]ulian - 16.11.2011

їQue la primer letra sea letra querйs o que todas delante del _ sean letras?


Re: Me pueden ayudar con onplayerconnect ? - Manuel_Franco - 16.11.2011

Cuando es numero de principio si me saca el nick, pero cuando van letras y despues numeros los acepta, deseo que cuando este por ejemplo Luis_235 asi lo kickie.

Gracias.


Respuesta: Re: Me pueden ayudar con onplayerconnect ? - [J]ulian - 16.11.2011

Quote:
Originally Posted by Manuel_Franco
Посмотреть сообщение
Cuando es numero de principio si me saca el nick, pero cuando van letras y despues numeros los acepta, deseo que cuando este por ejemplo Luis_235 asi lo kickie.

Gracias.
Es decir: Letras_Numeros KICKEA. Numeros_Letras NO. їEso querйs? Ahн veo si sale. Dame unos minutos.


Re: Me pueden ayudar con onplayerconnect ? - Manuel_Franco - 16.11.2011

Si eso deseo Letras_Numeros.

Gracias


Respuesta: Me pueden ayudar con onplayerconnect ? - [J]ulian - 16.11.2011

Probб asн:

pawn Код:
static nombre[MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, nombre, sizeof(nombre));
    if(ComprobarNick(nombre))
    {
        SendClientMessage(playerid, -1, "SERVIDOR: No puedes utilizar nъmeros en el nick.");
        return Kick(playerid);
    }
    return 1;
}

stock ComprobarNick(cuenta[])  // By Juliбn
{
    new chars = strlen(cuenta), pos = 0;
    while(pos != chars)
    {
        if(cuenta[pos] == '_') cuenta[pos] = '\0';
        pos++;
    }
    chars = strlen(cuenta), pos = 0;
    for(new c = 0; c < chars; c++)
    {
        if(cuenta[c] == '1' || cuenta[c] == '2' || cuenta[c] == '3' || cuenta[c] == '3' || cuenta[c] == '4' || cuenta[c] == '5' || cuenta[c] == '6' || cuenta[c] == '7' || cuenta[c] == '8' || cuenta[c] == '9' || cuenta[c] == '0')
            pos+=1;
    }
    if(pos != 0) return 0;
    return 1;
}
Si no es lo que queres, probб asн:

pawn Код:
static nombre[MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, nombre, sizeof(nombre));
    if(ComprobarNick(nombre))
    {
        SendClientMessage(playerid, -1, "SERVIDOR: No puedes utilizar nъmeros en el nick.");
        return Kick(playerid);
    }
    return 1;
}

stock ComprobarNick(cuenta[]) // By Juliбn
{
    new chars = strlen(cuenta), pos = 0;
    while(pos != chars)
    {
        if(cuenta[pos] == '_') cuenta[pos] = '\0';
        pos++;
    }
    chars = strlen(cuenta), pos = 0;
    for(new c = 0; c < chars; c++)
    {
        if(cuenta[c] == '1' || cuenta[c] == '2' || cuenta[c] == '3' || cuenta[c] == '3' || cuenta[c] == '4' || cuenta[c] == '5' || cuenta[c] == '6' || cuenta[c] == '7' || cuenta[c] == '8' || cuenta[c] == '9' || cuenta[c] == '0')
            pos+=1;
    }
    if(pos != 0) return 1;
    return 0;
}
Todavнa no entiendo como querйs, pero una de esas 2 es la que necesitas.


Respuesta: Me pueden ayudar con onplayerconnect ? - Mati_IBV - 16.11.2011

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
Probб asн:

pawn Код:
static nombre[MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, nombre, sizeof(nombre));
    if(ComprobarNick(nombre))
    {
        SendClientMessage(playerid, -1, "SERVIDOR: No puedes utilizar nъmeros en el nick.");
        return Kick(playerid);
    }
    return 1;
}

stock ComprobarNick(cuenta[])  // By Juliбn
{
    new chars = strlen(cuenta), pos = 0;
    while(pos != chars)
    {
        if(cuenta[pos] == '_') cuenta[pos] = '\0';
        pos++;
    }
    chars = strlen(cuenta), pos = 0;
    for(new c = 0; c < chars; c++)
    {
        if(cuenta[c] == '1' || cuenta[c] == '2' || cuenta[c] == '3' || cuenta[c] == '3' || cuenta[c] == '4' || cuenta[c] == '5' || cuenta[c] == '6' || cuenta[c] == '7' || cuenta[c] == '8' || cuenta[c] == '9' || cuenta[c] == '0')
            pos+=1;
    }
    if(pos != 0) return 0;
    return 1;
}
Si no es lo que queres, probб asн:

pawn Код:
static nombre[MAX_PLAYER_NAME];
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, nombre, sizeof(nombre));
    if(ComprobarNick(nombre))
    {
        SendClientMessage(playerid, -1, "SERVIDOR: No puedes utilizar nъmeros en el nick.");
        return Kick(playerid);
    }
    return 1;
}

stock ComprobarNick(cuenta[]) // By Juliбn
{
    new chars = strlen(cuenta), pos = 0;
    while(pos != chars)
    {
        if(cuenta[pos] == '_') cuenta[pos] = '\0';
        pos++;
    }
    chars = strlen(cuenta), pos = 0;
    for(new c = 0; c < chars; c++)
    {
        if(cuenta[c] == '1' || cuenta[c] == '2' || cuenta[c] == '3' || cuenta[c] == '3' || cuenta[c] == '4' || cuenta[c] == '5' || cuenta[c] == '6' || cuenta[c] == '7' || cuenta[c] == '8' || cuenta[c] == '9' || cuenta[c] == '0')
            pos+=1;
    }
    if(pos != 0) return 1;
    return 0;
}
Todavнa no entiendo como querйs, pero una de esas 2 es la que necesitas.
Cual de los dos detecta que el numero es primero que las letras?


Re: Me pueden ayudar con onplayerconnect ? - Manuel_Franco - 16.11.2011

Hola:

Ninguno de los 2 me funciono ya que en ambos me cierra el juego hasta con nicks normales.



Gracias.