Tacho Zustand Problem

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
    • Offizieller Beitrag

    Moin,


    ich versuche mich grade an einem kleinen Tachosystem, jedoch komme ich grade nicht weiter.
    Ich habe schon überall nach diesem Problem gesucht (Natürlich nach der Lösung) jedoch habe ich nichts gefunden und wunder mich nur das ihr das Problem nicht haben.


    Und zwar möchte ich eine Zustandsanzeige schreiben, die über ein PlayerTextDraw angezeigt wird.
    Das Funktioniert auch teilweise ganz gut, jedoch habe ich das Problem, dass das Fahrzeug bei ca. 250 Health anfängt zu brennen, jedoch in der Zustandsanzeige 250(o.Ä.) steht.


    Ich möchte also erreichen, dass die Zustandsanzeige bei 0 ist wenn das Fahrzeug brennt, es soll aber realistisch sein. Also nicht bei unter 250 Health den Zustand auf 0 setzten.


    Hier mal mein Code:


    new PlayerText:ZustandLabel[MAX_PLAYERS];


    new Float:health, string[256]; GetVehicleHealth(GetPlayerVehicleID(i), health);
    format(string,sizeof(string),"Zustand: %0.2f%%",health);
    PlayerTextDrawSetString(i, ZustandLabel[i], string);



    ZustandLabel[playerid] = CreatePlayerTextDraw(playerid, 525.000000, 396.000000, "Zustand: 1000.00");
    PlayerTextDrawBackgroundColor(playerid, ZustandLabel[playerid], 255);
    PlayerTextDrawFont(playerid, ZustandLabel[playerid], 1);
    PlayerTextDrawLetterSize(playerid, ZustandLabel[playerid], 0.370000, 1.000000);
    PlayerTextDrawColor(playerid, ZustandLabel[playerid], -1);
    PlayerTextDrawSetOutline(playerid, ZustandLabel[playerid], 1);
    PlayerTextDrawSetProportional(playerid, ZustandLabel[playerid], 1);
    PlayerTextDrawHide(playerid, ZustandLabel[playerid]);



    Bei OnPlayerDisconnect:
    PlayerTextDrawDestroy(playerid, ZustandLabel[playerid]);



    Bei OnPlayerStateChange: (Angezeigt und geupdatet wird es.)


    PlayerTextDrawShow(playerid, ZustandLabel[playerid]);
    PlayerTextDrawHide(playerid, ZustandLabel[playerid]);



    Vielleicht kann mir ja einer von euch helfen, ich bin für alles Dankbar.
    PS: Ich bekomme keine Fehler/Warnings etc.

  • mach doch eine grobe Berechnung , entweder ziehst du direkt die 250 vom Leben bei der Anzeige ab, da gibt es genug Möglichkeiten.


    Falls du dich natürlich frägst wie sowas geht da wird dir das Stichwort Mathematik helfen + , - , / , *