Kleines Scriptproblem

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 Brote,


    gestern öffnete ich einen Thread zum Thema /admins im Dialog. Ich hab es dann auch nach etwas rumprobieren hinbekommen, nur jetzt hab ich ein klienes Problem und zwar:


    Wenn ich auf meinem Homeserver ingame bin und den Befehl nutze zeigt es das folgendermaßen an:



    Gut und schön, ich lade also das fertige Script auf den Root und geh nochmals ingame. Ein paar meiner Admins sind ebenfalls online. Also versuch ich mal /admins und siehe da, es zeigt entweder nur einen an oder keinen, wobei der eine ein 4*Admin waren und ich höher. Nur wie bekomm ich das nun hin, dass es alle Admins anzeigt und nicht nur einen, oder viellt. den Niedrigsten?
    Wäre für jede Hilfe, dankbar ...


    if(strcmp(cmd, "/admins", true) == 0 || strcmp(cmd, "/supporter", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, " ");
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast die Admin- und Supporterliste geöffnet.");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new string1[200],string2[200],string3[200],string4[200],string5[200],string6[200],string7[200],string8[200],string9[200],string10[200],string11[200],string12[200],rest[1500];
    format(string1, sizeof string1, "{FF0000}Serverowner:{FFFFFF}");
    if(PlayerInfo[i][pAdmin] == 1450)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string2, sizeof string2, " %d Inhaber: %s [%d] Telefon: %d",PlayerInfo[i][pAdmin],sendername,i,PlayerInfo[i][pPnumber]);
    }
    format(string3, sizeof string3, "{FF00FF}Super-Administratoren:{FFFFFF}");
    if(PlayerInfo[i][pAdmin] == 1338)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string4, sizeof string4, " %d Admin: %s [%d] Telefon: %d",PlayerInfo[i][pAdmin],sendername,i,PlayerInfo[i][pPnumber]);
    }
    if(PlayerInfo[i][pAdmin] == 1337)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string5, sizeof string5, " %d Admin: %s [%d] Telefon: %d",PlayerInfo[i][pAdmin],sendername,i,PlayerInfo[i][pPnumber]);
    }
    format(string6, sizeof string6, "{0000FF}Administratoren:{FFFFFF}");
    if(PlayerInfo[i][pAdmin] == 4)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string7, sizeof string7, " %d Admin: %s [%d] Telefon: %d",PlayerInfo[i][pAdmin],sendername,i,PlayerInfo[i][pPnumber]);
    }
    if(PlayerInfo[i][pAdmin] == 3)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string8, sizeof string8, " %d Admin: %s [%d] Telefon: %d",PlayerInfo[i][pAdmin],sendername,i,PlayerInfo[i][pPnumber]);
    }
    if(PlayerInfo[i][pAdmin] == 2)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string9, sizeof string9, " %d Admin: %s [%d] Telefon: %d",PlayerInfo[i][pAdmin],sendername,i,PlayerInfo[i][pPnumber]);
    }
    if(PlayerInfo[i][pAdmin] == 1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string10, sizeof string10, " %d Admin: %s [%d] Telefon: %d",PlayerInfo[i][pAdmin],sendername,i,PlayerInfo[i][pPnumber]);
    }
    format(string11, sizeof string11, "{00FF00}Supporter:{FFFFFF}");
    if(PlayerInfo[i][pSupporter] >= 1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string12, sizeof string12, " %d Supporter: %s [%d] Telefon: %d",PlayerInfo[i][pSupporter],sendername,i,PlayerInfo[i][pPnumber]);
    }
    format(rest, sizeof rest, "%s\n%s\n\n%s\%s\n%s\n\n%s\%s\n%s\n%s\n%s\n\n%s\n%s", string1,string2,string3,string4,string5,string6,string7,string8,string9,string10,string11,string12);
    ShowPlayerDialog(playerid,112,DIALOG_STYLE_MSGBOX, "Unsere Admins und Supporter",rest,"Fertig","");
    }
    }
    }
    return 1;
    }



    Mit freundlichen Grüßen
    Zilla


    //edit : Bild hinzugefügt (wurde nicht geladen)
    //edit : Pawn Code

    Einmal editiert, zuletzt von Zilla ()

  • Joa das alte /admins hab ich noch. Welche Codes meinst du die ich kopieren soll?
    Ehhm das is das ganze /admins.


    if (strcmp(cmd, "/admins", true) == 0 || strcmp(cmd, "/supporter", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, " ");
    SendClientMessage(playerid, COLOR_GRAD1, " Admins und Supporter:");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pAdmin] >= 1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string,sizeof(string)," %d* Admin: %s[%d] Nummer: %d",PlayerInfo[i][pAdmin],sendername,i,PlayerInfo[i][pPnumber]);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    }
    if(PlayerInfo[i][pSupporter] >=1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string,sizeof(string)," %d* Supporter: %s[%d] Nummer: %d",PlayerInfo[i][pSupporter],sendername,i,PlayerInfo[i][pPnumber]);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    }
    if(PlayerInfo[i][pSupporter] == 6)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string,sizeof(string)," %d* Admin: %s[%d] Nummer: %d",PlayerInfo[i][pSupporter],sendername,i,PlayerInfo[i][pPnumber]);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    }
    }
    }
    }
    return 1;
    }


    //edit : Wenns hilft, das ist das alte /admins

  • Hab hier (eher für mich) nen /admins-Befehl geschrieben.
    Musst ihn eigentlich nur so umändern, wie du es haben willst (mit den Adminlevels und den Namen).

    if (strcmp(cmd, "/admins", true) == 0 || strcmp(cmd, "/supporter", true) == 0)
    {
    new adminlist[256], admin[30];
    strcat(adminlist,"Serverowner:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(Spieler[i][Admin] == 0) continue;
    if(Spieler[i][Admin] == 5) { format(admin,sizeof(admin),"%s\n",Spieler[i][Name]); strcat(adminlist,admin); }
    }
    strcat(adminlist,"\nSuper-Administratoren:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(Spieler[i][Admin] == 0) continue;
    if(Spieler[i][Admin] == 4) { format(admin,sizeof(admin),"%s\n",Spieler[i][Name]); strcat(adminlist,admin); }
    }
    strcat(adminlist,"\nAdministratoren:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(Spieler[i][Admin] == 0) continue;
    if(Spieler[i][Admin] == 3) { format(admin,sizeof(admin),"%s\n",Spieler[i][Name]); strcat(adminlist,admin); }
    }
    strcat(adminlist,"\nSupport-Leiter:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(Spieler[i][Admin] == 0) continue;
    if(Spieler[i][Admin] == 2) { format(admin,sizeof(admin),"%s\n",Spieler[i][Name]); strcat(adminlist,admin); }
    }
    strcat(adminlist,"\nSupporter:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(Spieler[i][Admin] == 0) continue;
    if(Spieler[i][Admin] == 1) { format(admin,sizeof(admin),"%s\n",Spieler[i][Name]); strcat(adminlist,admin); }
    }

    ShowPlayerDialog(playerid,DIALOG_ADMINLIST,DIALOG_STYLE_MSGBOX,"Admins online:",adminlist,"Okay","");
    return 1;
    }

  • Jo danke ich probiers gelichmal aus und berichte dann ...


    Also habs mal reingebaut und dann das Spieler hat durhc PlayerInfo ersetzt, da er das Spieler nicht erkannt hat. So folgende Errors waren das resultat:


    Zeile (33503) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33504) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33504) : Unbekannte Variable : "Name"
    Zeile (33508) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33509) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33509) : Unbekannte Variable : "Name"
    Zeile (33513) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33514) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33514) : Unbekannte Variable : "Name"
    Zeile (33518) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33519) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33519) : Unbekannte Variable : "Name"
    Zeile (33523) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33524) : Array-Index fehlt (bspw. Array[1], Name: "Admin")
    Zeile (33524) : Unbekannte Variable : "Name"
    Zeile (33527) : Unbekannte Variable : "DIALOG_ADMINLIST"


    16 Errors, 0 Warnungen


    MfG


    //edit Info

    Einmal editiert, zuletzt von Zilla ()


  • if (strcmp(cmd, "/admins", true) == 0 || strcmp(cmd, "/supporter", true) == 0)
    {
    new adminlist[256], admin[30], aname[MAX_PLAYER_NAME];
    strcat(adminlist,"Serverowner:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(PlayerInfo[i][pAdmin] == 0) continue;
    if(PlayerInfo[i][pAdmin] == 5) { GetPlayerName(i,aname,MAX_PLAYER_NAME); format(admin,sizeof(admin),"%s\n",aname); strcat(adminlist,admin); }
    }
    strcat(adminlist,"\nSuper-Administratoren:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(PlayerInfo[i][pAdmin] == 0) continue;
    if(PlayerInfo[i][pAdmin] == 4) { GetPlayerName(i,aname,MAX_PLAYER_NAME); format(admin,sizeof(admin),"%s\n",aname); strcat(adminlist,admin); }
    }
    strcat(adminlist,"\nAdministratoren:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(PlayerInfo[i][pAdmin] == 0) continue;
    if(PlayerInfo[i][pAdmin] == 3) { GetPlayerName(i,aname,MAX_PLAYER_NAME); format(admin,sizeof(admin),"%s\n",aname); strcat(adminlist,admin); }
    }
    strcat(adminlist,"\nSupport-Leiter:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(PlayerInfo[i][pAdmin] == 0) continue;
    if(PlayerInfo[i][pAdmin] == 2){ GetPlayerName(i,aname,MAX_PLAYER_NAME); format(admin,sizeof(admin),"%s\n",aname); strcat(adminlist,admin); }
    }
    strcat(adminlist,"\nSupporter:\n");
    for(new i;i < MAX_PLAYERS;i++) {
    if(PlayerInfo[i][pAdmin] == 0) continue;
    if(PlayerInfo[i][pAdmin] == 1) { GetPlayerName(i,aname,MAX_PLAYER_NAME); format(admin,sizeof(admin),"%s\n",aname); strcat(adminlist,admin); }
    }

    ShowPlayerDialog(playerid,DIALOG_ADMINLIST,DIALOG_STYLE_MSGBOX,"Admins online:",adminlist,"Okay","");
    return 1;
    }
    <.<' , Bittesehr xD

  • Jo ich probiers dann gleich aus, und berichte xD


    So alle errors weg, dann Ingame zeigts die Dialogbox an, nur keinen Inhalt, also mich als Admin zeigts ned an.


    Mfg

    Einmal editiert, zuletzt von Zilla ()