User werden als Admins angezeigt und Befehl geht nicht Richtig

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, ich habe bei mir ein Adminsystem ( /admins ) eingebaut, aber wenn ein 2.er User auf den Server kommt und ich (der Admin) /admins macht, werden wir beide Angezeigt obwohl nur ich Admin bin... Und wenn er /admins macht, wird niemand angezeigt (auch nicht ich).


    if (strcmp(cmdtext, "/admins", true) == 0)
    {
    new strtext[1000];
    if(IsPlayerConnected(playerid))
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(Spieler[playerid][Admin] == 1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 128, "*[Supporter] %s [ID: %d]", sendername, i);
    }
    if(Spieler[playerid][Admin] == 2)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 128, "*[Moderator] %s [ID: %d]", sendername, i);
    }
    if(Spieler[playerid][Admin] == 3)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 128, "*[Admin] %s [ID: %d]", sendername, i);
    }
    if(Spieler[playerid][Admin] == 4)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 128, "*[Fulladmin] %s [ID: %d]", sendername, i);
    }
    strcat(string, "\n");
    strcat(strtext, string);
    }
    }
    ShowPlayerDialog(playerid, 0xF, DIALOG_STYLE_MSGBOX,"~ Admins ~", strtext, "Ok",#);
    }
    return 1;
    }


    Hoffe ihr könnt mir helfen..

    b_560_95_1.png[/url]



    b_560_95_1.png[/url]

  • Sorry bin noch neu, aber ich glaube dieses sendername, ich denke da wird der Username angezeigt der den CMD "gesendet" hat


    Versuchmal mit
    GetPlayerName




    Hoffe ich konnte helfen



    Edit: //
    Mach mal oben new sendername[128];


  • if (strcmp(cmdtext, "/admins", true) == 0)
    {
    new strtext[1000];
    if(IsPlayerConnected(playerid))
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(Spieler[i][Admin] == 1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 128, "*[Supporter] %s [ID: %d]", sendername, i);
    }
    if(Spieler[i][Admin] == 2)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 128, "*[Moderator] %s [ID: %d]", sendername, i);
    }
    if(Spieler[i][Admin] == 3)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 128, "*[Admin] %s [ID: %d]", sendername, i);
    }
    if(Spieler[i][Admin] == 4)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 128, "*[Fulladmin] %s [ID: %d]", sendername, i);
    }
    strcat(string, "\n");
    strcat(strtext, string);
    }
    }
    ShowPlayerDialog(playerid, 0xF, DIALOG_STYLE_MSGBOX,"~ Admins ~", strtext, "Ok",#);
    }
    return 1;
    }


    Versuch es mal so.

  • Guten Tag.
    Ich habe es in Meinem Skript so:

    ocmd:admins(playerid,params[])
    {
    new str[300], AdminlevelSs = GetPVarInt(playerid,"Adminlevel");
    new Adminzustands[50];
    if(AdminlevelSs == 1)
    {
    Adminzustands = "{6FFF00}Supporter";
    }
    if(AdminlevelSs == 2)
    {
    Adminzustands = "{00AFFF}Moderator";
    }
    if(AdminlevelSs == 3)
    {
    Adminzustands = "{FF4105}Super Moderator";
    }
    if(AdminlevelSs == 4)
    {
    Adminzustands = "{FE0001}Admin";
    }
    if(AdminlevelSs == 5)
    {
    Adminzustands = "{993CF3}Fulladmin";
    }
    for(new j; j < MAX_PLAYERS; j++)
    {
    if(isPlayerAnAdmin(j,1))
    {
    format(str, sizeof(str),"{FFFFFF}%s\n%s\t{009AFF}%s{FFFFFF}",str, GetName(j), Adminzustands);
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Little-Roleplay Team", str, "---", "");
    return 1;
    }
    Du musst dann Diesen stock im Skript defeniert haben

    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }


    Und eventuell auch den Stock:

    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    Wenn es Error / Warnings Gibt,meld dich einfach Via PN mit den Fehlern.
    Und ich Helfe dir dann.


    MFG
    ShiNuX


    //E Fehler Gefunden