| /admins - Dialog |

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 habe vor einiger zeit einen /admins befehl erstellt. Nun will ich ein Dialog dadraus machen, aber weiß nicht wie ich das mache.


    Der vorherige Befehl:



    if (strcmp(cmd, "/admins", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid, COLOR_WHITE, "______________ Admins Online ______________");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pAdmin] == 1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {FFFF00}Supporter{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 2)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {33CC44}Moderator{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 3)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {0000FF}Administrator{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 4)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {B40431}Head Administrator{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 1336)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {01DFD7}Manager{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 1337)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {DF0101}Stellv. Projektleiter{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 1338)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {FF0000}Projektleiter{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    }
    }
    SendClientMessage(playerid, COLOR_WHITE, "______________ Admins Online ______________");
    }
    return 1;
    }



    wäre echt nett wenn ihr mir helfen könntet.




    MFG
    James.

  • hier mein funktionstüchtiger befehl :D




    [expander]ocmd:admins(playerid)
    {
    new string[1024];
    format(string,sizeof(string),"Folgende Admins sind Online:\n");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(sInfo[i][eingeloggt]!=1)continue;
    if(sInfo[i][alevel]<=0)continue;
    if(sInfo[i][alevel]==9){format(string,sizeof(string),"%s\nProjektleiter: %s",string,SpielerName(i));}
    if(sInfo[i][alevel]==8){format(string,sizeof(string),"%s\nDevelopment: %s",string,SpielerName(i));}
    if(sInfo[i][alevel]==7){format(string,sizeof(string),"%s\nServer-Manager: %s",string,SpielerName(i));}
    if(sInfo[i][alevel]==6){format(string,sizeof(string),"%s\nChef-Administrator: %s",string,SpielerName(i));}
    if(sInfo[i][alevel]==5){format(string,sizeof(string),"%s\nAdministrator: %s",string,SpielerName(i));}
    if(sInfo[i][alevel]==4){format(string,sizeof(string),"%s\nChef-Moderator: %s",string,SpielerName(i));}
    if(sInfo[i][alevel]==3){format(string,sizeof(string),"%s\nModerator: %s",string,SpielerName(i));}
    if(sInfo[i][alevel]==2){format(string,sizeof(string),"%s\nSupporter: %s",string,SpielerName(i));}
    if(sInfo[i][alevel]==1){format(string,sizeof(string),"%s\nProbe-Supporter: %s",string,SpielerName(i));}
    }
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"{37CD00}4RL-Reallife: {FFFFFF}Teammitglieder",string,"OK","");
    return 1;
    }[/expander]


    Dieser wird im DIALOG angezeigt und halt die Ränge

  • Hier empfiehlt es sich über einen switch zu arbeiten:
    if(strcmp(cmd, "/admins", true) == 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, sendername, sizeof(sendername))) //Gibt false/0 zurück, wenn der Spieler nicht online ist
    {
    switch(PlayerInfo[i][pAdmin])
    {
    case 1: format(string, sizeof(string), "%s{FFFF00}Supporter{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 2: format(string, sizeof(string), "%s{33CC44}Moderator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 3: format(string, sizeof(string), "%s{0000FF}Administrator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 4: format(string, sizeof(string), "%s{B40431}Head Administrator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1336: format(string, sizeof(string), "%s{01DFD7}Manager{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1337: format(string, sizeof(string), "%s{DF0101}Stellv. Projektleiter{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1338: format(string, sizeof(string), "%s{FF0000}Projektleiter{FFFFFF}: %s [%d]\n", string, sendername,i);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Online Admins", string, "Ok", "");
    return 1;
    }

  • Ich bekomme mal wieder errors.


    Errors:



    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : error 029: invalid expression, assumed zero
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : error 001: expected token: ";", but found ")"
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : error 029: invalid expression, assumed zero
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(31094) : fatal error 107: too many error messages on one line



    die Zeilen:



    if(strcmp(cmd, "/admins", true) == 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, sendername, sizeof(sendername))) //Gibt false/0 zurück, wenn der Spieler nicht online ist
    {
    switch(PlayerInfo[i][pAdmin])
    {
    case 1: format(string, sizeof(string), "%s{FFFF00}Supporter{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 2: format(string, sizeof(string), "%s{33CC44}Moderator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 3: format(string, sizeof(string), "%s{0000FF}Administrator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 4: format(string, sizeof(string), "%s{B40431}Head Administrator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1336: format(string, sizeof(string), "%s{01DFD7}Manager{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1337: format(string, sizeof(string), "%s{DF0101}Stellv. Projektleiter{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1338: format(string, sizeof(string), "%s{FF0000}Projektleiter{FFFFFF}: %s [%d]\n", string, sendername,i);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Online Admins", string, "Ok", ""); // ERROR
    return 1;
    }

  • Hast du es nicht richtig eingefügt? Ich kann es so ohne Probleme kompilieren.
    Das von Direct_Player: müsste ebenso funktionieren, ist ja das gleiche, nur eben mit if-Verknüpfungen.



    if(strcmp(cmd, "/admins", true) == 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, sendername, sizeof(sendername))) //Gibt false/0 zurück, wenn der Spieler nicht online ist
    {
    switch(PlayerInfo[i][pAdmin])
    {
    case 1: format(string, sizeof(string), "%s{FFFF00}Supporter{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 2: format(string, sizeof(string), "%s{33CC44}Moderator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 3: format(string, sizeof(string), "%s{0000FF}Administrator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 4: format(string, sizeof(string), "%s{B40431}Head Administrator{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1336: format(string, sizeof(string), "%s{01DFD7}Manager{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1337: format(string, sizeof(string), "%s{DF0101}Stellv. Projektleiter{FFFFFF}: %s [%d]\n", string, sendername,i);
    case 1338: format(string, sizeof(string), "%s{FF0000}Projektleiter{FFFFFF}: %s [%d]\n", string, sendername,i);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Online Admins", string, "Ok", ""); // ERROR
    return 1;
    }
    /*if (strcmp(cmd, "/admins", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid, COLOR_WHITE, "______________ Admins Online ______________");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pAdmin] == 1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {FFFF00}Supporter{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 2)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {33CC44}Moderator{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 3)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {0000FF}Administrator{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 4)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {B40431}Head Administrator{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 1336)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {01DFD7}Manager{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 1337)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {DF0101}Stellv. Projektleiter{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    if(PlayerInfo[i][pAdmin] == 1338)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 256, "* {FF0000}Projektleiter{FFFFFF}: %s [%d]", sendername,i);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    }
    }
    SendClientMessage(playerid, COLOR_WHITE, "______________ Admins Online ______________");
    }
    return 1;
    }*/
    if (strcmp("/carhelp", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    SendClientMessage(playerid, COLOR_WHITE,"*** Commands *** /park /carlock /carkey /carsell");
    return 1;
    }


    so hab ich es eingefügt.

  • case 1336: format(string, sizeof(string), "%s{01DFD7}Manager{FFFFFF}: %s [%d]\n", string, sendername,i); case 1337: format(string, sizeof(string), "%s{DF0101}Stellv. Projektleiter{FFFFFF}: %s [%d]\n", string, sendername,i); case 1338: format(string, sizeof(string), "%s{FF0000}Projektleiter{FFFFFF}: %s [%d]\n", string, sendername,i);


    Wieso ist das denn eigentlich mit 1336 und 1337


    wieso nicht 5 6 7 etc


    ??


    Und könntest du die Zeilen makieren auf die sich die Errors beziehen



    Vielen Dank :D



    PS: probier mal das was ich gepostet habe

  • dann poste mal bitte die problemzeilen + den jeweiligen error


    Errors:


    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : error 029: invalid expression, assumed zero
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : error 001: expected token: ";", but found ")"
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : error 029: invalid expression, assumed zero
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : fatal error 107: too many error messages on one line



    Die Zeilen:



    ocmd:admins(playerid)
    {
    new string[1024];
    format(string,sizeof(string),"Folgende Admins sind Online:\n");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(PlayerInfo[i][pAdmin]<=0)continue;
    if(PlayerInfo[i][pAdmin]==1338){format(string,sizeof(string),"%s\nProjektleiter: %s",string,SpielerName(i));}
    if(PlayerInfo[i][pAdmin]==1337){format(string,sizeof(string),"%s\nStellv. Projektleiter: %s",string,SpielerName(i));}
    if(PlayerInfo[i][pAdmin]==1336){format(string,sizeof(string),"%s\nManager: %s",string,SpielerName(i));}
    if(PlayerInfo[i][pAdmin]==4){format(string,sizeof(string),"%s\nHead Administrator: %s",string,SpielerName(i));}
    if(PlayerInfo[i][pAdmin]==3){format(string,sizeof(string),"%s\nAdministrator: %s",string,SpielerName(i));}
    if(PlayerInfo[i][pAdmin]==2){format(string,sizeof(string),"%s\nModerator: %s",string,SpielerName(i));}
    if(PlayerInfo[i][pAdmin]==1){format(string,sizeof(string),"%s\nSupporter: %s",string,SpielerName(i));}
    }
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"{37CD00}4RL-Reallife: {FFFFFF}Teammitglieder",string,"OK",""); // Erros
    return 1;
    }

  • errors:


    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : error 029: invalid expression, assumed zero
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : warning 215: expression has no effect
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : error 001: expected token: ";", but found ")"
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : error 029: invalid expression, assumed zero
    C:\SA-MP Server\gamemodes\LoR-v1-6.pwn(47660) : fatal error 107: too many error messages on one line

  • Markiere die Zeile mal aus, mit "//", kannst du es dann kompilieren?
    Wenn ja, poste mal einen Code der bei dir im Spiel auch einen Dialog anzeigt, aber keine Errors produziert.
    Möglicherweise hast du das gehookt und deshalb passiert der Fehler.

  • Hallo,


    macht es euch doch nicht schwer

    Kurze Erklärung:


    z.B.: if(PlayerInfo[pAdmin]==1338) format(string,sizeof(string)," Projektleiter: %s\n",plname);
    Du fragst ab ob ein Admin mit dem Rang 1338 Online ist und dann gibst du aus "Projektleiter %s",plname also den Spieler seinen Namen aus,
    so wäre es mit if Abfragen!


    Ich hoffe ich konnte dir/euch ein Stück weiterhelfen...


    Direct_Player du solltest schon wissen wo und für was du die zwei %s hingesetzt hast eins war zu viel!


    Falls Fragen oder so sind schreibt mich per PN an :)


    Lg
    J0a9


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen