/ctf Timer Funktioniert nicht

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
  • Guten Tag, ich nutze jetzt meinen ersten Timer, mit Timern kenne ich mich allerdings garnicht aus. Der Befehl /ctf an sich funktioniert wunderbar.


    Wenn ich mich zu weit von einer Position entferne, soll der Spieler die Flagge verlieren, so sieht alles aus:


    forward CTFDistance(playerid);
    new CTFTimer;


    Befehl
    if(strcmp(cmd, "/ctf", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 15, 757.7704,-1596.4019,13.7374))
    {
    if(YakuzaHasFlag == 0 && Spieler[playerid][Team] == 2)
    {
    YakuzaHasFlag = 0;
    TriadenHasFlag = 1;
    SendClientMessageToAll(0xFFBE00FF, "Die Triaden haben die Flagge erobert!");
    SendClientMessage(playerid, COLOR_GREY, "Entferne dich nicht zuweit vom CTF-Punkt, sonst verlierst du die Flagge!");
    }
    if(TriadenHasFlag == 0 && Spieler[playerid][Team] == 1)
    {
    TriadenHasFlag = 1;
    YakuzaHasFlag = 0;
    SendClientMessageToAll(0xFFBE00FF, "Die Yakuza haben die Flagge erobert!");
    SendClientMessage(playerid, COLOR_GREY, "Entferne dich nicht zuweit vom CTF-Punkt, sonst verlierst du die Flagge!");
    }
    else if(YakuzaHasFlag == 1 || TriadenHasFlag == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Dein Team ist schon im Besitz der Flagge!");
    }
    CTFTimer = SetTimer("CTFDistance", 1000, 1);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du musst an einem /ctf-Punkt sein!");
    }
    return 1;
    }

    public
    public CTFDistance(playerid)
    {
    if(TriadenHasFlag == 1 && YakuzaHasFlag == 1)
    {
    if(!IsPlayerInRangeOfPoint(playerid, 15, 757.7704,-1596.4019,13.7374))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist zuweit vom CTF Punkt entfernt, du hast die Flagge verloren!");
    TriadenHasFlag = 0;
    YakuzaHasFlag = 0;
    KillTimer(CTFTimer);
    }
    }
    return 1;
    }



    Hat da jemand einen Lösungsvorschlag? Ich bin langsam am verzweifeln :/


    Ist es Schwer das Problem zu lösen? Der Spieler soll wie gesagt nur die Flagge entzogen bekommen, wenn er zuweit vom CTF Punkt entfernt ist.


    Edit: // Pawn Code richtig anzeigen lassen
    Edit2: // Fehler korrigiert
    Edit3: // Nochmals Fehler Korrigiert

    2 Mal editiert, zuletzt von varrez ()