Events buggen

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
  • Ahoi ^^


    Meine Events bzw Timer buggen 'leicht' rum.
    Was der Fehler ist , kann man im Video glaube ich gut genug sehen ^^
    Also es wird 'Das Event wurde gestartet' so oft geschrieben wie Spieler teilnehmen und die Variable sinkt nicht.


    Spoiler anzeigen


    public DeagleEventTimer()
    {
    if(DeagleTime == 20 || DeagleTime == 15 || DeagleTime == 10 || DeagleTime == 3 || DeagleTime == 2 || DeagleTime == 1)
    {
    new tstring[40];
    DeagleTime--;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!deagleeventteilnehmer[i] || !IsPlayerConnected(i)) continue;

    Spoiler anzeigen
    format(tstring,sizeof(tstring),"Das Event startet in %d Sekunden.",DeagleTime);
    SendClientMessage(i,Hellblau,tstring);
    }
    }
    if(DeagleTime <= 0)
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(!deagleeventteilnehmer[i] || !IsPlayerConnected(i)) continue;

    Spoiler anzeigen
    SendClientMessage(i,Hellblau,"Viel Glück!");
    TogglePlayerControllable(i,1);
    }
    DeagleCheckTimer=SetTimer("DeagleCheck",1000,1);
    DeagleTime = -1;
    KillTimer(DeagleTimer);
    }
    }


    Video: [video]

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/video]

  • SetTimer("DeagleEventTimer",1000,1);


    Moment streich das ! Es wird nicht klappen weil der Timer nur dan in die Schleife reinkommt wenn DeagleTime bei 20,15,10,3,2,1 ist.
    Du musst es für jede Sekunde einstellen d.h diese Abfrage hier:
    if(DeagleTime == 20 || DeagleTime == 15 || DeagleTime == 10 || DeagleTime == 3 || DeagleTime == 2 || DeagleTime == 1)
    ist unnötig^^