Kann mir wer sagen wieso dies nicht funktioniert?
Testern zufolge, steigt man in ein Vehikel ein, der Tank geht auf 100 und dann auf 'Tank leer!"
Bitte um Hilfe
EDIT: Ich habe es verbessert, es geht nun teilweise.
Neuer Fehler - wenn du ein Bullet spawnst..
..du steigst ein..fährst den Tank auf 95 Liter runter..
..nun steigst du aus..spawnst einen neuen Bullet..
..und du steigst ein und :(..der neue Bullet hat auch nurnoch 95 Liter im Tank
Bitte helft mir...es ist nicht leicht so ein Benzin Script
#include <a_samp>
new Fuel[MAX_VEHICLES];
new Text:Anzeige;
new fuelstr[50];
forward UpdateAnzeige(playerid);
new timer;
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Benzin Script by Monti|Spearrow (www.sampfish.de)");
print("--------------------------------------\n");
Anzeige = TextDrawCreate(0.0,434.0,"Benzin: 100");
for (new i; i<MAX_VEHICLES; i++)
{
Fuel[i] = 100;
}
return 1;
}
public UpdateAnzeige(playerid)
{
new veh = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
if(Fuel[veh] > 0)
{
Fuel[veh] = Fuel[veh] - 1;
format(fuelstr,sizeof fuelstr,"Benzin: %d",Fuel[veh]);
TextDrawSetString(Anzeige,fuelstr);
}
else
{
format(fuelstr,sizeof fuelstr,"Benzin leer!");
TextDrawSetString(Anzeige,fuelstr);
}
}
return 1;
}
public OnPlayerStateChange(playerid,newstate,oldstate)
{
if(newstate == 2 && IsPlayerInAnyVehicle(playerid))
{
timer = SetTimerEx("UpdateAnzeige",2500,1,"i",playerid);
TextDrawShowForPlayer(playerid,Anzeige);
}
return 1;
}
public OnPlayerExitVehicle(playerid,vehicleid)
{
KillTimer(timer);
TextDrawHideForPlayer(playerid,Anzeige);
return 1;
}