Admins im Dialog problem

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 Community ^^ kann mir einer sagen was ich falsch gemacht habe oder wie der code kleiner und weniger buggt ?
    ich geb /admins ein und server sagt UNKNOWN Command


    Hoffe mir kann einer helfen
    Danke im vorraus


    CODE:
    CMD:admins(playerid,params[])
    #pragma unused params
    {
    new Name[MAX_PLAYER_NAME],l1[1000], l2[1000], l3[1000], l4[1000], l5[1000], to[1000];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Acc[i][Adminlevel] == 5)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l5, sizeof l5,"%s\n%s (ID: %d)",l5,Name,i);
    }
    else if(Acc[i][Adminlevel] == 4)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l4, sizeof l4,"%s\n%s (ID: %d)",l4,Name,i);
    }
    else if(Acc[i][Adminlevel] == 3)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l3, sizeof l3,"%s\n%s (ID: %d)",l3,Name,i);
    }
    else if(Acc[i][Adminlevel] == 2)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l2, sizeof l2,"%s\n%s (ID: %d)",l2,Name,i);
    }
    else if(Acc[i][Adminlevel] == 1)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l1, sizeof l1,"%s\n%s (ID: %d)",l1,Name,i);
    }
    format(to,sizeof to,""RED"Serverleitung\n\n"ORANGE"%s\n\n"RED"Super Administratoren\n\n"ORANGE"%s\n\n"RED"Administratoren\n\n"ORANGE"%s\n\n"RED"Super Moderatoren\n\n"ORANGE"%s\n\n"RED"Moderatoren\n\n"ORANGE"%s\n\n"RED"Supporter\n\n"ORANGE"%s\n\n",l5,l4,l3,l2,l1);
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,""RED"Online Admins",to,"Schliessen","");
    }
    return ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,""RED"Online Admins",to,"Schliessen","");
    }

  • Schonmal von der Funktion strcat gehört ?
    DIe Fügt 2 Strings zusammen:


    CMD:admins(playerid,params[])
    #pragma unused params
    {
    new Name[MAX_PLAYER_NAME],string[256],content[1000];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Acc[i][Adminlevel] >= 1)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(string, sizeof string,"%s (ID: %d)",Name,i);
    strcat(content,string);
    }
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,""RED"Online Admins",content,"Schliessen","");
    }
    return 1;
    }


    MfG.
    Me

  • Hast du das irgendwo rauskopiert?
    Ich meine das geht viel einfacher.
    Wie sind dennd eine Admins definiert? bzw. dein Adminlevel?



    OnPlayerAsks(playerid,text)
    {
    new needhelp[192];
    format(needhelp,sizeof(needhelp),"%s",text);
    if(playerid == needhelp)
    {
    SendPrivateMessage(a6150,0xF0F0F0FF,text);
    }
    return 1;
    }

  • So ?


    CMD:admins(playerid,params[])
    #pragma unused params
    {
    new Name[MAX_PLAYER_NAME],l1[1000], l2[1000], l3[1000], l4[1000], l5[1000], to[1000];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Acc[i][Adminlevel] == 5)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l5, sizeof l5,"%s\n%s (ID: %d)",l5,Name,i);
    }
    else if(Acc[i][Adminlevel] == 4)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l4, sizeof l4,"%s\n%s (ID: %d)",l4,Name,i);
    }
    else if(Acc[i][Adminlevel] == 3)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l3, sizeof l3,"%s\n%s (ID: %d)",l3,Name,i);
    }
    else if(Acc[i][Adminlevel] == 2)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l2, sizeof l2,"%s\n%s (ID: %d)",l2,Name,i);
    }
    else if(Acc[i][Adminlevel] == 1)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l1, sizeof l1,"%s\n%s (ID: %d)",l1,Name,i);
    }
    format(to,sizeof to,""RED"Serverleitung\n\n"ORANGE"%s\n\n"RED"Super Administratoren\n\n"ORANGE"%s\n\n"RED"Administratoren\n\n"ORANGE"%s\n\n"RED"Super Moderatoren\n\n"ORANGE"%s\n\n"RED"Moderatoren\n\n"ORANGE"%s\n\n"RED"Supporter\n\n"ORANGE"%s\n\n",l5,l4,l3,l2,l1);
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,""RED"Online Admins",to,"Schliessen","");
    }
    return 1;
    }


    Denke das letzte return muss ein return 1 sein.

  • Weis nicht obs so Funkt:


    CMD:admins(playerid,params[])
    #pragma unused params
    {
    new Name[MAX_PLAYER_NAME],l1[1000], l2[1000], l3[1000], l4[1000], l5[1000],to[1000];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Content[500],Content1[500],Content2[500],Content3[500],Content4[500];
    if(Acc[i][Adminlevel] == 5)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l5, sizeof l5,"Serverleitung %s (ID: %d)",Name,i);
    strcat(Content,l5);
    }
    else if(Acc[i][Adminlevel] == 4)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l4, sizeof l4,"Superadmin %s (ID: %d)",Name,i);
    strcat(Content1,l4);
    }
    else if(Acc[i][Adminlevel] == 3)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l3, sizeof l3,"Admin %s (ID: %d)",Name,i);
    strcat(Content2,l3);
    }
    else if(Acc[i][Adminlevel] == 2)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l2, sizeof l2,"Super Moderator %s (ID: %d)",Name,i);
    strcat(Content3,l2);
    }
    else if(Acc[i][Adminlevel] == 1)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l1, sizeof l1,"Moderator %s (ID: %d)",Name,i);
    strcat(Content4,l1);
    }
    format(to,sizeof to,"Serverleitung\n\n%s\n\nSuper Administratoren\n\n%s\n\nAdministratoren\n\n%s\n\nSuper Moderatoren\n\n%s\n\nModeratoren\n\n%s\n\n",Content,Content1,Content2,Content3,Content4);
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Online Admins",to,"Schliessen","");
    }
    return 1;
    }


    Oder versuch das was ich als 1. Gepostet habe.


    MfG.
    Me

  • Wie währs wenn man
    format(l5, sizeof l5,"%s\n%s (ID: %d)",l5,Name,i);


    auf das hier:
    format(l5, sizeof(l5),"%s\n%s (ID: %d)",l5,Name,i);


    ändern würde.. ?

  • CMD:admins(playerid,params[]) #pragma unused params { new Name[MAX_PLAYER_NAME],l1[1000], l2[1000], l3[1000], l4[1000], l5[1000],to[1000]; for(new i = 0; i < MAX_PLAYERS; i++) { new Content[500],Content1[500],Content2[500],Content3[500],Content4[500]; if(Acc[i][Adminlevel] == 5) { GetPlayerName(i,Name,sizeof Name); format(l5, sizeof l5,"Serverleitung %s (ID: %d)",Name,i); strcat(Content,l5); } else if(Acc[i][Adminlevel] == 4) { GetPlayerName(i,Name,sizeof Name); format(l4, sizeof l4,"Superadmin %s (ID: %d)",Name,i); strcat(Content1,l4); } else if(Acc[i][Adminlevel] == 3) { GetPlayerName(i,Name,sizeof Name); format(l3, sizeof l3,"Admin %s (ID: %d)",Name,i); strcat(Content2,l3); } else if(Acc[i][Adminlevel] == 2) { GetPlayerName(i,Name,sizeof Name); format(l2, sizeof l2,"Super Moderator %s (ID: %d)",Name,i); strcat(Content3,l2); } else if(Acc[i][Adminlevel] == 1) { GetPlayerName(i,Name,sizeof Name); format(l1, sizeof l1,"Moderator %s (ID: %d)",Name,i); strcat(Content4,l1); } format(to,sizeof to,"Serverleitung\n\n%s\n\nSuper Administratoren\n\n%s\n\nAdministratoren\n\n%s\n\nSuper Moderatoren\n\n%s\n\nModeratoren\n\n%s\n\n",Content,Content1,Content2,Content3,Content4); ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Online Admins",to,"Schliessen",""); } return 1; }



    unknown command -.-

  • Warum den Dialog innerhalb der Schleife anzeigen? Du willst den String zusammenfassen und danach im Dialog ausgeben.
    Außerdem würde ich dir hierbei Switch nahelegen, ist bei größeren Integer-Abfragen sinnvoller.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • @dead jo aber hab showplayerdialog rausgenommen und ausserhalb der schleife geschrieben no errors/warn und unknown command


    CMD:admins(playerid,params[])
    #pragma unused params
    {
    new Name[MAX_PLAYER_NAME],l1[1000], l2[1000], l3[1000], l4[1000], l5[1000],to[1000];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Acc[i][Adminlevel] == 5)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l5, sizeof l5,"Serverleitung %s (ID: %d)",Name,i);
    }
    else if(Acc[i][Adminlevel] == 4)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l4, sizeof l4,"Superadmin %s (ID: %d)",Name,i);
    }
    else if(Acc[i][Adminlevel] == 3)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l3, sizeof l3,"Admin %s (ID: %d)",Name,i);
    }
    else if(Acc[i][Adminlevel] == 2)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l2, sizeof l2,"Super Moderator %s (ID: %d)",Name,i);
    }
    else if(Acc[i][Adminlevel] == 1)
    {
    GetPlayerName(i,Name,sizeof Name);
    format(l1, sizeof l1,"Moderator %s (ID: %d)",Name,i);
    }
    }
    format(to,sizeof to,"Serverleitung\n\n%s\n\nSuper Administratoren\n\n%s\n\nAdministratoren\n\n%s\n\nSuper Moderatoren\n\n%s\n\nModeratoren\n\n%s\n\n",l5,l4,l3,l2,l1);
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Online Admins",to,"Schliessen","");
    return 1;
    }