KMH ANZEIGE ERSTELLEN???

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Guten Tag!!!


    Also ich habe letztens bei einem Kumpel gesehen das wenn mann in ein fahrzeug steigt mann eine kmh anzeige eine schadensanzeige und eine Benzinanzeige sieht...


    Kann mir mal einer sagen wie ich das hinbekomme??? ^^


    Thx in vorraus :)

  • unter #include

    #define SLOTS 200


    enum SavePlayerPosEnum {
    Float:LastX,
    Float:LastY,
    Float:LastZ
    }


    new SavePlayerPos[SLOTS][SavePlayerPosEnum];
    new Text:Speedo[SLOTS];
    new UpdateSeconds;


    und dann noch i-wo bei den Publics:



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_ONFOOT)
    {
    TextDrawHideForPlayer(playerid, Speedo[playerid]);
    }
    return 1;
    }


    public UpdateSpeed()
    {
    new Float:x,Float:y,Float:z;
    new Float:distance,value,string[256];
    for(new i=0; i<SLOTS; i++)
    {
    if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
    {
    TextDrawDestroy(Speedo[i]);
    }
    }


    for(new i=0; i<SLOTS; i++)
    {
    if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
    {
    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 * 3000);
    if(UpdateSeconds > 1)
    {
    value = floatround(value / UpdateSeconds);
    }


    format(string,sizeof(string),"~r~KM/H : %d" , floatround(value/1000));
    Speedo[i] = TextDrawCreate(300.00, 380.00, string);
    TextDrawSetOutline(Speedo[i], 0);
    TextDrawFont(Speedo[i], 3);
    TextDrawLetterSize(Speedo[i], 1.0, 1.5);
    TextDrawSetProportional(Speedo[i], 2);
    TextDrawAlignment(Speedo[i], 2);
    TextDrawShowForPlayer (i, Speedo[i]);


    }
    SavePlayerPos[i][LastX] = x;
    SavePlayerPos[i][LastY] = y;
    SavePlayerPos[i][LastZ] = z;
    }
    }


    musste natürlich noch Textdraw für dich anpassen^^

  • Thx...


    Aber der zeit mir eine Warnung???


    Zitat

    C:\Dokumente und Einstellungen\Computer\Desktop\samp022R2server.win32\gamemodes\lvdm.pwn(282) : warning 235: public function lacks forward declaration (symbol "UpdateSpeed")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


  • Lern scripten...

    forward UpdateSpeed();


    war das Lern scripten an mich? ich hatte das ausversehen vergessen...^^

  • Also ich weiß ja nicht ob das so richtig ist: :D


    Es sind jetzt ein paar fehlermeldungen mehr...

  • Kannst du mir mal bitte beide codes geben also jetzt mit diesem forward befehl mit drinne...
    I-wie weiß ich garnicht wo genau der hin soll habe rumprobiert aber i-wie geht da nix ^^

  • Kannst du mir mal bitte beide codes geben also jetzt mit diesem forward befehl mit drinne...
    I-wie weiß ich garnicht wo genau der hin soll habe rumprobiert aber i-wie geht da nix ^^


    bei den new's kommt das au hin: forward UpdateSpeed();


    also


    new xxx;
    new xxx;
    new xxx;
    forward UpdateSpeed();


  • ich glaube:


    Bei public OnPlayerStateChange(playerid, newstate, oldstate)


    das hier:

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_ONFOOT)
    {
    TextDrawHideForPlayer(playerid, Speedo[playerid]);
    }

    if(newstate == PLAYER_STATE_DRIVER)
    {
    TextDrawShowForPlayer(playerid, Speedo[playerid]);
    }
    return 1;
    }


    MfG,
    Melli


    PS:: sorry das ich mich net gemeldet habe...


    Falls es immer noch net Klappt:
    ICQ 483699899
    MSN minusgleichplus@web.de

  • i-wie geht bei dir viel nich xD


    Frag mich mal ICQ an^^


    483-699-899

  • Wenn ich das reinmach und dann einsteig kommt "Leertaste um die Animation zu stoppen" was aus einem FS stammt. Ich hab Server nochma neugestartet aber es kommt keine KM/H anzeige


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!