Speedometer zeigt nix an :(

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
  • Also


    forward Speed(playerid);
    public Speed(playerid){
    new bool:kk;
    new string[256];


    if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid)){
    /*new Float:x,Float:y,Float:z;
    new Float: distance,value;
    GetPlayerPos(i, x, y, z);
    distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
    value = floatround(distance * 3900); //Hier verändert man die Anzeige vom Tacho. 3900 ist eine realistische Zahl.*/
    ErmittleGeschwindigkeit(playerid,bool:kk);
    format(string, sizeof(string), "~w~%d Km/h",/*floatround(value/900)*/bool:kk);
    TextDrawSetString(Speedometer[playerid], string);
    //SavePlayerPos[i][LastX] = x;
    //SavePlayerPos[i][LastY] = y;
    //SavePlayerPos[i][LastZ] = z;}
    }
    return true;
    }


    stock ErmittleGeschwindigkeit(playerid,bool:kmh) {
    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 kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }


    Sollte ja eig. funktionieren...
    aber es bleibt auf 0...


    Ongamemodeinit
    for(new playerid=0;playerid<MAX_PLAYERS;playerid++) SetTimerEx("Speed",100,1,"i",playerid);


    Was ist falsch..?


    mfg.

  • Und du brauchst hier nicht rum Spammen,
    Weiß echt niemand was?


  • ErmittleGeschwindigkeit(playerid,bool:kk);
    format(string, sizeof(string), "~w~%d Km/h",/*floatround(value/900)*/bool:kk);
    //
    stock ErmittleGeschwindigkeit(playerid,bool:kmh) {
    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 kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }
    Ist doch völliger Quatsch.Was hat es denn mit "bool:kk" zu tun ?
    Ich nehme mal an du hast die Funktion ErmittleGeschwindkeit und Speed nicht selber geschrieben, sonst hättest du schon längst gemerkt wo der Fehler liegt.


    forward Speed(playerid);


    public Speed(playerid)
    {
    new
    iSpeed,
    string[32];
    if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
    {
    /*new Float:x,Float:y,Float:z;
    new Float: distance,value;
    GetPlayerPos(i, x, y, z);
    distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
    value = floatround(distance * 3900); //Hier verändert man die Anzeige vom Tacho. 3900 ist eine realistische Zahl.*/
    iSpeed = ErmittleGeschwindigkeit(playerid,true);
    format(string, sizeof(string), "~w~%d Km/h",iSpeed);
    TextDrawSetString(Speedometer[playerid], string);
    //SavePlayerPos[i][LastX] = x;
    //SavePlayerPos[i][LastY] = y;
    //SavePlayerPos[i][LastZ] = z;
    }
    return true;
    }


    stock ErmittleGeschwindigkeit(playerid,bool:kmh)
    {
    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);
    if(kmh) {
    return floatround(rtn * 100 * 1.61);
    }
    else {
    return floatround(rtn * 100);
    }
    }

    Einmal editiert, zuletzt von Goldkiller ()

  • Danke,Danke,Danke,Danke,Danke,Danke,Danke,Danke, Goldkiller :D


    :D wie kann ich die autos ein bisschen schneller machen?
    turismo schafft nur 180 will schon dass der dann 250 schafft, die anderen sollen dann ja auch 180 oder so schaffen..
    müsste ich dann da was ändern?
    return floatround(rtn * 100 * 1.61);