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