|Befehl - ocmd:admins |

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
  • Liebe Community,


    Ich suche schon lange nach einen ocmd:admins befehl aber finde keins (in der form eines Dialoges), und ich bekomme es leider nicht selber hin. Vielleicht könnt ihr mir helfen :)


    Ich habe es mir so vorgestellt:


    Supporter: %s
    Moderator: %s
    Administrator: %s
    Head Administrator: %s
    Stellv. Projektleiter: %s
    Projektleiter: %s




    Und wenn keine da sind, dass dann da steht -> Es ist zurzeit leider ein Team-Mitglied online.




    Hoffe es gibt Hilfe :)












    MfG,
    James.

  • Moment, ich editiere den fertigen Code gleich hier rein.


    //Edit:
    Der Code ist ungetestet, du musst zudem alles auf dein Script anpassen.
    stock Adminrang(playerid)
    {
    new rang[54];
    switch(SpielerInfo[playerid][pAdminlevel])
    {
    case 0:{rang="Kein Team-Mitglied";}
    case 1:{rang="Supporter";}
    case 2:{rang="Moderator";}
    case 3:{rang="Administrator";}
    case 4:{rang="Head Administrator";}
    case 5:{rang="Stellv. Projektleiter";}
    case 6:{rang="Projektleiter";}
    default:{rang="ERROR";}
    }
    return rang;
    }


    ocmd:admins(playerid,params[])
    {
    #pragma unused params
    new string[1700],onlineadmins = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(GetPVarInt(i,"Eingeloggt") == 1)
    {
    if(isPlayerAnAdmin(i,1))
    {
    format(string,sizeof(string),"%s: %s\n%s",Adminrang(i),SpielerInfo[i][pName],string);
    ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Aktive Team-Mitglieder",string,"Verlassen","");
    onlineadmins++;
    }
    }
    }
    }
    if(onlineadmins == 0)return SendClientMessage(playerid,COLOR_GRAU,"Es ist kein Team-Mitglied aktiv.");
    return 1;
    }

    2 Mal editiert, zuletzt von John Wayne () aus folgendem Grund: //Edit: Code eingebaut / eingerückt

  • Komm, nicht finden und keinen ansatz haben?
    Aber naja ich hab nen guten tag und hab dir mal was zusammen geschrieben..
    Das sollte eigendlich so funktionieren. Aber gucke dir den Code an und verstehe ihn, Kopiere ihn nicht einfach!

    ocmd:admins(playerid)
    {
    new string[400],i,rank[20],online,Name;
    switch(Adminvariable)
    {
    case 1: rank = "Admin";
    case 2: rank = "baum"; //sollte klar sein.
    }
    for(;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(Adminvairable==0)continue;
    GetPlayerName(i,Name,MAX_PLAYER_NAME);
    format(string,sizeof(string),"%s%s %s\n",string,rank,Name);
    online++;
    }
    if(!online)return SendClientMessage(playerid,-1,"Kein Admin");
    return ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Admins",string,"Okay","");
    }

  • Du brauchst dafür kein ocmd.


    if(!strcmp(cmdtext, "/admins", true)){
    for(new x, tmp[1024], o = GetMaxPlayers(); x != o; ++x){
    if(!IsPlayerConnected(x) || IsPlayerNPC(x) || !adminvariable)continue;
    format(tmp, sizeof tmp, "%s%s%s\n", tmp, GetPlayerAdminRang(x), getPlayerName(x));
    if(x == o && o == GetMaxPlayers())break;
    }
    ShowPlayerDialog(playerid, id, DIALOG_STYLE_MSGBOX, "admins", tmp, "ok", "");
    }


    stock getPlayerName(playerid){
    static name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    return name;
    }


    stock GetPlayerAdminRang(playerid){
    static tmp_0[25];
    switch(adminvariable){
    case 0: tmp_0 = "kein teammitglied";
    case 1: tmp_0 = "supporter";
    }
    return tmp_0;
    }


    Ist nur Grob hingeschrieben, ob du aus dem Code so viel lernst würde ich mal nicht sagen.


    mfg :thumbup: