Uhr flüssig aktualisieren

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
  • Ich würd sagen, das dein Code Fehlerhaft ist, sonst wären diese Abweichungen nicht so riesig.


    Poste den mal :)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Also ein Lagg ist es nicht ^^
    Und das mit dem bis 10 zählen ist doch Sinnlos, da es die funktion gettime gibt :P


    , die natürlich im Timer aufgerufen wird und daher ein wenig Zeit verbraucht. Eine Variable auszulesen und zu addieren ist da schneller. In solch empfindlichen Timern muss man immer sehr viel an Zeit sparen, sonst entstehen schnell mal Ungenauigkeiten.

  • @BlackAce


    SetTimer("UpdateTime",1000,true);


    public UpdateTime()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new Hour, Minute, Second, newtime[128];
    gettime(Hour,Minute,Second);
    format(newtime,sizeof(newtime),"%02d:%02d:%02d",Hour,Minute,Second);
    TextDrawSetString(Uhr[i],newtime);
    TextDrawShowForPlayer(i,Uhr[i]);
    }
    return 1;
    }


    @DarkRevolution
    , was auch schnell zu Buggs führen kann ;)

  • Und da liegt das Problem.
    Du rufst den Timer pro Sekunde auf.
    Angenommen dein Server startet um 10:50:51:990
    Dann ruft er das Timerpublic um 10:50:52:990 zum ersten mal auf. Doch der Aufruf dauert wenige Millisekunden.
    Dadurch rufst du den Timer das nächste mal erst um 10:50:53:995 auf.
    Wenn er dann irgendwann auf dem Sekundensprung ist, dann springt er zwei Sekunden weiter.
    Bsp:
    10:50:53:998 - Uhr zeigt 10:50:53
    10:50:55:005 - Uhr zeigt 10:50:55

  • @DarkRevolution


    Das ist nicht so ganz richtig, aber der Grundgedanke stimmt.
    Die Timer in SAMP haben sowieso eine relativ große verzögerung.


    @Sh12


    Mach bloß die schleife raus. Du brauchst insgesammt nur einen Textdraw ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski