[Funciones] Postea tus funciones aqui!
#35

PHP Code:
stock ValidateRoleplayName(playerid)
{
    new
        
name[MAX_PLAYER_NAME]
    ;
    
GetPlayerName(playeridnamesizeof(name));
    
    new
        
new_name[MAX_PLAYER_NAME];
    
    
format(new_namesizeof(new_name), ConvertNameToRoleplay(name));
    
    if(
isnull(new_name))
    {
        return -
1;
    }
    else
    {
        new 
tempName[MAX_PLAYER_NAME];
        
format(tempNamesizeof(tempName), "player_%i"playerid);
        
SetPlayerName(playeridtempName);
        
        
SetPlayerName(playeridnew_name);
    }
    return 
1;
}
stock ConvertNameToRoleplay(name[])
{
    new
        
pos strfind(name"_"true),
        
new_name[MAX_PLAYER_NAME]
    ;
    
    if(
pos == -1)
    {
        
// his name not is roleplay
        
return new_name;
    }
    new
        
firstChar GetASCIIDec(name),
        
firstCharID 0,
        
changeFirstChar = -1,
        
changeSecondChar = -1
    
;
        
    if(!
charIsLetter(firstChar))
    {
        
// his name not is roleplay
        
return new_name;
    }
    else{
        if(
charIsLetterLowercase(firstChar))
        {
            
// Su inicial es minuscula
            
changeFirstChar firstChar;
        }
    }
    new 
secondCharID pos+1;
    
    if(
name[secondCharID] == '\0')
    {
        
// his name not is roleplay
        
return new_name;
    }
    else{
        new 
secoundChar GetASCIIDec(name[secondCharID]);
        if(!
charIsLetter(secoundChar))
        {
            
// his name not is roleplay
            
return new_name;
        }
        else
        {
            if(
charIsLetterLowercase(secoundChar))
            {
                
changeSecondChar secoundChar;
            }
        }
    }
    
format(new_namesizeof(new_name), name);
    if(
changeFirstChar != -1)
        
new_name[firstCharID] = GetMayusASCII(changeFirstChar);
    if(
changeSecondChar != -1)
        
new_name[secondCharID] = GetMayusASCII(changeSecondChar);
    return 
new_name;
}
stock GetMayusASCII(charid)
{
    if(!
charIsLetterLowercase(charid))
        return 
charid;
        
    return 
charid-32;
}
stock GetASCIIDec(str[])
{
    new
        
s[4]
    ;
    
format(ssizeof(s), "%c"str);
    
format(ssizeof(s), "%i"s);
    return 
strval(s);
}
stock charIsLetter(decimal)
    return 
decimal >= 65 && decimal <= 90 || decimal >= 97 && decimal <= 122;
stock charIsLetterLowercase(decimal)
    return 
decimal >= 97 && decimal <= 122
Ejemplo de uso:

