SA-MP Forums Archive
Duda funciуn de nombres y duda de las casas - 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: Duda funciуn de nombres y duda de las casas (/showthread.php?tid=607236)



Duda funciуn de nombres y duda de las casas - wharlos - 16.05.2016

Buenas, existe alguna funciуn para colocar en el OnPlayerConnect sobre de que el usuario siempre debe llevar el formato Nombre_Apellido con las iniciales en mayъscula y siempre sea letras? Eso existirб o solo existe la funciуn del "_"?


Sobre las casas no entiendo como hacer una funciуn para saber si el jugador tiene una ID de una casa comprar para colocar la condiciуn en el comando, osea verificar primero si tiene un ID de alguna casa


Respuesta: Duda funciуn de nombres y duda de las casas - Goncho28 - 16.05.2016

Lo de la ID de casa puedes saber si tiene una casa si el valor de la variable "Casa" o como sea en su cuenta es distinto de 0 (o como lo tengas por defecto).

El nombre puedes hacer que se vea mayъscula con Toupper

Saludos.


Respuesta: Duda funciуn de nombres y duda de las casas - wharlos - 16.05.2016

Quote:
Originally Posted by Goncho28
Посмотреть сообщение
Lo de la ID de casa puedes saber si tiene una casa si el valor de la variable "Casa" o como sea en su cuenta es distinto de 0 (o como lo tengas por defecto).

El nombre puedes hacer que se vea mayъscula con Toupper

Saludos.
Pero el problema es que no se que cуdigo es para que identifique si tiene un ID o esta en 0


Respuesta: Duda funciуn de nombres y duda de las casas - Goncho28 - 16.05.2016

Quote:
Originally Posted by wharlos
Посмотреть сообщение
Pero el problema es que no se que cуdigo es para que identifique si tiene un ID o esta en 0
if(variable == 0){
// Si la variable vale 0
}


Respuesta: Duda funciуn de nombres y duda de las casas - wharlos - 16.05.2016

Quote:
Originally Posted by Goncho28
Посмотреть сообщение
if(variable == 0){
// Si la variable vale 0
}
Gracias me funciono, +1 rep


Re: Duda funciуn de nombres y duda de las casas - DeLiC - 21.05.2016

pawn Код:
public OnPlayerConnect(playerid)
{
    new NombreP[MAX_PLAYER_NAME];
    GetPlayerName(playerid, NombreP, sizeof(NombreP));
    if(!NameCheck(NombreP))
    {
        SendClientMessage(playerid, -1, "Tu nombre debe contener el formato: Nombre_Apellido.");
        SetTimerEx("Expulsar", 500, 0, "i", playerid);
        return 1;
    }
    return 1;
}
forward Expulsar(playerid);
public Expulsar(playerid)
{
    if(IsPlayerConnected(playerid)) Kick(playerid);
}
stock NameCheck(const source[]) // Hecho por Konstantinos.
{
    new length = strlen(source);
    if (!(3 <= length <= 20)) return 0;
    new pos = strfind(source, "_");
    if (pos == -1) return 0;
    new    us_count;
    for (new i; i != length; ++i)
    {
        switch (source[i])
        {
            case '_': ++us_count;
        }
        if (!i || i == pos + 1)
        {
            switch (source[i])
            {
                case 'A' .. 'Z': continue;
                default: return 0;
            }
        }
        else if (i && i != pos && i != pos + 1)
        {
            switch (source[i])
            {
                case 'a' .. 'z': continue;
                default: return 0;
            }
        }
    }
    return (us_count == 1 && source[length - 1] != '_');
}



Respuesta: Re: Duda funciуn de nombres y duda de las casas - wharlos - 21.05.2016

Quote:
Originally Posted by DeLiC
Посмотреть сообщение
pawn Код:
public OnPlayerConnect(playerid)
{
    new NombreP[MAX_PLAYER_NAME];
    GetPlayerName(playerid, NombreP, sizeof(NombreP));
    if(!NameCheck(NombreP))
    {
        SendClientMessage(playerid, -1, "Tu nombre debe contener el formato: Nombre_Apellido.");
        SetTimerEx("Expulsar", 500, 0, "i", playerid);
        return 1;
    }
    return 1;
}
forward Expulsar(playerid);
public Expulsar(playerid)
{
    if(IsPlayerConnected(playerid)) Kick(playerid);
}
stock NameCheck(const source[]) // Hecho por Konstantinos.
{
    new length = strlen(source);
    if (!(3 <= length <= 20)) return 0;
    new pos = strfind(source, "_");
    if (pos == -1) return 0;
    new    us_count;
    for (new i; i != length; ++i)
    {
        switch (source[i])
        {
            case '_': ++us_count;
        }
        if (!i || i == pos + 1)
        {
            switch (source[i])
            {
                case 'A' .. 'Z': continue;
                default: return 0;
            }
        }
        else if (i && i != pos && i != pos + 1)
        {
            switch (source[i])
            {
                case 'a' .. 'z': continue;
                default: return 0;
            }
        }
    }
    return (us_count == 1 && source[length - 1] != '_');
}
Esa funciуn es para que siempre le obligue a usar sus iniciales en mayъscula? asн Juan_Acevedo, se ve claramente que es pero si es la que necesito?