Fragen zum AFK System.

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,
    Ich habe ein AFK System "probiert" zumachen
    jedoch habe ich 1. Problem und 1. Frage:
    Ich hoffe das ihr mir weiter helfen könnt :D
    Das Problem ist ich Kriege Fehler im Code:

    Bread.pwn(3674) : warning 213: tag mismatch
    Bread.pwn(3675) : warning 213: tag mismatch
    Bread.pwn(3684) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Warnings.



    dcmd_afk(playerid,params[])
    {
    #pragma unused params
    SendClientMessage(playerid,Grün,"Du bist nun AFK");
    new AFKTEXT[MAX_PLAYER_NAME];
    AFKTEXT = "AFK";
    AFKTEXT[playerid] = Create3DTextLabel(AFKTEXT,Rot,0,0,0,70.5,1);//3674
    Attach3DTextLabelToPlayer(AFKTEXT[playerid], playerid, 0.0, 0.0, 0.45);//3675
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    dcmd_back(playerid,params[])
    {
    #pragma unused params
    new AFKTEXT[MAX_PLAYER_NAME];
    SendClientMessage(playerid,Grün,"Du bist nun nicht mehr AFK");
    Delete3DTextLabel(AFKTEXT[playerid]);//3684
    TogglePlayerControllable(playerid,1);
    return 1;
    }


    Die Frage ist wie mache ich das wenn der User sich 1min nicht bewegt das das gleiche wie bei dcmd_afk ausgeführt wird ?



    MfG Flo

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

    Einmal editiert, zuletzt von EliteBread () aus folgendem Grund: Text Code

  • Die Fehler sind Raus....
    Aber wie frage ich ab ob der Spieler sich bewegt hat in der Minute oder nicht ?



    Timer welches ein public aufruft.


    In diesem Public, fragst du ab ob der Spieler immer noch an Position XYZ ist, und falls nicht


    Setzt du ihn wieder auf normal zustand und beendest den Timer. :)


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Okay,
    Hast du vielleicht ein Beispiel wie das aus sehen kann mit dem Abfragen der POSI



    //Public..
    //Codebereich:
    //if(!IsPlayerInRangeOfPoint(playerid,1, x,y,z)
    //Denn lösche AFK Variable.. (Timer sollte sich denn möglichst alle paar Sekunden wieder holen, und sobald er nicht mehr in dem Bereich ist, beenden)


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!


  • forward AFK(playerid);
    public AFK(playerid)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    if(!IsPlayerInRangeOfPoint(playerid, 1, X, Y,Z)
    {
    //AFK-Tag löschen...
    //Timer beenden..
    }
    return 1;
    }


    So schwer? :D


    Sollte gehen ungetestet. :)


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Ich komme gerade nicht klar weil ich oben ja schon die Befehle habe 8|
    Ich bin mir nicht sicher ob das das Richtige ist.
    Müsste doch eigentlich unter OnPlayerUpdate,
    denn ich möchte ja abfragen wenn der Player sich 1min nicht weg geht wird das gleiche ausgeführt wie bei /AFK.

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

  • Sind alle draußen so sieht der /AFK und /back aus:


    dcmd_afk(playerid,params[])
    {
    #pragma unused params
    SendClientMessage(playerid,Grün,"Du bist nun AFK,");
    SendClientMessage(playerid,Grün,"nutze /back um wieder zurück zukehren ");
    new AFKT[MAX_PLAYER_NAME];
    AFKT = "A-Duty";
    AFKTEXT[playerid] = Create3DTextLabel(AFKT,AdminRot,0,0,0,70.5,1);
    Attach3DTextLabelToPlayer(AFKTEXT[playerid], playerid, 0.0, 0.0, 0.45);
    TogglePlayerControllable(playerid,0);
    return 1;
    }
    dcmd_back(playerid,params[])
    {
    #pragma unused params
    SendClientMessage(playerid,Grün,"Du bist nun nicht mehr AFK");
    Delete3DTextLabel(AFKTEXT[playerid]);
    TogglePlayerControllable(playerid,1);
    return 1;
    }


    Ich komme mit dem Public gerade egen wie nicht klar,
    kann man das nicht in Onplayerupdate packen und dann wen er sich 1 min nicht bewegt rüber zu AFK geht ?

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777

    Einmal editiert, zuletzt von EliteBread () aus folgendem Grund: TExt