Duda Dini
#1

Hice un cmd para dar rango. Primero el puse q solo el dueño del clan pueda dar rango. Pero ahora le agrege una una variable q le de rango 1 cuando acepta entrar al clan. y teniendo rango 5 pueda dar rango a los demas

PHP код:
dini_IntSet(pFile"Rango"1); 
pero solo detecta al dueño y no al rango
PHP код:
if(strcmp(dini_Get(gFile"Rango"), "5") || strcmp(dini_Get(gFile"Dueno"), PlayerName(playerid), false))
{
SendClientMessaje(playerid, -1"Tu no eres el dueño de la banda o no tienes rango 5");
 return 
1;
}
else

Tambien lo hice asi

PHP код:
if(strcmp(dini_Get(gFile"Rango"), "5"false) || strcmp(dini_Get(gFile"Dueno"), PlayerName(playerid), false))
{
SendClientMessaje(playerid, -1"Tu no eres el dueño de la banda o no tienes rango 5");
 return 
1;
}
else

Pero funciona teniendo el rango 1,2,3,4,5
Reply
#2

ivan23, las cadenas de caracteres (strings) no pueden ser tratadas como los otros tipos de variables. їPor quй te digo esto?

Porque esto no es correcto:
pawn Код:
x = "insertar texto aqui";
Ni esto:
pawn Код:
strcmp(dini_Get(gFile, "Rango"), "5", false)
Yo no se que devuelve dini_Get pero estoy casi seguro que no devuelve una cadena de caracteres porque simplemente no es posible hacerlo. Apuesto que devuelve un nъmero entero y tampoco puedes comparar una cadena con un nъmero entero.

їTus opciones? Meter el nъmero en una cadena y luego comparar esa ъltima con "5".
pawn Код:
new str_rango[3];

format(str_rango, sizeof(str_rango), "%d", dini_Get(gFile, "Rango"));
if (!strcmp(str_rango, "5", true))
{
    // Cуdigo.
}
La segunda opciуn (mucho mejor que la primera) es comparar directamente los nъmeros enteros, sin usar strcmp.
pawn Код:
if (dini_Get(gFile, "Rango") == 5)
{
    // Cуdigo.
}
Y asн con todas las condiciones. Debes estar atento y saber que devuelven las funciones (dini_Get por ejemplo).
Reply
#3

No funciono. no detecta el rango. Le puse para q solo detecte al rango 5 y no al dueño. pero igual

Aqui el cmd original

