Moin,
habe von Robdeflop das Tutorial für den Fahrzeug Tacho genutzt. Jetzt habe ich aber noch verschiede
andere Anzeigen hinzugefügt (Benzin, KM, Zustand), diese aber werden nicht richtig dargestellt.
der Code wäre
for(new i = 0; i < MAX_PLAYERS; i++) //Tacho Daten
{
Tacho[i] = TextDrawCreate(320.00, 380.00, " Km/h:---");
TextDrawLetterSize(Tacho[i], 0.4, 1.1);
TextDrawFont(Tacho[i], 1);
TextDrawSetShadow(Tacho[i], 2);
TextDrawSetOutline(Tacho[i],0);
}
&&
public TachoTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new Float:Entfernung, Float:Geschwindigkeit, Benzin = CarInfo[i][aBenzin], MBenzin = CarInfo[i][aMBenzin];// Die definierten Floats die mit den Werten gefüttert werden
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[258];//Besitzerstring[128]; //Benzinstring[20];
format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Benzin: %d/%d~n~Besitzer: %s", floatround(Geschwindigkeit), Benzin,MBenzin,CarInfo[i][aBesitzer]); //Hier das format, was es macht siehe oben im Wiki-Link. floatround rundet die Kommerzahl (Float:Geschwindigkeit) zu einer normalen ganzzahligen zahl, damit wir den Integer %d der für ganze zahlen ist, verwenden können.
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]);
}
}
return 1;
}
Benzin wird jetzt auch angezeigt aber da kommt nicht der richtige Wert raus :O nur 0/0
Besitzer hingegen gar nicht...
MfG; Apoolecu
EDIT: Code Aktualisiert + Problem geändert
EDIT: Code Akutalistert²
EDIT: Code Ausgebessert war 3 mal drinnen