SA-MP Forums Archive
Problema con un guardado - 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: Problema con un guardado (/showthread.php?tid=603340)



Problema con un guardado - Jeree10 - 21.03.2016

Hola, bueno resulta que estoy haciendo un gamemode pero todo iba bien hasta que me empezу a fallar es en el guardado del dinero al desconectarse no guarda el dinero, es el ъnico que falla, estoy seguro que es en el Callback OnPlayerDisconnect
Dejo cуdigo.

Код:
pDinero,

OnPlayerSpawn
Informacion[playerid][pDinero] = GetPlayerMoney(playerid);

GivePlayerMoney(playerid, Informacion[playerid][pDinero]);


Forward de guardado
INI_WriteInt(File,"Dinero",Informacion[playerid][pDinero]); 


Forward de cargado
    INI_Int("Dinero",Informacion[playerid][pDinero]);


OnPlayerDisconnect
    Informacion[playerid][pDinero] = GetPlayerMoney(playerid);



Re: Problema con un guardado - REMAK3 - 25.03.2016

Create un cargado de datos del jugador, por ej:

forward Cargardatosjugador(playerid);
public Cargardatosjugador(playerid)
{
GivePlayerMoney(playerid, Informacion[playerid][pDinero]);
return 1;
}

Es decir, los datos que guardas se los "devuelves" creando esta funcion que no es lo mismo
que el forward de cargado. Prueba eso


Re: Problema con un guardado - REMAK3 - 25.03.2016

Create un cargado de datos del jugador, por ej:

forward Cargardatosjugador(playerid);
public Cargardatosjugador(playerid)
{
GivePlayerMoney(playerid, Informacion[playerid][pDinero]);
return 1;
}

Es decir, los datos que guardas se los "devuelves" creando esta funcion que no es lo mismo
que el forward de cargado. Cuando el jugador conecta y se reconoce la cuenta existente
le devuelves sus cosas por ej aqui el dinero. Prueba eso


Re: Problema con un guardado - FelipeBlanco - 25.03.2016

En OnPLayerSpawn saca
Код:
Informacion[playerid][pDinero] = GetPlayerMoney(playerid);
Y deja
Код:
GivePlayerMoney(playerid, Informacion[playerid][pDinero]);
Y en OnPlayerDisconnect saca
Код:
Informacion[playerid][pDinero] = GetPlayerMoney(playerid);
Y en donde tengas que darle dinero al jugador, osea, en Los GivePlayerMoney cambialo por DarDinero(playerid,monto); y para quitar QuitarDinero(playerid,monto); y agrega esto al ultimo:
Код:
stock DarDinero(playerid,monto)
{
Informacion[playerid][pDinero] += monto;
GivePlayerMoney(playerid,monto);
}

stock QuitarDinero(playerid,monto)
{
Informacion[playerid][pDinero] -= monto;
GivePlayerMoney(playerid,-monto);
}
Obvia que al GivePlayerMoney del OnPlayerSpawn tenes que dejalo asн, a los otros GivePlayerMoney lo cambias por DarDinero o QuitarDinero depende de lo que queres hacer