AFK - Timer spinnt

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
  • //Unter OnDialogResponse
    if(dialogid == DIALOG_AFK)
    {
    if(response)
    {
    new PlayerWhoGoesBack[MAX_PLAYER_NAME],
    stringDE[64],
    stringEN[64];
    KillTimer(StartGodModeTimer[playerid]); //Wird nach Betätigen des Dialogbuttons nicht gekillt. Der GodModeTimer läuft weiter.


    GetPlayerName(playerid, PlayerWhoGoesBack, sizeof(PlayerWhoGoesBack));
    format(stringDE, sizeof(stringDE), "»SPIELERINFO« %s spielt nun wieder.", PlayerWhoGoesBack);
    format(stringEN, sizeof(stringEN), "»PLAYERINFO« %s is playing again.", PlayerWhoGoesBack);
    SendLanguageMessageToAll(C_LIGHT_BLUE, stringDE, stringEN);
    TogglePlayerControllable(playerid, 1);
    IsPlayerAFK[playerid] = false;
    return 1;
    }
    }


    COMMAND:afk(playerid, params[])
    {
    if(IsPlayerAFK[playerid]) return SendLanguageMessage(playerid, C_RED, "»WARNUNG« Du bist AFK. Du kannst keine Aktion durchführen. Melde dich mit /back zurück!", "»WARNING« You are AFK. You can't take any action. Use /back to come back!");
    if(IsPlayerInDM[playerid]) return SendLanguageMessage(playerid, C_RED, "»WARNUNG« Du kannst dich nicht in einem DM teleportieren! Benutze /cancel um das DM zu verlassen!", "»WARNING« You can't teleport inside of a DM! Use /cancel to exit the DM!");


    new PlayerWhoGoesAFK[MAX_PLAYER_NAME],
    stringDE[64],
    stringEN[64];


    ShowLanguageDialog(playerid, DIALOG_AFK, DIALOG_STYLE_MSGBOX, "AFK", "AFK", "Du bist nun im AFK-Modus. Drücke 'Zurück' um wieder zu spielen.", "You are now in the AFK mode. Press 'Back' to play again.", "Zurück", "Back", "", "");
    StartGodModeTimer[playerid] = SetTimerEx("StartGodMode", 250, true, "i", playerid);


    GetPlayerName(playerid, PlayerWhoGoesAFK, sizeof(PlayerWhoGoesAFK));
    format(stringDE, sizeof(stringDE), "»SPIELERINFO« %s ist nun AFK.", PlayerWhoGoesAFK);
    format(stringEN, sizeof(stringEN), "»PLAYERINFO« %s is now AFK.", PlayerWhoGoesAFK);
    SendLanguageMessageToAll(C_LIGHT_BLUE, stringDE, stringEN);
    TogglePlayerControllable(playerid, 0);
    IsPlayerAFK[playerid] = true;
    return 1;
    }


    Irgendwie lässt sich der Timer nicht killen. Ich hab das Ganze schon in einem anderen cmd, und da funktioniert es wunderbar.


    EDIT: Oh man, ich hab einfach ein SetPlayerHealth(playerid, 100); vergessen. -.-
    Gelöst.