Hilfe beim CountDown

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
  • Die Aufbau ist komisch aber ja ... :huh:


    Ersetze es mal mit folgendes :

    if(Event[Minute] >0)
    {
    Event[Minute] =-1;
    Event[Sekunde] = 60; // Hast das vergessen
    }
    else Event[Sekunde] --;
    if(Event[Minute] == 0 && Event[Sekunde] == 0) // Statt || (oder) sollst du && (und) verwenden
    {
    ocmd_devent(i,"");
    }


    - Handy

  • Die komplette Logik dahinter war falsch. So sollte es klappen:
    forward CountDown();
    public CountDown()
    {
    Event[Sekunde]--;
    new string[128];
    format(string,128,"%02d:%02d",Event[Minute],Event[Sekunde]);
    TextDrawSetString(EUHR1,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(OnEvent[i] != 0)
    {
    TextDrawShowForPlayer(i,EUHR0);
    TextDrawShowForPlayer(i,EUHR1);
    }
    }
    if(Event[Sekunde] == 0)
    {
    if(Event[Minute] >0)
    {
    Event[Minute]--;
    Event[Sekunde] = 60;
    }
    else
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(OnEvent[i] != 0)
    {
    ocmd_devent(i,"");
    }
    }
    return 1;
    }
    }
    cd = SetTimer("CountDown",1000,0);
    return 1;
    }


    Edit: Die Einrückung hat es zerlegt. Kann es am Handy grade nicht besser einrücken. Aber das bekommst sicher selbst hin, einfach Tabs setzen. :)

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Danke dir für den Code, gehe aber gleich Schlafen und probiere es Später aus.
    Aber eine Frage die ich noch habe... Warum soll ich abfragen ob der Spieler nicht im Event ist, und ihn dann die Textdraws zeigen?

  • Es wird abgefragt ob OnEvent nicht 0 ist. Also ob er nicht nicht im Event ist.

    Sorry mein Fehler! :D
    Passiert halt mal wenn man ein harten Tag hatte & dazu noch 25 Std wach ist.
    Danke für deine Hilfe :love:


    Jeffrey, der Countdown bleibt bei 1 min stehen.


    Und Wenn der Countdown auf 0 min 0 sek ist soll das Event beendet werden.

    2 Mal editiert, zuletzt von Pascal1998 ()

  • Also bei mir funktioniert es ohne Probleme. :rolleyes:


    Hier nochmal richtig eingerückt:

    Spoiler anzeigen
    forward CountDown();
    public CountDown()
    {
    Event[Sekunde]--;
    new string[128];
    format(string,128,"%02d:%02d",Event[Minute],Event[Sekunde]);
    TextDrawSetString(EUHR1,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(OnEvent[i] != 0)
    {
    TextDrawShowForPlayer(i,EUHR0);
    TextDrawShowForPlayer(i,EUHR1);
    }
    }
    if(Event[Sekunde] == 0)
    {
    if(Event[Minute] >0)
    {
    Event[Minute]--;
    Event[Sekunde] = 60;
    }
    else
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(OnEvent[i] != 0)
    {
    ocmd_devent(i,"");
    }
    }
    return 1;
    }
    }
    cd = SetTimer("CountDown",1000,0);
    return 1;
    }