[HELP]AFK-List

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,
    habe schon ein /afk und /back....bin gerade dabei mir ein /afklist zumachen aber ich komme nicht weiter.
    hier die Command's:


    //Afk
    if(strcmp(cmdtext, "/afk", true) == 0)
    {
    new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
    format(str, 256, "Server: *%s is now Afk", pname, cmdtext[4]);
    GameTextForPlayer(playerid,"~w~To get back of the Modus write /back",9000,3);
    SendClientMessageToAll(COLOR_YELLOW, str);
    TogglePlayerControllable(playerid, 0);
    return 1;
    }


    //Back
    if(strcmp(cmdtext, "/back", true) == 0)
    {
    new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
    format(str, 256, "Server: *%s is from the Afk Modus back!", pname, cmdtext[4]);
    SendClientMessageToAll(COLOR_YELLOW, str);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }


    //Afklist
    if(strcmp(cmdtext, "/afklist",true) =0) {
    new str[256],pname[256]; GetPlayerName(playerid,pname, 256);
    format(str, 256, "Afklist:");
    format(str, 256, "%s" pname);
    SendClientMessage(playerod,COLOR_ORANGE,strg);
    return 1;
    }

    hier die Errors (Zeiel 1560 ist die "if(strcmp(cmtext,"/afklist",true) == 0) {"

    gamemodes\BJ.pwn(1560) : warning 211: possibly unintended assignment
    gamemodes\BJ.pwn(1560) : error 022: must be lvalue (non-constant)
    gamemodes\BJ.pwn(1560) : warning 215: expression has no effect
    gamemodes\BJ.pwn(1560) : error 001: expected token: ";", but found ")"
    gamemodes\BJ.pwn(1560) : error 029: invalid expression, assumed zero
    gamemodes\BJ.pwn(1560) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Und ich bin mir nicht sicher, ob /afklist so geht...bitte helfen ;)


    mfg jeck_s

  • if(strcmp(cmdtext, "/afklist",true) =0)
    {
    new str[256],pname[256];
    GetPlayerName(playerid,pname, 256);
    format(str, 256, "Afklist:");
    SendClientMessage(playerod,COLOR_ORANGE,strg);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(InAfk[i] == 1)
    {
    format(str, 256, "%s" pname);
    SendClientMessage(playerod,COLOR_ORANGE,strg);
    }
    }
    return 1;
    }


    und du brauchst noch eine variable bei /afk auf 1 bei /back auf 0

  • bekomme leider errors =(



    gamemodes\BJ.pwn(1572) : error 017: undefined symbol "InAfk"
    gamemodes\BJ.pwn(1572) : warning 215: expression has no effect
    gamemodes\BJ.pwn(1572) : error 001: expected token: ";", but found "]"
    gamemodes\BJ.pwn(1572) : error 029: invalid expression, assumed zero
    gamemodes\BJ.pwn(1572) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Zeile:
    if(InAfk[i] == 1)


  • //Afk if(strcmp(cmdtext, "/afk", true) == 0)
    {
    new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
    format(str, 256, "Server: *%s is now Afk", pname, cmdtext[4]);
    GameTextForPlayer(playerid,"~w~To get back of the Modus write /back",9000,3);
    SendClientMessageToAll(COLOR_YELLOW, str);
    TogglePlayerControllable(playerid, 0); return 1;
    }


    //Back
    if(strcmp(cmdtext, "/back", true) == 0)
    {
    new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
    format(str, 256, "Server:*%s is from the Afk Modus back!", pname, cmdtext[4]);
    SendClientMessageToAll(COLOR_YELLOW, str); TogglePlayerControllable(playerid, 1);
    return 1;
    }


    //Afklist
    if(strcmp(cmdtext, "/afklist",true) == 0)
    {
    new str[256],pname[256]; GetPlayerName(playerid,pname, 256);
    format(str, 256, "Afklist:"); format(str, 256, "%s" pname);
    SendClientMessage(playerod,COLOR_ORANGE,strg); return 1;
    }


    vll gehts ja so :)

  • ne, das gibt ja bug -,-
    zeigt InGame ja nur den eigenen Namen an =(


    Edit:
    Das probleme ist das hier:
    GetPlayerName(playerid ,pname, 256);


    man bekommt dann den eigenen Namen in den string gespeichert....aber ich brauche den Namen vom dem, der /afk ist

    Einmal editiert, zuletzt von jeck_s ()

  • Wenn du eine AFK Liste haben möchtest braucht du Variablen, die angeben, ob Spieler X afk ist. Beispiel:
    SetPVarInt(playerid, "AFK", 1);//Wenn er AFK geht
    SetPVarInt(playerid, "AFK", 0);//Wenn back kommt
    Und dann im Command /afklist
    new string[100],name[20];
    for(new s; s<MAX_PLAYERS; s++)
    {
    if(GetPVarInt(s,"AFK") == 1)
    {
    GetPlayerName(s,name,sizeof(name));
    format(string,sizeof(string),"AFK: %s",name);
    SendClientMessage(playerid,farbe,string);
    }
    }