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 Код:
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;
}