Hey,
ich habe in meinem Tacho jetzt noch eine Meter/KM anzeige hinzugefügt, aber dort werde einfach immer mehr Meter dazu gezählt ob wohl ich das fahrzeug gar nicht bewege :O bitte helft mir
Code:
public TachoTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new Float:Entfernung, Float:Geschwindigkeit, vehids = GetPlayerVehicleID(i);// Die definierten Floats die mit den Werten gefüttert werden
new m = GetDistanceToLastPoint(vehids);
CarInfo[vehids][aMeter]+=m;
CarInfo[GetPlayerVehicleID(i)][aKM] = CarInfo[GetPlayerVehicleID(i)][aMeter]/500;
GetVehiclePos(GetPlayerVehicleID(i), X1[i], Y1[i], Z1[i]); //Erste Koordinate wird genommen
Entfernung = floatsqroot(floatpower(floatabs(floatsub(X1[i], X2[i])), 2)+floatpower(floatabs(floatsub(Y1[i], Y2[i])), 2)+floatpower(floatabs(floatsub(Z1[i], Z2[i])), 2)); //Berechnung der Entfernung
Geschwindigkeit = (Entfernung / (TACHOTIMER/1000)) * 3.6; //Meter/Sekunde in Kilometer/Stunde
new Tachostring[125];
format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Benzin: %dL/%dL~n~Besitzer: %s~n~KM: %d", floatround(Geschwindigkeit), CarInfo[vehids][aBenzin],CarInfo[vehids][aMBenzin],CarInfo[vehids][aBesitzer],CarInfo[vehids][aMeter]/500);
TextDrawSetString(Tacho[i], Tachostring);
GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]); //Zweite Koordinate wird genommen
TextDrawShowForPlayer(i, Tacho[i]);
}
else
{
TextDrawHideForPlayer(i, Tacho[i]);
}
if(CarInfo[GetPlayerVehicleID(i)][aKM] == 20)
{
CarInfo[GetPlayerVehicleID(i)][aBenzin]--;
CarInfo[GetPlayerVehicleID(i)][aKM] = 0;
}
}
return 1;
}