03/09/2021 23:44
(Esta mensagem foi modificada pela última vez a: 03/09/2021 23:45 por guigowbr.)
Pessoal eu não deixei mais a vFuel como Float e deu certo.
O sistema é o seguinte, o player liga o veiculo e chama uma função de 1 em um segundo, perdendo -1 de gasolina.
Está funcionando tudo corretamente, porém isso daria apenas 100 segundos de combustível. Alguém tem uma sugestão? Se eu deixar em Float buga novamente.
---------------------------------------------------
Esse aqui é o Código que edita o TextDrawn ( meu velocimetro ).
O sistema é o seguinte, o player liga o veiculo e chama uma função de 1 em um segundo, perdendo -1 de gasolina.
Está funcionando tudo corretamente, porém isso daria apenas 100 segundos de combustível. Alguém tem uma sugestão? Se eu deixar em Float buga novamente.
---------------------------------------------------
Código PHP:
forward FuelTimer(vehicleid);
public FuelTimer(vehicleid)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine > 0)
{
VehicleData[vehicleid][vFuel] -= 1;
}
if(VehicleData[vehicleid][vFuel] <= 0)
{
VehicleData[vehicleid][vFuel] = 0;
SetVehicleParamsEx(vehicleid, 0, 0, alarm, doors, bonnet, boot, objective);
KillTimer(VehicleData[vehicleid][vTimer]);
for(new i = 0; i < MAX_PLAYERS; i++) // Se der algo problema na gasolina, tirar isso
{
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerVehicleSeat(i) == 0)
{
SendClientMessage(i, -1, "Sua gasolina acabou!");
SetVehicleParamsEx(vehicleid, 0, 0, alarm, doors, bonnet, boot, objective);
break;
}
}
}
return 1;
}
Esse aqui é o Código que edita o TextDrawn ( meu velocimetro ).
Código PHP:
forward ProcessGasolina(playerid);
public ProcessGasolina(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(!IsPlayerInVehicle(playerid, vehicleid))
{
PlayerTextDrawHide(playerid, viewgasolina[playerid]);
PlayerTextDrawHide(playerid, viewlataria[playerid]);
return 1;
}
new string[14], string2[22];
format(string, sizeof(string), "Gasolina: %d%", VehicleData[vehicleid][vFuel]);//%03d
PlayerTextDrawSetString(playerid, viewgasolina[playerid], string);
PlayerTextDrawShow(playerid, viewgasolina[playerid]);
if(GetPlayerSpeed(playerid, true) >= 150)
{
format(string2,sizeof(string2),"Velocidade: %d Km/h",GetPlayerSpeed(playerid, true));
PlayerTextDrawSetString(playerid, viewlataria[playerid], string2);
PlayerTextDrawShow(playerid, viewlataria[playerid]);
}
else
{
format(string2,sizeof(string2),"Velocidade: %d Km/h",GetPlayerSpeed(playerid, true));
PlayerTextDrawSetString(playerid, viewlataria[playerid], string2);
PlayerTextDrawShow(playerid, viewlataria[playerid]);
}
return 1;
}