SA-MP Forums Archive
Duda con guardado de ip - 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 con guardado de ip (/showthread.php?tid=388830)



Duda con guardado de ip - Jose_grana - 30.10.2012

Hola. Hice un sistema con el cual quiero que se guarde en la informacion de cada user la ip que tiene.
Una vez salga y entre se compruebe la ip guardada y si es la misma le avise que es la misma y si es diferente que le diga que es distinta.

Aquн lo que hice:

Asi la obtengo y guardo:

pawn Код:
if (strcmp("/vIp", cmdtext, true, 10) == 0)
    {
        new ip[32];

        GetPlayerIp(playerid,ip,sizeof(ip));
        format(string, sizeof(string), "Tu IP es %s", ip);
        SendClientMessage(playerid, Rojo, string);
        GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
        return 1;
    }
Y en onplayerconect

pawn Код:
GetPlayerIp(i, PlayerInfo[i][pIP], 32);

        new tempip[32];
        GetPlayerIp(playerid, tempip, 32);
        if(strcmp(tempip, Info[playerid][pIP], true))
        {
            SendClientMessage(playerid, COLOR_WHITE, "Ip distinta");
            return 1;
        }
        else if
        {
            SendClientMessage(playerid, COLOR_WHITE, "Ip igual");
            return 1;
        }
Y asi lo guardo:

pawn Код:
pIP[32],
pawn Код:
PlayerConect
pawn Код:
PlayerInfo[playerid][pIP] = 0;
OnPlayerLogin

pawn Код:
if( strcmp( key , "IpJugador" , true ) == 0 ) { val = ini_GetValue( Data ); strmid(PlayerInfo[playerid][pIP], val, 0, strlen(val)-1, 255); }

OnPlayerRegister

pawn Код:
format(var, 32, "IpJugador=%.1f\n",PlayerInfo[playerid][pIP]);fwrite(hFile, var);
OnPlayerUpdate

pawn Код:
format(var, 32, "IpJugador=%.1f\n",PlayerInfo[playerid][pIP]);fwrite(hFile, var);

Pero o la guarda con 2 numeros o con 0.0

їAlguna ayuda?


Respuesta: Duda con guardado de ip - Fluid016 - 30.10.2012

%.1f eso es float ejemplo 14124.12

guardalo con %d o con %i


Respuesta: Duda con guardado de ip - Jordan98 - 30.10.2012

Para que muestre la IP, usa %d.


Respuesta: Duda con guardado de ip - Fluid016 - 30.10.2012

Quote:
Originally Posted by Jordan98
Посмотреть сообщение
Para que muestre la IP, usa %d.
No repitas.
Se lo dije arriba.


Respuesta: Duda con guardado de ip - OTACON - 30.10.2012

Usa %Ў o %d


Respuesta: Duda con guardado de ip - Jose_grana - 30.10.2012

Si lo defino con %d me sale solo 2 numeros aleatorios.


Respuesta: Duda con guardado de ip - Fluid016 - 30.10.2012

Quote:
Originally Posted by Jose_grana
Посмотреть сообщение
Si lo defino con %d me sale solo 2 numeros aleatorios.
entonces con %i o metelo en una cadena de texto


Respuesta: Duda con guardado de ip - TheChaoz - 30.10.2012

Estan todos mal. La ip retornada por la funcion GetPlayerIp devuelve un string y no puede ser guardado como float ni como integer. Para insertar cadenas de texto (strings) mediante la funcion format, se utiliza '%s'.


Respuesta: Duda con guardado de ip - Jose_grana - 30.10.2012

Muchнsimas gracias The Chaoz lo probй y efectivamente, ahora ya las guarda correctamente!. Muchнsimas gracias una vez mas


Respuesta: Duda con guardado de ip - EzeHermes - 01.11.2012

Esto estб mal:

pawn Код:
if (strcmp("/vIp", cmdtext, true, 10) == 0)    
{        
    new ip[32];        
    GetPlayerIp(playerid,ip,sizeof(ip));        
    format(string, sizeof(string), "Tu IP es %s", ip);        
    SendClientMessage(playerid, Rojo, string);        
    GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);        
    return 1;    
}
Serнa:

pawn Код:
if(strcmp("/vIp", cmdtext, true) == 0)    
{        
    new ip[20];        
    GetPlayerIp(playerid,ip,sizeof(ip));        
    format(string, sizeof(string), "Tu IP es %s", ip);        
    SendClientMessage(playerid, Rojo, string);        
    format(PlayerInfo[playerid][pIP], 20, "%s", ip);
    return 1;    
}
Esto tambiйn:

pawn Код:
GetPlayerIp(i, PlayerInfo[i][pIP], 32);        
new tempip[32];        
GetPlayerIp(playerid, tempip, 32);        
if(strcmp(tempip, Info[playerid][pIP], true))        
{            
    SendClientMessage(playerid, COLOR_WHITE, "Ip distinta");            
    return 1;        
}        
else if        
{            
    SendClientMessage(playerid, COLOR_WHITE, "Ip igual");            
    return 1;        
}
Serнa:

pawn Код:
//Quitar lo que tienes aquн
new tempip[20];        
GetPlayerIp(playerid, tempip, sizeof(tempip));
if(strcmp(tempip, Info[playerid][pIP], true) == 0)  
{            
    SendClientMessage(playerid, COLOR_WHITE, "Ip igual");            
    return 1;        
}        
else        
{            
    SendClientMessage(playerid, COLOR_WHITE, "Ip distinta");            
    return 1;        
}