TextDrawn funktioniert nicht richtig

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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