їPorquй se me guarda dos veces? Y_INI + REP.
#1

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;
}
Reply
#2

1234 fail
Reply
#3

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й.
Reply
#4

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;
}
Reply
#5

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.
Reply
#6

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
Reply
#7

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.
Reply
#8

verifica bien que no lo estes guardando otra vez en OnPlayerDisconnect, y prueba los cуdigos que te han dejado
Reply
#9

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.
Reply
#10

No le cambies el tag. Cambia "Cuenta" por "data"
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)