Scripter unter /admins einfügen

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 liebe Leute,


    ich habe folgendes Problem,
    ich wollte einen neuen Rang unter /admins einfügen welcher sich Scripter nennt.
    Habe dafür auch alles eingestellt wie z.B. pScripter und den Rest.
    Problem ist aber das ich trotzdem als Projektleiter angezeigt werde.. Wo liegt das Problem ?



    ocmd:admins(playerid,params[]) {
    #pragma unused params
    new plname[MAX_PLAYER_NAME],result[500],string[256],sendername[MAX_PLAYER_NAME],strings[228];
    foreach(Player, i){
    if(!IsPlayerNPC(i)) {
    if(PlayerInfo[i][pAdmin] == 0) continue;
    if(PlayerInfo[i][pScripter] == 0) continue;
    GetPlayerName(i, plname, sizeof(plname));
    GetPlayerName(i, sendername, sizeof(sendername));
    if(AdminDuty[i] == 1) format(string, sizeof(string), "{00FF00}[IM DIENST] %s | Nummer: %d\n", plname,PlayerInfo[i][pPnumber]);
    else if(M_Bot[i][PAFK] == 1) format(string,sizeof(string),"{FF0000}[AWAY] %s | Nummer: %d\n", plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 1) format(string,sizeof(string),"%s | Probe Supporter | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 2) format(string,sizeof(string),"%s | Supporter | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 3) format(string,sizeof(string),"%s | Moderator | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 4) format(string,sizeof(string),"%s | Super Moderator | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 5) format(string,sizeof(string),"%s | Administrator | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 6) format(string,sizeof(string),"%s | Head-Admin | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 7) format(string,sizeof(string),"%s | Projektleiter | Nummer: %d\n\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pScripter] == 8) format(string,sizeof(string),"%s | Scripter | Nummer: %d\n\n",plname,PlayerInfo[i][pPnumber]);


    result = str_combine_large(result, string);
    }
    }


    MfG

  • Das Problem ist die Reihenfolge. Wenn du Admin ist, dann trifft das zuerst zu, die unteren werden auf Grund des else's nicht mehr abgefragt.
    Stelle es so um:

    ocmd:admins(playerid,params[])
    {
    #pragma unused params
    new plname[MAX_PLAYER_NAME],result[500],string[256],sendername[MAX_PLAYER_NAME],strings[228];
    foreach(Player, i)
    {
    if(!IsPlayerNPC(i))
    {
    if(PlayerInfo[i][pAdmin] == 0 && PlayerInfo[i][pScripter] == 0) continue;
    GetPlayerName(i, plname, sizeof(plname));
    GetPlayerName(i, sendername, sizeof(sendername));
    if(AdminDuty[i] == 1) format(string, sizeof(string), "{00FF00}[IM DIENST] %s | Nummer: %d\n", plname,PlayerInfo[i][pPnumber]);
    else if(M_Bot[i][PAFK] == 1) format(string,sizeof(string),"{FF0000}[AWAY] %s | Nummer: %d\n", plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pScripter] == 8) format(string,sizeof(string),"%s | Scripter | Nummer: %d\n\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 1) format(string,sizeof(string),"%s | Probe Supporter | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 2) format(string,sizeof(string),"%s | Supporter | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 3) format(string,sizeof(string),"%s | Moderator | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 4) format(string,sizeof(string),"%s | Super Moderator | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 5) format(string,sizeof(string),"%s | Administrator | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 6) format(string,sizeof(string),"%s | Head-Admin | Nummer: %d\n",plname,PlayerInfo[i][pPnumber]);
    else if(PlayerInfo[i][pAdmin] == 7) format(string,sizeof(string),"%s | Projektleiter | Nummer: %d\n\n",plname,PlayerInfo[i][pPnumber]);


    result = str_combine_large(result, string);
    }
    }
    Außerdem habe ich dir die Abfrage auf pAdmin und pScripter = 0 geändert, da sonst keine Admins mehr angezeigt worden wären, die kein Scripter sind.