Fps anzeige ingame

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 Breadfishler :D


    Ich habe eine script frage zu der ich keine Ergebnisse gefunden habe und zwar würde ich gerne auf meinem Dm Server eine
    Fps Anzeige In form eines Textdraw machen ich bitte um eure Hilfe


    Mfg


    DasPöse

  • Ist glaubich nichtmal Möglich die Latenz anzeigen zu lassen.


    Du könntest höchstens irgendwie von der Online-Anzeige irgendwie die Latenz anzeigen lassen.


    Wozu ne Anzeige wenns eh schon drin steht.


  • new pDrunkLevelLast[MAX_PLAYERS];
    new pFPS[MAX_PLAYERS];

    public OnPlayerConnect(playerid) {
    pDrunkLevelLast[playerid] = 0;
    pFPS[PlayerID] = 0;
    }

    public OnPlayerUpdate(playerid) {

    // handle fps counters.

    new drunknew;
    drunknew = GetPlayerDrunkLevel(playerid);

    if (drunknew < 100) { // go back up, keep cycling.
    SetPlayerDrunkLevel(playerid, 2000);
    } else {

    if (pDrunkLevelLast[playerid] != drunknew) {

    new wfps = pDrunkLevelLast[playerid] - drunknew;

    if ((wfps > 0) && (wfps < 200))
    pFPS[playerid] = wfps;

    pDrunkLevelLast[playerid] = drunknew;
    }

    }

    }








    Okey das ist jetzt der Code wie kann ich dies nun in einer SendClientMessage wiedergeben also Deine Fps ist :
    oder halt in einem Textdraw ( Idealste Lösung )


  • public Fps(playerid)
    {
    new Fps[10];
    format(Fps, sizeof(Fps), "Fps: %i",pFPS[playerid]);//hier halt mir deinem erstetzen.. also GetPVarInt
    TextDrawSetString(Fpstextdraw[playerid],pFPS[playerid]);
    return 1;
    }






    ich lasse das Fps system sich über ein Ti mer jede sec aktuallisieren
    nur ich bekomme diesen error und ingame zeigt et nur ein buchtstbe an der sich jede sec verändert ^^


    C:\Users\Jack.Walker\Desktop\I Like to Script That\Neuer Ordner (3)\gamemodes\Hardlife.pwn(1656) : warning 219: local variable "Fps" shadows a variable at a preceding level


  • Das bedeutet, dass die Variable schon erstellt wurde. Mach anstatt new fps[10]; einfach mal new fps2[10];


    PS: Du kannst auch diesen stock direkt verwenden, dann müsstest Du anstatt pFPS[playerid], GetPVarInt(playerid,"FPS"); benutzen, wenn Du Strings formatieren willst.
    stock GetPlayerFPS(playerid)
    {
    SetPVarInt(playerid, "DrunkL", GetPlayerDrunkLevel(playerid));
    if(GetPVarInt(playerid, "DrunkL") < 100)
    {
    SetPlayerDrunkLevel(playerid, 2000);
    }
    else
    {
    if(GetPVarInt(playerid, "LDrunkL") != GetPVarInt(playerid, "DrunkL"))
    {
    SetPVarInt(playerid, "FPS", (GetPVarInt(playerid, "LDrunkL") - GetPVarInt(playerid, "DrunkL")));
    SetPVarInt(playerid, "LDrunkL", GetPVarInt(playerid, "DrunkL"));
    if((GetPVarInt(playerid, "FPS") > 0) && (GetPVarInt(playerid, "FPS") < 256))
    {
    return GetPVarInt(playerid, "FPS") - 1;
    }
    }
    }
    return 0;
    }

    Let the party begin - turn all the lights on!


  • public Fps(playerid)
    {
    new fps[40];
    format(fps, sizeof(fps), "Fps: %d",GetPVarInt(playerid,"FPS"));//hier halt mir deinem erstetzen.. also GetPVarInt
    TextDrawSetString(Fpstextdraw[playerid], fps);
    return 1;
    }





    So es wird nun ngezeigt nur nun Steht da Durchgehend 0 :S