їPorquй se me guarda dos veces? Y_INI + REP. -
xHanks - 04.08.2014
Bueno, yo me registro y tengo lo siguiente:
Код:
[Cuenta]
Contraseсa = test123
Dinero = 1000
Banco = 5000
Administrador = 0
Skin = 5
PosicionX = 10.000000
PosicionY = 10.000000
PosicionZ = 10.000000
Entonces al desconectarme pasa a esto:
Код:
PosicionX = 1552.196899
PosicionY = -1675.167968
PosicionZ = 16.181770
Administrador = 0
Dinero = 0
[Cuenta]
Contraseсa = test123
Dinero = 1000
Banco = 5000
Administrador = 0
Skin = 5
PosicionX = 10.000000
PosicionY = 10.000000
PosicionZ = 10.000000
Cуdigo pawn:
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
new string[150], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "/Usuarios/%s.ini", name);
new INI:File = INI_Open(string);
GetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]);
INI_SetTag(File,"Cuenta");
INI_WriteFloat( File, "PosicionX", pInfo[playerid][PosX] );
INI_WriteFloat( File, "PosicionY", pInfo[playerid][PosY] );
INI_WriteFloat( File, "PosicionZ", pInfo[playerid][PosZ] );
INI_WriteInt( File, "Administrador", pInfo[playerid][pAdministrador] );
INI_WriteInt( File, "Dinero", pInfo[playerid][pDinero] );
INI_Close(File);
return 1;
}
Respuesta: їPorquй se me guarda dos veces? Y_INI + REP. -
fabianlamas33 - 04.08.2014
1234 fail
Re: Respuesta: їPorquй se me guarda dos veces? Y_INI + REP. -
xHanks - 04.08.2014
Quote:
Originally Posted by DesingP
pawn Код:
public OnPlayerDisconnect(playerid, reason) { new string[150], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); format(string, sizeof(string), "/Usuarios/%s.ini", name); GetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]); return 1; }
|
Prefiero no contestar, cuando venga alguien con minimos conocimientos Pawno os lo agradecerй.
Re: їPorquй se me guarda dos veces? Y_INI + REP. -
chusothe41 - 04.08.2014
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
new string[150], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "/Usuarios/%s.ini", name);
new INI:File = INI_Open(string);
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid, x,y,z);
INI_SetTag(File,"Cuenta");
INI_WriteFloat( File, "PosicionX", x );
INI_WriteFloat( File, "PosicionY", y );
INI_WriteFloat( File, "PosicionZ", z );
INI_WriteInt( File, "Administrador", pInfo[playerid][pAdministrador] );
INI_WriteInt( File, "Dinero", pInfo[playerid][pDinero] );
INI_Close(File);
return 1;
}
Re: їPorquй se me guarda dos veces? Y_INI + REP. -
xHanks - 04.08.2014
Quote:
Originally Posted by chusothe41
pawn Код:
public OnPlayerDisconnect(playerid, reason) { new string[150], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); format(string, sizeof(string), "/Usuarios/%s.ini", name); new INI:File = INI_Open(string); new Float:x,Float:y,Float:z; GetPlayerPos(playerid, x,y,z); INI_SetTag(File,"Cuenta"); INI_WriteFloat( File, "PosicionX", x ); INI_WriteFloat( File, "PosicionY", y ); INI_WriteFloat( File, "PosicionZ", z ); INI_WriteInt( File, "Administrador", pInfo[playerid][pAdministrador] ); INI_WriteInt( File, "Dinero", pInfo[playerid][pDinero] ); INI_Close(File); return 1; }
|
REPITO: EL PROBLEMA NO ESTБ EN EL GUARDADO, GUARDAR GUARDA BIEN SOLO QUE AVECES SE CREA OTRA VEZ EL TAG Y SE GUARDA ABAJO, ASН TENIENDO DOS VECES CASA VARIABLE AL ARCHIVO INI.
Respuesta: Re: їPorquй se me guarda dos veces? Y_INI + REP. -
Adoniiz - 04.08.2014
Quote:
Originally Posted by xHanks
REPITO: EL PROBLEMA NO ESTБ EN EL GUARDADO, GUARDAR GUARDA BIEN SOLO QUE AVECES SE CREA OTRA VEZ EL TAG Y SE GUARDA ABAJO, ASН TENIENDO DOS VECES CASA VARIABLE AL ARCHIVO INI.
|
Explicate, por quй dices que se repite dos veces las mismas variables y eso quiere decir que no se estб GUARDANDO BIEN
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
new string[150], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
GetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]);
format(string, sizeof(string), "/Usuarios/%s.ini", name);
new INI:File = INI_Open(string);
INI_SetTag(File,"Cuenta");
INI_WriteFloat( File, "PosicionX", pInfo[playerid][PosX] );
INI_WriteFloat( File, "PosicionY", pInfo[playerid][PosY] );
INI_WriteFloat( File, "PosicionZ", pInfo[playerid][PosZ] );
INI_WriteInt( File, "Administrador", pInfo[playerid][pAdministrador] );
INI_WriteInt( File, "Dinero", pInfo[playerid][pDinero] );
INI_Close(File);
return 1;
}
O a menos que lo estйs guardando en otra parte (en una callback) y no estes ejecutando INI_SetTag
Re: Respuesta: Re: їPorquй se me guarda dos veces? Y_INI + REP. -
xHanks - 04.08.2014
Quote:
Originally Posted by Adoniiz
Explicate, por quй dices que se repite dos veces las mismas variables y eso quiere decir que no se estб GUARDANDO BIEN
pawn Код:
public OnPlayerDisconnect(playerid, reason) { new string[150], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); GetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]); format(string, sizeof(string), "/Usuarios/%s.ini", name); new INI:File = INI_Open(string); INI_SetTag(File,"Cuenta"); INI_WriteFloat( File, "PosicionX", pInfo[playerid][PosX] ); INI_WriteFloat( File, "PosicionY", pInfo[playerid][PosY] ); INI_WriteFloat( File, "PosicionZ", pInfo[playerid][PosZ] ); INI_WriteInt( File, "Administrador", pInfo[playerid][pAdministrador] ); INI_WriteInt( File, "Dinero", pInfo[playerid][pDinero] ); INI_Close(File); return 1; }
O a menos que lo estйs guardando en otra parte (en una callback) y no estes ejecutando INI_SetTag
|
A ver, yo al registrarme tengo lo siguiente al archivo .ini:
Код:
[Cuenta]
Contraseсa = test123
Dinero = 1000
Banco = 5000
Administrador = 0
Skin = 5
PosicionX = 10.000000
PosicionY = 10.000000
PosicionZ = 10.000000
Al desconectarme, que he dejado el cуdigo arriba, se edita el archivo a lo siguiente:
Код:
PosicionX = 1552.196899
PosicionY = -1675.167968
PosicionZ = 16.181770
Administrador = 0
Dinero = 0
[Cuenta]
Contraseсa = test123
Dinero = 1000
Banco = 5000
Administrador = 0
Skin = 5
PosicionX = 10.000000
PosicionY = 10.000000
PosicionZ = 10.000000
En vez de actualizar los valores se crea nuevamente el Skin y demбs.
Respuesta: їPorquй se me guarda dos veces? Y_INI + REP. -
Adoniiz - 04.08.2014
verifica bien que no lo estes guardando otra vez en OnPlayerDisconnect, y prueba los cуdigos que te han dejado
Re: їPorquй se me guarda dos veces? Y_INI + REP. -
xHanks - 04.08.2014
Nada, he descubierto que esto pasa normalmente al cambiar el skin y desconectarme se bugea, aъn que pasa a veces sin cambiar el skin tambiйn.
Respuesta: їPorquй se me guarda dos veces? Y_INI + REP. -
Juance - 04.08.2014
No le cambies el tag. Cambia "Cuenta" por "data"