Hilfe Bei Tacho

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
  • Hallo Community,
    ich habe mir einen Tacho gescriptet, aber wenn ich ihn in Game teste fahre ich schon im stand 8000 km/h. Und wenn ich dann los fahre werden es noch mehr. Wäre nett wenn ihr euch das mal anschauen würdet.


    Tachoscript:

    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; //Neue Variablen
    GetPlayerPos(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 /1000)) * 3.6; //Teilen das durch unseren TACHOTIMER define. Danach durch 1000 und dann mal 3,6. Damit es in Killometer ausgegeben wird.
    new string[60]; //definen unseren String
    format(string, 50,"Geschwindigkeit: %d km/h",floatround(Geschwindigkeit)); //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;
    }

    Danke im voraus.


    MFG


    xKrUsE6x

    Gruß


    xKrUsE6x :thumbup:

  • benutz mal anstatt getplayerpos die funktion gtvehiclepos.


    denn wenn du die id 0 bis und im auto mit der id1 sitzt, fragt es immer dir position der spielers mit der id 1 ab. da sich diser wahrscheinlich aber nicht in deiner nähe befindet kommt es zu solch einer groesen zahl wie eben 8000 ;)


    lg RedAge