PHP код:
CMD:rango(playeridparams[])
{
          
format(pFilesizeof(pFile), "Clanes/%s.ini"PlayerName(playerid));
        if(!
dini_Exists(pFile))
          {
            
SendClientMessage(playerid, -1"Tu no tienes banda");
            return 
1;
          }
        else if(
dini_Exists(pFile))
          {
              if(
strcmp(dini_Get(pFile"Clan"), "Ninguno"true) == 0)
              {
                  
SendClientMessage(playerid, -1"No tienes banda");
                  return 
1;
            }
            else if(
strcmp(dini_Get(pFile"Clan"), "Ninguno"false))
            {
                
format(gFilesizeof(gFile), "Clanes/%s.ini"dini_Get(pFile"Clan"));
                if(
strcmp(dini_Get(gFile"Dueno"), PlayerName(playerid), false))
                {
                    
SendClientMessage(playerid, -1"No eres dueño de la banda");
                    return 
1;
                }
                else
                {
                    new 
miembrorango;
                    if(
sscanf(params"dd"miembrorango))return SendClientMessage(playerid, -1"Usa "cAmarillo"/rango "cBlanco"["cAmarillo"ID de miembro"cBlanco"]["cAmarillo"rango"cBlanco"]");
                       if(
miembro || miembro 15)return SendClientMessage(playerid, -1"Uso correcto "cAmarillo"/rango ["cAmarillo"1 "cBlanco"- "cAmarillo"15"cBlanco"]["cAmarillo"1 "cBlanco"- "cAmarillo"5"cBlanco"].");
                    new 
dotext[16];
                    switch(
rango)
                    {
                        case 
1dotext "Novato";
                        case 
2dotext "Aprendiz";
                        case 
3dotext "Reclutador";
                        case 
4dotext "Comandante";
                        case 
5dotext "Sub-Lider";
                    }
                    if(
miembro == 1)
                    {
                        if(
strcmp(dini_Get(gFile"Miembro1"), "Vacio"true) == 0)return SendClientMessage(playerid, -1"No hay ningun miembro de tu banda en ese numero 1!");
                        if(
rango || rango 5)return SendClientMessage(playerid, -1"rango 1-5.");
                        
format(gstring2sizeof(gstring2), "Clanes/%s.ini"PlayerName(miembro));
                        
MensagemFormatada(playerid, -1"Le diste a "cAmarillo"%s "cBlanco"el rango de "cAmarillo"%s"cBlanco"."dini_Get(gFile"Miembro1"), dotext);
                        
dini_IntSet(pFile"Rango"rango);
                        return 
1;
                    } 
Asi es como lo hice

PHP код:
CMD:rango(playeridparams[])
{
          
format(pFilesizeof(pFile), "Clanes/%s.ini"PlayerName(playerid));
        if(!
dini_Exists(pFile))
          {
            
SendClientMessage(playerid, -1"Tu no tienes banda");
            return 
1;
          }
        else if(
dini_Exists(pFile))
          {
              if(
strcmp(dini_Get(pFile"Clan"), "Ninguno"true) == 0)
              {
                  
SendClientMessage(playerid, -1"No tienes banda");
                  return 
1;
            }
            else if(
strcmp(dini_Get(pFile"Clan"), "Ninguno"false))
            {
                
//format(gFile, sizeof(gFile), "Clanes/%s.ini", dini_Get(pFile, "Clan"));
                
format(gFilesizeof(gFile), "Clanes/%s.ini"dini_Get(pFile"Rango"));
                
//if(strcmp(dini_Get(gFile, "Dueno"), PlayerName(playerid), false))
                
if(dini_Int(gFile"Rango") == 5)
                {
                    
SendClientMessage(playerid, -1"No tienes rango 5");
                    return 
1;
                }
                else
                {
                    new 
miembrorango;
                    if(
sscanf(params"dd"miembrorango))return SendClientMessage(playerid, -1"Usa "cAmarillo"/rango "cBlanco"["cAmarillo"ID de miembro"cBlanco"]["cAmarillo"rango"cBlanco"]");
                       if(
miembro || miembro 15)return SendClientMessage(playerid, -1"Uso correcto "cAmarillo"/rango ["cAmarillo"1 "cBlanco"- "cAmarillo"15"cBlanco"]["cAmarillo"1 "cBlanco"- "cAmarillo"5"cBlanco"].");
                    new 
dotext[16];
                    switch(
rango)
                    {
                        case 
1dotext "Novato";
                        case 
2dotext "Aprendiz";
                        case 
3dotext "Reclutador";
                        case 
4dotext "Comandante";
                        case 
5dotext "Sub-Lider";
                    }
                    if(
miembro == 1)
                    {
                        if(
strcmp(dini_Get(gFile"Miembro1"), "Vacio"true) == 0)return SendClientMessage(playerid, -1"No hay ningun miembro de tu banda en ese numero 1!");
                        if(
rango || rango 5)return SendClientMessage(playerid, -1"rango 1-5.");
                        
format(gstring2sizeof(gstring2), "Clanes/%s.ini"PlayerName(miembro));
                        
MensagemFormatada(playerid, -1"Le diste a "cAmarillo"%s "cBlanco"el rango de "cAmarillo"%s"cBlanco"."dini_Get(gFile"Miembro1"), dotext);
                        
dini_IntSet(pFile"Rango"rango);
                        return 
1;
                    } 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)