Abfrage

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
  • wie kann ich bei nem afk script checken ob die playerid schon /afk gemacht hat.
    Mfg
    apple

    Flugsystem: ||||||||||


    Navigationssystem: ||||||||||


    [JOB]Trucker: ||||||||||

  • du hast doch bestimmt wenn jemand /afk macht sowasafk = 1oder so


    dann machste einfach if afk = 1

  • hab noch nie sone abfrage geschrieben.
    Kann mir jemand bitt eein beispiel geben??
    Mfg apple

    Flugsystem: ||||||||||


    Navigationssystem: ||||||||||


    [JOB]Trucker: ||||||||||

  • so


    blabla /afk blasbla //weiß grad net alles auswenndig mit der oberen zeile
    {
    if afk = 0
    {
    afk = 1//und deine funktionen
    }
    else
    {
    Sendclientmessage(blabla bla du bist sxchon afk)
    }
    return 1;
    }
    blabla /back blabla
    {
    if afk = 1
    {
    afk = 0
    }
    else
    {
    Sendclientmessage(blabla,du bist nicht afk )
    }
    return 1;
    }
    ja rest mussste gucken vllt fehlt noch nen new afk

  • schonmal was von klammern gehört?


    Die abfrage muss so sein:
    if(afk == 1)
    {
    // funktion
    }
    und nicht
    if afk = 1

  • Hier, das ist meins


    oben bei den new's
    new AFK[MAX_PLAYERS];


    bei Onplayercommandtext

    if (strcmp("/Afk", cmdtext, true, 10) == 0)
    {
    if(AFK[playerid] == 0)
    {
    SendClientMessage(playerid, orange," Du bist nun AFK");
    new string[100],name[50];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s ist AFK gegangen.",name);
    SendClientMessageToAll(orange, string);
    AFK[playerid] = 1;
    TogglePlayerControllable(playerid, 0);
    }
    else if(AFK[playerid] == 1)
    {
    SendClientMessage(playerid, orange," Du bist nun wieder anwesend");
    new string[100],name[50];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Spieler %s ist nun wieder anwesend.",name);
    SendClientMessageToAll(orange, string);
    AFK[playerid] = 0;
    TogglePlayerControllable(playerid, 1);
    }
    return 1;
    }


    Viel spaß :D


  • if(afk == 1)
    {
    // funktion
    }
    und nicht
    if afk = 1


    Is auch Falsch er will ja überprüfen ob der Spieler AFK ist und nicht das ganze Script



    if(afk[playerid] == 1)
    {
    // funktion
    }


    Du musst afk halt noch definieren



    new afk[MAX_PLAYERS];

    RFT

  • Errors:
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(39) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(41) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(47) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(51) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(53) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(59) : error 017: undefined symbol "name"
    Zeilen:
    if (strcmp(cmdtext, "/zurück", true,) == 0)
    {
    if (BACK[playerid] == 0)
    SendClientMessage(playerid,COLOR_GREEN,"Du bist wieder zurück");
    TogglePlayerControllable(playerid, 1);
    AFK[playerid] = 0;
    BACK[playerid] = 1;
    }
    else if (BACK[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht AFK");
    }
    return 1;
    }
    return 0;
    }


    public AFKTimer(playerid)
    {
    new string[128];
    format(string,sizeof string,"*~ [AFK] %s ist in den AFK-Modus gegangen! /afklist ",name);
    SendClientMessageToAll(COLOR_GREY,string);
    TogglePlayerControllable(playerid, 0);
    AFK[playerid] = 1;
    BACK[playerid] = 0;
    return 1;
    }
    Mfg.
    apple

    Flugsystem: ||||||||||


    Navigationssystem: ||||||||||


    [JOB]Trucker: ||||||||||

  • Da fehlt eine klammer

    if (strcmp(cmdtext, "/zurück", true,) == 0)
    {
    if (BACK[playerid] == 0)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du bist wieder zurück");
    TogglePlayerControllable(playerid, 1);
    AFK[playerid] = 0;
    BACK[playerid] = 1;
    }
    else if (BACK[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht AFK");
    }
    return 1;
    }
    return 0;
    }

  • Ganz einfach..


    new AFK[MAX_PLAYERS];


    Bei OnPlayerCommandText



    if (strcmp("/afk", cmdtext, true, 10) == 0)
    {
    if(AFK[playerid] == 1)
    {
    //Was passieren soll wenn er schon AFK ist!
    }
    if(AFK[playerid] == 0)
    {
    //Was passieren soll wenn er nicht AFK ist
    }
    return 1;
    }


    ---
    Edit
    ---



    if (strcmp("/afk", cmdtext, true, 10) == 0)
    {
    if(AFK[playerid] == 1)
    {
    SendClientMessage(playerid,farbe,"*** Du bist schon AFK!");
    }
    if(AFK[playerid] == 0)
    {
    TogglePlayerContorllable(playerid,0);
    SendClientMessage(playerid,farbe,"** Du bist nun AFK **");
    AFK[playerid] = 1;
    }
    return 1;
    }


    AFK[playerid] = 1; = Er ist AFK
    AFK[playerid] = 0; = Er ist nicht AFK



    if (strcmp("/back", cmdtext, true, 10) == 0)
    {
    if(AFK[playerid] == 0)
    {
    SendClientMessage(playerid,farbe,"*** Du bist nicht AFK!");
    }
    if(AFK[playerid] == 0)
    {
    TogglePlayerContorllable(playerid,1);
    SendClientMessage(playerid,farbe,"** Du bist nun Back**");
    AFK[playerid] = 0;
    }
    return 1;
    }


    Das sind nun 2 beispiel commands, mach was draus ;)


    Ich hoffe es hilft dir weiter ;)

  • Immernoch diese errors:
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(39) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(41) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(48) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(52) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(54) : error 010: invalid function or declaration
    C:\Users\Noah\Desktop\sa-mp3\filterscripts\AFK Script.pwn(60) : error 017: undefined symbol "name"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    jetzt hier nochma der ganze public:
    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if (strcmp(cmdtext, "/afk", true) == 0)
    {
    if (AFK[playerid] == 0)
    SendClientMessage(playerid,COLOR_GREEN,"Du bist in 5 sekunden AFK");
    SetTimerEx("AFKTimer",5000,0,"i",playerid);
    }
    else if (AFK[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist schon AFK");
    }
    return 1;
    }
    if (strcmp(cmdtext, "/zurück", true,) == 0)
    {
    if (BACK[playerid] == 0)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du bist wieder zurück");
    TogglePlayerControllable(playerid, 1);
    AFK[playerid] = 0;
    BACK[playerid] = 1;
    }
    else if (BACK[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht AFK");
    }
    return 1;
    }
    return 0;
    }


    public AFKTimer(playerid)
    {
    new string[128];
    format(string,sizeof string,"*~ [AFK] %s ist in den AFK-Modus gegangen! /afklist ",name);
    SendClientMessageToAll(COLOR_GREY,string);
    TogglePlayerControllable(playerid, 0);
    AFK[playerid] = 1;
    BACK[playerid] = 0;
    return 1;
    }
    pls help
    Mfg apple

    Flugsystem: ||||||||||


    Navigationssystem: ||||||||||


    [JOB]Trucker: ||||||||||

    Einmal editiert, zuletzt von apple ()


  • if (strcmp("/afk", cmdtext, true, 10) == 0)
    {
    if(AFK[playerid] == 1)
    {
    AFK[playerid] = 0;
    SendClientMessage(playerid,farbe,"Wilkommen zurück!");
    }
    if(AFK[playerid] == 0)
    {
    AFK[playerid] = 1;
    SendClientMessage(playerid,farbe,"Du Bist nun A(way) F(rom) K(eyboard)!");
    }
    return 1;
    }



    if (strcmp("/afklist", cmdtext, true, 10) == 0)
    {
    name[MAX_PLAYER_NAME];
    SendClientMessage(playerid,farbe,"AFK Liste");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(AFK[playerid] == 1) {
    GetPlayerName(i,name,sizeof(name));
    SendClientMessage(playerid,farbe,name); }


    }
    }


    LG ^^

  • wills abe rmit dem befehl /back ^^
    wieso kommen überhaupt errors??
    Eig müsste das doch so gehn??

    Flugsystem: ||||||||||


    Navigationssystem: ||||||||||


    [JOB]Trucker: ||||||||||

    Einmal editiert, zuletzt von apple ()

  • new AFK[MAX_PLAYERS];
    if(!strcmp(cmdtext,"/afk",true))
    {
    if(AFK[playerid])return SendClientMessage(playerid,0xFF0000FF,"Du bist bereits A.F.K !");
    AFK[playerid] = 1;
    TogglePlayerControllable(playerid,0);
    new his_name[MAX_PLAYER_NAME],message[64];
    GetPlayerName(playerid,his_name,sizeof his_name);
    format(message,sizeof message,"%s ist nun AFK!");
    return SendClientMessageToAll(0x0000FFFF,message);
    }
    if(!strcmp(cmdtext,"/back",true))
    {
    if(!AFK[playerid])return SendClientMessage(playerid,0xFF0000FF,"Du bist bereits anwesend!");
    AFK[playerid] = 0;
    TogglePlayerControllable(playerid,1);
    new his_name[MAX_PLAYER_NAME],message[64];
    GetPlayerName(playerid,his_name,sizeof his_name);
    format(message,sizeof message,"%s ist wieder zurück!");
    return SendClientMessageToAll(0x0000FFFF,message);
    }


    und


    if(!strcmp(cmdtext,"/afklist",true))
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    if(!AFK[i])continue;
    new nname[MAX_PLAYER_NAME],hmsg[64];
    GetPlayerName(i,nname,sizeof nname);
    format(hmsg,sizeof hmsh,"AFK : %s",nname);
    SendClientMessage(playerid,0xFFFFFFFF,hmsg);
    }
    return 1;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Cool danke abe in Game wir nur angezeigt:
    Ist afk
    Ist wieder zurück.
    Sollte doch eig mit spielername sein oder

    Flugsystem: ||||||||||


    Navigationssystem: ||||||||||


    [JOB]Trucker: ||||||||||

  • format(message,sizeof message,"%s ist wieder zurück!");


    dahinter hätte noch was gefehlt o_x


    format(message,sizeof message,"%s ist wieder zurück!",nname);



    aber ich denke das kannst du selber ausbessern

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • hatte ich übersehn ^^
    Danke.
    Wieso hat eig miens nicht funktioniert??
    Hab das mit dem BACK rausgenommen und es funktionierte immer noch nicht

    Flugsystem: ||||||||||


    Navigationssystem: ||||||||||


    [JOB]Trucker: ||||||||||