/admins im GUI?

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
  • Hey zusammen,


    wie der Titel schon sagt wüsst ich gerne wie ich das hinbekomm das die Admins im GUI angezeigt werden...


    Ich hatte mir das ungefähr so vorgestellt, das es genauso im Dialog steht:


    -> Server Owner
    [Admin]


    -> Administrator
    [Admin]


    -> Super Moderator
    [Admin]


    -> Moderator
    [Admin]


    Also so, das "Server Owner" etc. auch noch angezeigt werden wenn kein Admin online ist (dann sieht´s nich so leer aus :D)



    Kann mir da jemand weiterhelfen?


    Danke im Voraus

  • glaub dies ist im GUI nicht möglich^^ da ich es jedoch nicht weiß (zuwenig mit HUI gearbeitet) sage ich es nicht sicher

    Zitat

    naja aufm homeserver mit kumpel getestet und nix laggt von daher sollte nen richtiger server mit sowas keine probs haben

    *an Kopf schlag
    sowas kommt Raus wenn man erst absendet ohne nachzudenken. Bitte Leute Hirn einschalten beim Posten...

  • Ich hoffe, dass das hier geht.
    Eine bessere Idee ist mir dafür um 3:00 Uhr morgends nicht eingefallen :D
    Das hier oben ins Script:

    #define SERVER_OWNER "Hans" //Namen anpassen
    #define ADMINISTRATOR "Dieter"
    #define SUPER_MODERATOR "Ulrich"
    #define MODERATOR "Kobolt"// ein 8D easteregg :D
    #define Admindialog 2222


    Das folgende kommt unter OnPlayerCommandText:

    if (strcmp(cmd, "/admins", true) == 0)
    {
    new Adminname[MAX_PLAYER_NAME];
    new text1[32];
    new text2[32];
    new text3[32];
    new text4[32];
    new text5[256];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    GetPlayerName(playerid, Adminname, sizeof(Adminname));
    if(!strcmp(Adminname,SERVER_OWNER, true))
    {
    format(text1,sizeof(text1),"%s",SERVER_OWNER);
    }
    else
    {
    format(text1,sizeof(text1),"");
    }
    if(!strcmp(Adminname,ADMINISTRATOR, true))
    {
    format(text1,sizeof(text2),"%s",ADMINISTRATOR);
    }
    else
    {
    format(text1,sizeof(text2),"");
    }
    if(!strcmp(Adminname,SUPER_MODERATOR, true))
    {
    format(text1,sizeof(text3),"%s",SUPER_MODERATOR);
    }
    else
    {
    format(text1,sizeof(text3),"");
    }
    if(!strcmp(Adminname,MODERATOR, true))
    {
    format(text1,sizeof(text4),"%s",MODERATOR);
    }
    else
    {
    format(text1,sizeof(text4),"");
    }
    }
    format(text5,sizeof(text5),"Server Owner\n%s\nAdministrator\n%s\nSuper Moderator\n%s\nModerator\n%s",text1,text2,text3,text3);
    ShowPlayerDialog(playerid,2222,DIALOG_STYLE_MSGBOX,"Admins",text5 ,"Ok","Ok");



    Und das unter Ondialogresponse:
    if(dialogid == 2222)
    {
    if(response == 1)
    {
    return 1;
    }
    if(response == 0)
    {
    return 1;
    }
    }


    Ich habe das nicht getestet.
    Es besteht keine Garantie auf Funktionalität!



    Gruß Hauke

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Kein Problem ;)
    Jeweils bei dem else in der Abfrage, ob der Name online ist, kann der Text noch angepasst werden. Z.b. hier: format(text1,sizeof(text1),"");

    Wenn man daraus format(text1,sizeof(text1),"Nicht Online"); macht, steht unter Server Owner "Nicht Online" drunter.


    Gruß Hauke

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Also ich hab mich eben ma hingesetzt und n bisschen was zusammen geschrieben (Sorry |-|auke, deins war echt total verbuggt & hätte nicht funktioniert), was eigentlich funktioneren müsste.
    Ich konnte es nich testen da ich ja grad ma keine Leute auf ienen Server hab also wird auch nichts angezeigt.
    Einen neuen Admin usw. kannst du in OnGameModeInit erstellen (einfach mal nachschauen)
    #include <a_samp>


    #define ServerOwner 0
    #define Administrator 1
    #define SuperModerator 2
    #define Moderator 3


    #define GroupID 1337
    #define groupsize 10


    new a_name[MAX_PLAYER_NAME];


    enum a_admins
    {
    name[MAX_PLAYER_NAME],
    bool:online
    }


    // Gruppe / Anzahl / Stringsize
    new Admins[4][groupsize][a_admins];


    new Groups[4][20] = {"-> Server Owner", "-> Adminstrator", "-> Supermoderator", "-> Moderator"};


    public OnGameModeInit()
    {
    format(Admins[ServerOwner][0][name], MAX_PLAYER_NAME, "YourName"); // ServerOwner 1
    format(Admins[ServerOwner][1][name], MAX_PLAYER_NAME, "YourName"); // ServerOwner 2
    format(Admins[Administrator][0][name], MAX_PLAYER_NAME, "YourName"); // Admin 1
    format(Admins[Administrator][1][name], MAX_PLAYER_NAME, "YourName"); // Admin 2
    format(Admins[SuperModerator][0][name], MAX_PLAYER_NAME, "YourName"); // SuperMod 1
    format(Admins[SuperModerator][1][name], MAX_PLAYER_NAME, "YourName"); // SuperMod 2
    format(Admins[Moderator][0][name], MAX_PLAYER_NAME, "YourName"); // Mod 1
    format(Admins[Moderator][1][name], MAX_PLAYER_NAME, "YourName"); // Mod 2
    // Also Admins[ Gruppe ][ 0-9 ][ name (stehen lassen) ]
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    for(new a=0; a<4; a++)
    {
    for(new i=0; i<groupsize; i++)
    {
    if(!strcmp(PlayerName(playerid), Admins[a][i][name], true))
    {
    Admins[a][i][online] = true;
    }
    break;
    }
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    for(new a=0; a<4; a++)
    {
    for(new i=0; i<groupsize; i++)
    {
    if(!strcmp(PlayerName(playerid), Admins[a][i][name], true))
    {
    Admins[a][i][online] = false;
    }
    break;
    }
    }
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/admins", true))
    {
    new b_string[256];
    for(new i=0; i<4; i++)
    {
    format(b_string, sizeof(b_string), "%s\n", Groups[i]);
    for(new a=0; a<groupsize; a++)
    {
    if(Admins[i][a][online] == true)
    {
    format(b_string, sizeof(b_string), "%s%s\n", b_string, Admins[i][a][name]);
    }
    }
    }
    ShowPlayerDialog(playerid, GroupID, DIALOG_STYLE_MSGBOX, "Admins", b_string, "Ok", "Cancel");
    //ShowPlayerDialog(playerid, GroupID, DIALOG_STYLE_LISTBOX, "Admins", b_string, "Ok", "Cancel");
    return 1;
    }
    return 0;
    }


    stock PlayerName(playerid)
    {
    GetPlayerName(playerid, a_name, MAX_PLAYER_NAME);
    return a_name;
    }

    Einmal editiert, zuletzt von Rafelder ()