Tacho flüssig laufen lassen

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
  • Hab es nun so:
    public UpdateTacho() //Tacho Public
    {
    for(new i = 0;i<MAX_PLAYERS;i++) //Forschleife
    {
    if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && !IsPlayerNPC(i)) //Abfrgae ob Spieler in Car sitzt
    {
    new Float:Strecke,Float:Geschwindigkeit,Float:health;//Neue Variablen
    GetVehicleHealth(GetPlayerVehicleID(i),health);
    GetVehiclePos(GetPlayerVehicleID(i),X1[i],Y1[i],Z1[i]); //Geben dem Auto die erste Position
    Strecke = 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));//Rechnen die Geschwindigkeit aus
    Geschwindigkeit = (Strecke / (TACHOTIMER /100)) * 3.6; //Teilen das durch unseren TACHOTIMER define. Danach durch 1000 und dann mal 3,6. Damit es in Killometer ausgegeben wird.
    new string[750]; //definen unseren String
    format(string,750," ~b~%s~n~~r~Geschw. ~w~%d km/h~n~~r~Tank: ~w~%i Liter~n~~r~Zustand: ~w~%.2f%",Fahrzeugname[GetVehicleModel(GetPlayerVehicleID(i))-400],floatround(Geschwindigkeit),Tank[GetPlayerVehicleID(i)],health); //Geben unseren TextDraw aus
    TextDrawSetString(Tacho[i],string); //Updaten unseren Tacho
    GetVehiclePos(GetPlayerVehicleID(i),X2[i],Y2[i],Z2[i]); //Geben dem Auto die zweite Position
    TextDrawShowForPlayer(i,Tacho[i]); //Zeigen unserem Player den Tacho
    }
    else //Wenn er kein Fahrer ist oder in keinem Auto sitzt oder er NPC ist, passiert folgendes
    {
    TextDrawHideForPlayer(i,Tacho[i]); //TextDraw wird nicht angezeigt
    }
    }
    return 1;
    }


    #define TACHOTIMER 100
    timer = SetTimer("UpdateTacho",100,true);


    Aber er zeigt nur bis 10km/h an

  • unter OnPlayerUpdate ist sinnlos


    wird 1000 mal in der Sekunde aufgerufen(weiß nicht obs stimmt, wird aber oft aufgerufen)
    zieht zu stark an den Ressouren


    Er sagte ist egal. Er wills Testen -_- lies dir doch den first Beitrag durch.


    Guter Support, Gute Preise! Freunde das ist kein Speed das ist Lichtgeschwindigkeit!
    Atrox Devolpment[/size]
    [size=24][color=#ff0000]Kunde | Top WBB Produkte

  • Ja testen will ich es wohl, aber wenn es klappt, will ich das auch wohl so lassen. Sollten dann später Probleme damit aufkommen, werde ich das sofort wieder rückgängig machen :)


    Also, weiß nun einer, außer OnPlayerUpdate, da ich dies gerne meiden möchte ^^