/admins ist fehlerhaft

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
  • Moin Breadfish,


    ich würd gern alle aktuellen Admins die Online sind in einer Liste anzeigen lassen.
    Es wird nur 1 Admin angezeigt, woran könnte es liegen?





    //------------ADMINLISTE-------------
    if(strcmp(strget(cmdtext,0),"/admins",true) == 0)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Admins online");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPVarInt(playerid,"Adminlevel") > 0)
    {
    new name[MAX_PLAYER_NAME];
    new msg[200];
    GetPlayerName(i,name,sizeof(name));
    format(msg,sizeof(msg),"- %s (Admin-Level: %i)",name, GetPVarInt(playerid,"Adminlevel"));
    SendClientMessage(playerid,COLOR_WHITE,msg);
    return 1;
    }
    }
    return 1;
    }



    LG
    David

  • mach das return 1; aus der schleife raus.


    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • TheBlueFireKing hats ja schon gesagt.


    return beendet immer die aktuelle Funktion / das aktuelle Callback.
    Selbst wenn du es in einer Schleife verwendest, wird es nicht nur die Schleife, sondern auch das ganze Callback beenden.


    In Schleifen verwendet man continue (bricht den aktuellen Durchlauf ab, die Schleife läuft jedoch (mit dem nächsten Wert) weiter)
    und break (bricht die Schleife komplett ab (gleichzusetzen mit einem return, mit dem Unterschied, dass nur die Schleife beendet wird))

  • Blödsinn, das Problem liegt in der Schleife, du fragst nur die eigene Information (playerid) ab anstelle der Information der Schleife (i)


    so müsste es aussehen:

    if(strcmp(strget(cmdtext,0),"/admins",true) == 0)
    {
    new name[MAX_PLAYER_NAME],msg[124];
    SendClientMessage(playerid,COLOR_GREEN,"Admins online");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPVarInt(i,"Adminlevel") > 0)
    {
    GetPlayerName(i,name,sizeof(name));
    format(msg,sizeof(msg),"- %s (Admin-Level: %i)",name, GetPVarInt(i,"Adminlevel"));
    SendClientMessage(playerid,COLOR_WHITE,msg);
    }
    }
    return 1;
    }

  • Beitrag von uwe_crowe ()

    Dieser Beitrag wurde von Trooper[Y] gelöscht ().