Unterschied GetMaxPlayers und die andere Schleife?

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
  • Es gibt ja hauptsächlich diese drei Methoden:
    for(new i = 0; i < MAX_PLAYERS; i++)
    for(new i = 0; i < GetMaxPlayers(); i++)
    for(new i = 0; i <= GetPlayerPoolSize(); i++)


    wobei man letztere beide eher so schreiben sollte:
    for(new i = 0, j = GetMaxPlayers(); i < j; i++)
    for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)


    MAX_PLAYERS:
    Das ist die Zahl, die in der a_samp.inc angegeben wurde. Die sollte der Anzahl der Slots entsprechen.


    GetMaxPlayers:
    Anzahl der Slots, die in der server.cfg stehen. Sollte MAX_PLAYERS entsprechen.


    => Daher sind Variante 1 & 2 eigentlich gleich, nur dass GetMaxPlayers etwas mehr (minimal) auf die Ressourcen geht.


    GetPlayerPoolSize:
    Das wurde mit 0.3.7 hinzugefügt und gibt dir die höchste Spieler-ID aus, die gerade online ist. Das kann, je nach leeren Slots, einige Schleifendurchläufe sparen. Von der Performance ist es daher die beste Variante.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry () aus folgendem Grund: Schreibfehler