Tacho will nicht

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
  • Hey,
    ich benutze folgendes Tachosystem:
    forward VehStateCheck();
    public VehStateCheck()
    {
    new Float:Speedo_X,Float:Speedo_Y,Float:Speedo_Z;
    new Float:Speedo_HP;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && GetPlayerVehicleSeat(i) == 0)
    {
    GetPlayerPos(i, Speedo_X, Speedo_Y, Speedo_Z);
    GetPlayerVehicleID(i);
    GetVehicleHealth(GetPlayerVehicleID(i), Speedo_HP);

    new str1[256],str2[256],str3[256],str4[256];
    if(SpeedoON[i] == 0)
    {
    TextDrawShowForPlayer(i, kmh[i]); TextDrawShowForPlayer(i, hoehe[i]);
    SpeedoON[i] = 1;
    }
    //new Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed,final_speed_int;
    new veh = GetPlayerVehicleID(i);
    //GetVehicleVelocity(veh, speed_x, speed_y, speed_z);
    //final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667; // 136.666667 = kmph // 85.4166672= mph
    //final_speed_int = floatround(final_speed,floatround_round);
    //new kmh_anzahl = final_speed_int;
    new kmh_anzahl = ErmittleGeschwindigkeit(i,true);

    format(str1,sizeof(str1),"Fahrzeug: ~y~%s",VehicleName[veh-400]);

    if(kmh_anzahl >= 150)
    {
    format(str2,sizeof(str2),"km / h: ~g~%d",kmh_anzahl);
    TextDrawSetString(kmh[i], str2);
    }
    else if(kmh_anzahl >= 90)
    {
    format(str2,sizeof(str2),"km / h: ~g~%d",kmh_anzahl);
    TextDrawSetString(kmh[i], str2);
    }
    else if(kmh_anzahl >= 40)
    {
    format(str2,sizeof(str2),"km / h: ~g~%d",kmh_anzahl);
    TextDrawSetString(kmh[i], str2);
    }
    else
    {
    format(str2,sizeof(str2),"km / h: ~g~%d",kmh_anzahl);
    TextDrawSetString(kmh[i], str2);
    }
    new vehicleid = GetPlayerVehicleID(i);
    format(str3,sizeof(str3),"Tank: ~r~%d/100", Tank[vehicleid]);
    TextDrawSetString(hoehe[i], str3);

    if(Speedo_HP >= 551)
    {
    format(str4,sizeof(str4),"Zustand: ~g~%.2f", Speedo_HP);
    }
    else if(Speedo_HP >= 361)
    {
    format(str4,sizeof(str4),"Zustand: ~y~%.2f", Speedo_HP);
    }
    else
    {
    format(str4,sizeof(str4),"Zustand: ~r~%.2f", Speedo_HP);
    }
    }
    else
    {
    TextDrawHideForPlayer(i, kmh[i]); TextDrawHideForPlayer(i, hoehe[i]);
    SpeedoON[i] = 0;
    }
    }
    return 1;
    }


    Dieser Code: "TextDrawShowForPlayer(i, kmh[i]); TextDrawShowForPlayer(i, hoehe[i]);" wird abgefragt, allerdings wird dannach kein Wert angegeben...
    Geschwindigkeit:
    stock ErmittleGeschwindigkeit(playerid, bool:kmh2)
    {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return kmh2?floatround(rtn * 100 * 1.11):floatround(rtn * 100);
    }


    Danke im Vorraus!