PHP Code:
public OnPlayerConnect(playerid)
{
    if(
ValidateRoleplayName(playerid) == -1)
    {
        
// Nombre no es Ropleay
        
Kick(playerid);
    }
    
// No es necesario un else, pues si es valido pero no cumple con las mayusculas lo va a kickear nada mas.

Mбs bien es una mezcla de funciones, permite expulsar al jugador si su nombre no cumple con el formato Nombre_Apellido, y en caso de tener nombre_Apellido, Nombre_apellido a Nombre_Apellido, pronto le arreglarй mбs funciones a la funciуn xD la tenнa ahн y puede resultar interesante.
Reply


Messages In This Thread
[Funciones] Postea tus funciones aqui! - by MrDeath537 - 28.02.2010, 16:02
Re: [Off-topic - Funciones] Postea tus funciones aqui! - by CristianTdj - 28.02.2010, 23:38
Re: [Off-topic - Funciones] Postea tus funciones aqui! - by MrDeath537 - 01.03.2010, 10:10
Re: [Off-topic - Funciones] Postea tus funciones aqui! - by CristianTdj - 01.03.2010, 11:06
Re: [Off-topic - Funciones] Postea tus funciones aqui! - by TheChaoz - 01.03.2010, 12:10
Re: [Off-topic - Funciones] Postea tus funciones aqui! - by MrDeath537 - 01.03.2010, 12:43
Re: [Off-topic - Funciones] Postea tus funciones aqui! - by camiloasc1 - 01.03.2010, 14:45
Re: [Off-topic - Funciones] Postea tus funciones aqui! - by Zamaroht - 01.03.2010, 15:51
Re: [Funciones] Postea tus funciones aqui! - by Chiri - 01.03.2010, 16:00
Re: [Funciones] Postea tus funciones aqui! - by MrDeath537 - 20.03.2010, 07:24
Re: [Funciones] Postea tus funciones aqui! - by CristianTdj - 23.03.2010, 14:45
Re: [Funciones] Postea tus funciones aqui! - by CristianTdj - 23.03.2010, 14:47
Re: [Funciones] Postea tus funciones aqui! - by CristianTdj - 23.03.2010, 14:49
Re: [Funciones] Postea tus funciones aqui! - by CristianTdj - 23.03.2010, 14:50
Re: [Funciones] Postea tus funciones aqui! - by xenowort - 23.03.2010, 15:53
Re: [Funciones] Postea tus funciones aqui! - by MrDeath537 - 25.03.2010, 01:04
Re: [Funciones] Postea tus funciones aqui! - by [SRG]Toxic_Racer - 27.03.2010, 00:32
Re: [Funciones] Postea tus funciones aqui! - by Zamaroht - 27.03.2010, 00:58
Re: [Funciones] Postea tus funciones aqui! - by Cesar_Biker - 27.03.2010, 11:43
Respuesta: [Funciones] Postea tus funciones aqui! - by SuperMarioRol - 13.02.2011, 10:13
Respuesta: [Funciones] Postea tus funciones aqui! - by SuperMarioRol - 17.02.2011, 19:20
Respuesta: [Funciones] Postea tus funciones aqui! - by leaNN! - 17.02.2011, 19:22
Respuesta: [Funciones] Postea tus funciones aqui! - by SuperMarioRol - 17.02.2011, 19:31
Re: [Funciones] Postea tus funciones aqui! - by admantis - 17.02.2011, 20:43
Respuesta: Re: [Funciones] Postea tus funciones aqui! - by TheChaoz - 17.02.2011, 22:23
Re: [Funciones] Postea tus funciones aqui! - by MrDeath537 - 17.02.2011, 23:57
Respuesta: Re: [Funciones] Postea tus funciones aqui! - by Lunnatiicz - 18.02.2011, 00:16
Re: Respuesta: Re: [Funciones] Postea tus funciones aqui! - by admantis - 19.02.2011, 02:40
Respuesta: Re: Respuesta: Re: [Funciones] Postea tus funciones aqui! - by TheChaoz - 19.02.2011, 20:12
Respuesta: Re: [Off-topic - Funciones] Postea tus funciones aqui! - by Lunnatiicz - 19.02.2011, 21:30
Respuesta: [Funciones] Postea tus funciones aqui! - by Zume - 14.08.2015, 00:06
Respuesta: [Funciones] Postea tus funciones aqui! - by wharlos - 16.05.2016, 23:33
Re: Respuesta: [Funciones] Postea tus funciones aqui! - by KevinReinke - 17.05.2016, 00:24
Re: [Funciones] Postea tus funciones aqui! - by zSuYaNw - 17.06.2016, 03:35
Respuesta: [Funciones] Postea tus funciones aqui! - by Zume - 31.07.2016, 22:39
Re: [Funciones] Postea tus funciones aqui! - by UnGodly - 20.09.2016, 15:30
Respuesta: [Funciones] Postea tus funciones aqui! - by Swedky - 18.11.2016, 20:15

Forum Jump:


Users browsing this thread: 5 Guest(s)