Tacho (Speed 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
  • Hi,


    ich habe ein Problem mit den Speed den es zeigt 0.000000 an und nich 0 siehe screen



    Code: public TachoUpdate(i)
    {
    new playerid=i;
    new State = GetPlayerState(playerid);
    if(State == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    new VehicleModel = GetVehicleModel(vehicleid);
    new Float:heal, Float:Speed, Float:health;
    new string[512], Sspeed[512], Float:panzerung;
    GetVehicleSpeed(vehicleid, Speed);
    GetVehicleHealth(GetPlayerVehicleID(playerid), heal);
    format(Sspeed,sizeof(Sspeed),"%0.fkm/h",Speed);
    format(string,sizeof(string),"%s" ,VehiclesName[GetVehicleModel(vehicleid)-400]);
    panzerung=floatsub(heal,5000);
    TextDrawSetString(Textdraw17[playerid], string);
    TextDrawSetString(Textdraw18[playerid], Sspeed);


    if(heal>5001)
    {
    SetProgressBarValue(PanzerBar[playerid], panzerung);
    SetProgressBarValue(HealthBar[playerid], 5000);
    UpdateProgressBar(PanzerBar[playerid],playerid);
    UpdateProgressBar(HealthBar[playerid],playerid);
    }
    else
    {
    SetProgressBarValue(HealthBar[playerid], heal);
    SetProgressBarValue(PanzerBar[playerid], 0);
    UpdateProgressBar(PanzerBar[playerid],playerid);
    UpdateProgressBar(HealthBar[playerid],playerid);
    }
    TextDrawShowForPlayer(playerid, Textdraw18[playerid]);
    TextDrawShowForPlayer(playerid, Textdraw17[playerid]);
    UpdateProgressBar(PanzerBar[playerid], playerid);
    UpdateProgressBar(HealthBar[playerid], playerid);
    }
    else
    {
    TextDrawHideForPlayer(playerid,Textdraw18[playerid]);
    TextDrawHideForPlayer(playerid,Textdraw17[playerid]);
    HideProgressBarForPlayer(playerid, HealthBar[playerid]);
    HideProgressBarForPlayer(playerid, PanzerBar[playerid]);
    }
    return 1;
    }

  • Machs mal so.


    Das funktioniert erst recht nicht, wenn dann so:


    format(Sspeed,sizeof(Sspeed),"%d km/h",floatround(Speed));


    Allerdings ist der Wert von Speed 0, also ist die Funktion falsch...deshalb wollte ich diese sehen :rolleyes:


    PS: %0.f ist falsch...wenn dann %.0f


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Kaliber:
    Najaa ich hab auch mit der funktion gearbeitet, und so geht es eigendlich.
    Kann sein das er ne andere funktoin hat^^

    stock GetVehicleSpeed(vehicleid)
    {
    new Float:Vx, Float:Vy, Float:Vz;
    GetVehicleVelocity(vehicleid, Vx, Vy, Vz);
    new Float:rtn;
    rtn = floatsqroot(floatpower(Vx*100,2) + floatpower(Vy*100,2));
    rtn = floatsqroot(floatpower(rtn,2) + floatpower(Vz*100,2));
    return floatround(rtn);
    }


    format(string,sizeof(string),"Geschw.: ~g~%d kmh",GetVehicleSpeed(vehicleid));