Me pueden ayudar con onplayerconnect ?
#1

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.
Reply
#2

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;
}
Reply
#3

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
Reply
#4

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

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.
Reply
#6

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.
Reply
#7

Si eso deseo Letras_Numeros.

Gracias
Reply
#8

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.
Reply
#9

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?
Reply
#10

Hola:

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



Gracias.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)