FPS Fehler

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 Brotfische,


    Ich habe ein Problem bzw. ein Fehler bei meinem FPS System (frames per second) undwar wird mir die FPS zahl zwar angezeigt, aber wenn ich jetzt auf der Map laufe, wird mir mal 92, 95, 98 und immer mal wieder 0 angezeigt... (also das die FPS zahl wechselt ist mir klar :rolleyes: aber das sie immer wieder auf 0 ... da stimmt doch etwas nicht oder?)


    Codes:


    Ich hoffe ihr könnt mir helfen ;)



    MfG


    Mit freundlichen Grüßen
    German_ScripterHD

  • Stimmt der Rest sonst?
    Wenn ja, dann würde ich es einfach so machen, das schließt die Fehler aus:

    C
    public Fps(playerid)
    {
    	new fpsstring[50], fps = GetPlayerFPS(playerid);
    	if(fps <= 0) return 1;
    	format(fpsstring, sizeof(fpsstring), "%d",fps);
    	PlayerTextDrawSetString(playerid,fpsanzeige[playerid],fpsstring);
    	PlayerTextDrawShow(playerid, fpsanzeige[playerid]);
    	return 1;
    }
  • Vielen Dank

    Ich poste hier nochmal, da dein Code noch einige weitergehende Probleme hat, die du aber beim alleinigen Test nicht merken wirst.
    - Es werden irgendwann ziemlich viele Timer laufen, da die Variable nicht gespeichert wird, sondern nur lokal existiert.
    - Du löschst das Textdraw, anstatt es zu verstecken, sprich es kann nicht wieder angezeigt werden.
    - Schält ein Spieler die Anzeige an, dann ist sie für alle an.


    Mache es so:


    Bei OnGameModeInit:

    C
    SetTimer("Fps",500,true);


    Unter den Includes:

    C
    new bool:fpsbefehl[MAX_PLAYERS];


    Den Befehl:


    Das Timer Callback:


    Und bei OnPlayerConnect:

    C
    fpsbefehl[playerid]=false;