Hey,
mein problem liegt darin das jedes auto unterschiedlich viel Kraftstoff verbraucht.
1.Ich starte den Motor und der tank zeigt mir 190 an
2.ich fahre los, und dann ist tank plötzlich 0 und ich kann nicht mehr fahren
Hier die Codes
enum _Fahrzeuge
{
ID,
Fahrzeugname[50],
MaxTank,
Verlust
};
new Fahrzeuge[][_Fahrzeuge] = {
/*MODELID,NAME,TANK,VERLUST*/
{411,"Infernus",190,1000},
{522,"NRG-500",190,5000},
};
public OnGameModeInit()
{
SetTimer("BenzinVerlust", GetVehicleVerlust(GetPlayerVehicleID(playerid)), true);
}
public OnPlayerUpdate(playerid)
{
//Tank
if(GetPlayerVehicleSeat(playerid) == 0)
{
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) != 509 && GetVehicleModel(vehicleid) != 481 && GetVehicleModel(vehicleid) != 510)
{
new string[125];
if(Tank[vehicleid] < 50) format(string,sizeof string,"~b~Tank: ~r~%i",GetVehicleMaxTank(GetPlayerVehicleID(playerid)));
else if(Tank[vehicleid] < 100) format(string,sizeof string,"~b~Tank: ~y~%i",GetVehicleMaxTank(GetPlayerVehicleID(playerid)));
else if(Tank[vehicleid] <= 1000) format(string,sizeof string,"~b~Tank: ~g~%i",GetVehicleMaxTank(GetPlayerVehicleID(playerid)));
TextDrawSetString(Anzeige[playerid],string);
}
}
}
public BenzinVerlust()
{
for(new i=0; i<MAX_VEHICLES; i++)
{
if (Motor[i] == true)
{
Tank[i] = Tank[i]-1;
if (Tank[i]<1)
{
Tank[i] = 0;
GetVehicleParamsEx(i,motor,lichter,objektiv,boot,bonnet,doors,alarm);
SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lichter,objektiv,boot,bonnet,doors,alarm);
Motor[i] = false;
}
}
}
return 1;
}
stock GetVehicleMaxTank(vehicleid)
{
for(new i = 0; i < sizeof(Fahrzeuge); i++)
{
if(Fahrzeuge[i][ID] == GetVehicleModel(vehicleid))
{
return Fahrzeuge[i][MaxTank];
}
}
}
stock GetVehicleVerlust(vehicleid)
{
for(new i = 0; i < sizeof(Fahrzeuge); i++)
{
if(Fahrzeuge[i][ID] == GetVehicleModel(vehicleid))
{
return Fahrzeuge[i][Verlust];
}
}
}