SA-MP Forums Archive
їPorquй se me guarda dos veces? Y_INI + REP. - 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: їPorquй se me guarda dos veces? Y_INI + REP. (/showthread.php?tid=529910)



ї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"