23.01.2018, 01:49
Pq serб nгo Salva? Quando eu desligo o server fica setado mais quando eu logo eu vou na pasta ta Gasolina = 0, e quando eu seto gasolina pra mim Nгo vai ficando negativo no /Litros. tipo quando perde 1 й pra mostrar que perdeu 1 kkk.
PHP код:
#include <a_samp>
#include <DOF2>
#include <sscanf2>
#include <streamer>
#include <zcmd>
enum PlayerGasolina
{
Gasolina
}
new pGasolina[MAX_PLAYERS][PlayerGasolina];
new MostrarLitros[256];
public OnPlayerConnect(playerid)
{
if(!DOF2_FileExists(GasolinaPlayer(playerid)))
{
SendClientMessage(playerid, -1, "| INFO | Vocк nгo й registrado, mais jб se registrou");
DOF2_CreateFile(GasolinaPlayer(playerid));
DOF2_SetInt(GasolinaPlayer(playerid), "Gasolina", 100);
}
else
{
format(MostrarLitros, sizeof(MostrarLitros), "| INFO | Vocк tem %d de Litros de Gasolina.", pGasolina[playerid][Gasolina]);
SendClientMessage(playerid, -1, MostrarLitros);
return 1;
}
CarregarGasolina(playerid);
return 1;
}
forward ContarGasolina(playerid);
public ContarGasolina(playerid)
{
pGasolina[playerid][Gasolina] --;
SendClientMessage(playerid, -1, "| INFO | Estб Comeзando a contar os gastos da Gasolina.");
return 1;
}
forward NaoContarGasolina(playerid);
public NaoContarGasolina(playerid)
{
SendClientMessage(playerid, -1, "| ERRO | Vocк saiu do Veнculo e parou de contar a gasolina.");
SetTimer("ContarGasosa", 1000, false);
return 1;
}
public OnFilterScriptExit()
{
for(new i; i < MAX_PLAYERS; i++)
{
SalvarGasolina(i);
DOF2_Exit();
}
return 1;
}
public OnPlayerStateChange( playerid, newstate, oldstate )
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
SetTimer("ContarGasosa", 1000, true);
SendClientMessage(playerid, -1, "| INFO | Contar Gasolina On!");
}
else
{
SetTimer("NContarGasolina", 1000, false);
SendClientMessage(playerid, -1, "| INFO | Parar de Contar Gasolina On");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarGasolina(playerid);
return 1;
}
public OnPlayerUpdate(playerid)
{
SetTimer("UpdateGasolina", 5000, true);
return 1;
}
forward UpdateGasolina(playerid);
public UpdateGasolina(playerid)
{
SalvarGasolina(playerid);
return 1;
}
stock SalvarGasolina(playerid)
{
DOF2_SetInt(GasolinaPlayer(playerid), "Gasolina", pGasolina[playerid][Gasolina]);
DOF2_SaveFile();
return 1;
}
stock CarregarGasolina(playerid)
{
pGasolina[playerid][Gasolina] = DOF2_GetInt(GasolinaPlayer(playerid), "Gasolina", pGasolina[playerid][Gasolina]);
pGasolina[playerid][Gasolina] = pGasolina[playerid][Gasolina];
return 1;
}
stock GasolinaPlayer(playerid)
{
new gasolina[44], nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, 44);
format(gasolina, 44, "Gasolina/%s.ini", nome);
return gasolina;
}
CMD:litros(playerid, params[])
{
new litros[256];
format(litros, sizeof(litros), "| INFO | Vocк tem %d de Litros de Gasolina.", pGasolina[playerid][Gasolina]);
SendClientMessage(playerid, -1, litros);
return 1;
}
CMD:abastecer(playerid, params[])
{
new gasolina, stg[256], veiculo;
if(sscanf(params, "d", gasolina)) return SendClientMessage(playerid, -1, "/Abastecer [litros]");
if(IsPlayerInVehicle(playerid, veiculo)) return SendClientMessage(playerid, -1, "| ERRO | Vocк nгo estб em um Veнculo");
pGasolina[playerid][Gasolina] = gasolina;
format(stg, sizeof(stg), "| INFO | Vocк abasteceu %d de Litros!", gasolina);
SendClientMessage(playerid, -1, stg);
return 1;
}