Geschwindigkeit am Tacho bugt

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 Leute,
    Ich habe schon seit längerem das Tacho drin und mir und meinen Freunden ist auf gefallen das die Geschwindigkeit bugt.
    In dem Video fahre ich die ganze zeit mit Vollgas, mal fahre ich 9 km/h mal 160 km/h und alle anderen Möglichen zahlen.
    Ich weiß nicht wieso das so ist aber es ist sehr nervig weil man nciht wirklich sagen kann wie schnell man ist :D
    des wegen Suche ich jetzt nach 2 Dinge um das Tacho zu verbessern:


    1. Gibt es eine Möglichkeit das zu beheben?
    2. Kann man das Tacho Flüssiger stellen (Das die Geschwindigkeit nicht so Ruckartig sich bewegt)?

    Video:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Code:
    stock GetPlayerSpeed(playerid, bool:kmh)
    {
    new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz);
    else GetPlayerVelocity(playerid,Vx,Vy,Vz);
    rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2)));
    return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }

    stock UpdateSpeedo(playerid)
    {
    if(!IsPlayerInAnyVehicle(playerid))
    {
    Speedo(playerid,0);
    } else if(pSpeedoOn[playerid] == 2) {
    new veh = GetPlayerVehicleID(playerid);
    new model= GetVehicleModel(veh);
    new str[60];
    TextDrawSetString(pSpeedo[playerid][0],CarName[model-400]);
    new speed = GetPlayerSpeed(playerid, true);
    if(model == 509 || model == 510|| model == 481)
    {
    speed = floatround(speed *0.5);
    } else {
    speed = floatround(speed * 0.95);
    }
    format(str,sizeof(str),"~w~Km/H: ~w~%d",speed);
    TextDrawSetString(pSpeedo[playerid][1],str);
    format(str,sizeof(str),"~w~Zustand:");
    TextDrawSetString(pSpeedo[playerid][3],str);
    }
    }


    stock Speedo(playerid,speedostate)
    {
    switch (speedostate)
    {
    case 0: //aus
    {
    if(pSpeedoOn[playerid] != 2) {return 0;}
    KillTimer(pSpeedoT[playerid]);
    for(new i=0;i<6;i++)
    {
    TextDrawHideForPlayer(playerid,pSpeedo[playerid][i]);
    }
    pSpeedoOn[playerid] = 1;
    }
    case 1: // An
    {
    if(pSpeedoOn[playerid] != 1) {return 0;}
    pSpeedoT[playerid] = SetTimerEx("PlayerSpeedo",175,1,"d",playerid);
    UpdateSpeedo(playerid);
    for(new i=0;i<6;i++)
    {
    TextDrawShowForPlayer(playerid,pSpeedo[playerid][i]);
    }
    pSpeedoOn[playerid] = 2;
    }
    }
    return 1;
    }
    forward PlayerSpeedo(playerid);
    public PlayerSpeedo(playerid)
    {
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(pSpeedoOn[playerid] == 2)
    {
    for(new i=0;i<6;i++)
    {
    TextDrawHideForPlayer(playerid,pSpeedo[playerid][i]);
    }
    UpdateSpeedo(playerid);
    for(new i=0;i<6;i++)
    {
    TextDrawShowForPlayer(playerid,pSpeedo[playerid][i]);
    }
    }
    } else {
    Speedo(playerid,0);
    }
    }


    Ich hoffe ihr könnt mir bei meinem Problem helfen.
    MfG Florian

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

    3 Mal editiert, zuletzt von EliteBread () aus folgendem Grund: 2xText Video

  • ändere ma den stock in meins


    stock GetPlayerSpeed(playerid, bool:kmh)
    {
    new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz);
    else GetPlayerVelocity(playerid,Vx,Vy,Vz);
    rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2)));
    return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }

    zu


    stock GetVehicleSpeed(vehicleid, &Float:Speed)
    {
    new Float:X,Float:Y,Float:Z;
    GetVehicleVelocity(vehicleid, X, Y, Z);
    Speed = floatsqroot(X*X + Y*Y + Z*Z)*200;
    }
    und machst den speedo timer auf eine sec dann sollte es gehen :)


  • stock UpdateSpeedo(playerid)
    {
    if(!IsPlayerInAnyVehicle(playerid))
    {
    Speedo(playerid,0);
    } else if(pSpeedoOn[playerid] == 2) {
    new veh = GetPlayerVehicleID(playerid);
    new model= GetVehicleModel(veh);
    new str[60];
    TextDrawSetString(pSpeedo[playerid][0],CarName[model-400]);
    new speed = GetVehicleSpeed(playerid, true);//zeile 1301
    if(model == 509 || model == 510|| model == 481)
    {
    speed = floatround(speed *0.5);
    } else {
    speed = floatround(speed * 0.95);
    }
    format(str,sizeof(str),"~w~Km/H: ~w~%d",speed);
    TextDrawSetString(pSpeedo[playerid][1],str);
    format(str,sizeof(str),"~w~Zustand:");
    TextDrawSetString(pSpeedo[playerid][3],str);
    }
    }

    In Zeile 1301 Kommen Fehler :/

    Bread.pwn(1301) : error 035: argument type mismatch (argument 2)
    Bread.pwn(1301) : warning 209: function "GetVehicleSpeed" should return a value
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

  • Das Video geht nun !

    Zitat von Dominik.

    Ein return fehlt.


    Wenn ich das so mache:
    stock GetVehicleSpeed(vehicleid, &Float:Speed)
    {
    new Float:X,Float:Y,Float:Z;
    GetVehicleVelocity(vehicleid, X, Y, Z);
    Speed = floatsqroot(X*X + Y*Y + Z*Z)*200;
    return 1;
    }


    dann kommt ein Error:
    Bread.pwn(1302) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    und der ist laut Compiler hier:
    new speed = GetVehicleSpeed(playerid, true);

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

    6 Mal editiert, zuletzt von EliteBread () aus folgendem Grund: 3xText Zitat(Richtig gemacht) Falsche Zeile


  • Da kommt immer noch
    Bread.pwn(1307) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Kein wunder du musst ja auch vehicleid und nicht playerid benutzen.


    Leider kommt da dieser fehler:


    Bread.pwn(1308) : error 017: undefined symbol "vehicleid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

  • Wegen der Float kommt da jetzt eine Komma Zahl.
    Wie lautet die möglichkeit das anders zu mache
    wie z.B
    1014 = 10 KMH So
    oder geht das so auch nicht !?

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

    3 Mal editiert, zuletzt von EliteBread () aus folgendem Grund: Bild Link 3xText

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen