/afklist Bugt

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 Liebes Comm,


    Ich wollte eigentlich mein /afklist heute Fixen aber es geht nicht,
    Wenn man Ingame /afklist macht steht da man "Niemand ist Afk" obwohl jemand Afk ist
    kann mir das jemand Fixen ?


    if(!strcmp(cmdtext, "/afklist", true))
    {
    new count = 0, stri[1024], pName[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, pName,sizeof(pName)))
    {
    if(SpielerIstAFK[i] == true)
    {
    format(stri, sizeof(stri), "%s[%d]{99EE22}%s\n", stri, i, pName);
    count++;
    }
    }
    if(count == 0)
    {
    SendClientMessage(playerid, COLOR_GRAU, "Niemand befindet sich im AFK-Modus!");
    }else ShowPlayerDialog(playerid,DIALOG_AFKLIST,DIALOG_STYLE_LIST,"Folgende Spieler befinden sich im AFK-Modus:",stri,"Schließen","");
    return 1;
    }
    }


  • new count = 0


    trägst du ganz oben in dein Script bei anderen New's / Defines ein, da es sonst immer wieder auf 0 gesetzt wird, wenn jemand den Befehl benutzt.


    MfG

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • hier überarbeitet



    if(!strcmp(cmdtext, "/afklist", true))
    {
    new count = 0, stri[1024], pName[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SpielerIstAFK[i] == true && IsPlayerConnected(i))
    {
    GetPlayerName(i, pName,sizeof(pName));
    format(stri, sizeof(stri), "%s[%d]{99EE22}%s\n", stri, i, pName);
    count++;
    }
    }
    if(count == 0)
    {
    SendClientMessage(playerid, COLOR_GRAU, "Niemand befindet sich im AFK-Modus!");
    }else ShowPlayerDialog(playerid,DIALOG_AFKLIST,DIALOG_STYLE_LIST,"Folgende Spieler befinden sich im AFK-Modus:",stri,"Schließen","");
    return 1;
    }


    MFG Piet

  • Die Einrückung ist ja zum Kotzen, hier mal richtig, ich versteh nicht was daran nicht zu kapieren ist.


    Ganz oben im Script definierst du


    new count = 0;


    dann unter OnPlayerCommand machst du deinen Befehl


    if(!strcmp(cmdtext, "/afklist", true))
    {
    new stri[1024], pName[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SpielerIstAFK[i] == true && IsPlayerConnected(i))
    {
    GetPlayerName(i, pName,sizeof(pName));
    format(stri, sizeof(stri), "%s[%d]{99EE22}%s\n", stri, i, pName);
    count++;
    }
    }
    if(count == 0)
    {
    SendClientMessage(playerid, COLOR_GRAU, "Niemand befindet sich im AFK-Modus!");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_AFKLIST,DIALOG_STYLE_LIST,"Folgende Spieler befinden sich im AFK-Modus:",stri,"Schließen","");
    }
    return 1;
    }


    und das wars.


    MfG

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Warum sollte es nur in diesem Befehl existieren?


    new count = 1;



    if(!strcmp(cmdtext, "/afk", true))
    {
    count ++;
    return 1;
    }





    if(!strcmp(cmdtext, "/back", true))
    {
    count --;
    return 1;
    }



    Schwer, schwer diesen Count außerhalb des Befehles zu nutzen :rolleyes:

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • if(!strcmp(cmdtext, "/afklist", true))
    {
    new found= 0, stri[256], pName[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(SpielerIstAFK[i]){
    GetPlayerName(i, pName,sizeof(pName));
    format(stri, sizeof(stri), "%s[%d]{99EE22}%s\n", stri, i, pName);
    found=1;
    }
    }
    if(!found) return SendClientMessage(playerid, COLOR_GRAU, "Niemand befindet sich im AFK-Modus!");
    else return ShowPlayerDialog(playerid,DIALOG_AFKLIST,DIALOG_STYLE_LIST,"Folgende Spieler befinden sich im AFK-Modus:",stri,"Schließen","");
    }


    Sollte funktionieren

  • iif(!strcmp(cmdtext,"/afklist", true))
    {
    new stri[1024], pName[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(SpielerIstAFK[i]==false) continue;
    new string[100];
    GetPlayerName(i, pName,sizeof(pName));
    format(string,sizeof(string),"%s[%d]\n",i,pName);
    strins(stri,string,strlen(stri));
    }
    if(strlen(stri)==0) return SendClientMessage(playerid, COLOR_GRAU, "Niemand befindet sich im AFK-Modus!");
    ShowPlayerDialog(playerid,DIALOG_AFKLIST,DIALOG_STYLE_LIST,"Folgende Spieler befinden sich im AFK-Modus:",stri,"Schließen","");
    return 1;
    }


    So würd ich es machen :)