Tag und Nacht bei Gewisser Uhrzeit ?

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

  • //OnGameModeInit
    SetTimer("serverzeit",60000,true);


    //untem im Script
    forward serverzeit();
    public serverzeit()
    {
    new tmphour;
    gettime(tmphour);
    SetWorldTime(tmphour);


    }


  • Einfach den Timer halbieren....
    Ansonsten Definiere deine Frage bitte mal etwas verständlicher.


    In dem oberen "Beispiel" wird die Zeit immer auf die reale Zeit aktualisiert.
    Möchtest du ein eigenes Zeitsystem musst du mit SetWorldTime arbeiten einer Variable und ggf. einen Timer.
    Sofern du es nicht speichern möchtest und laden.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

    Einmal editiert, zuletzt von Dog () aus folgendem Grund: Wiki ergänzung.

  • Und was passiert wenn ich den Timer halbiere? Eine Stunde ist dann eine halbe oder was? (Doppelt so schnell)#


    Ah ne jetzt hab ich es. Wird dann nur 2x die Stunde aktualisiert richtig?

  • Ja es wird dann 2 mal in der Stunde aktualisiert also alle 30 Min statt jede 60 Min.
    Wenn du jetzt aber möchtest, das deine Zeit auf dem Server schneller vergeht als in Echt (Beispiel: 30 Minuten in Echt sind bei dir auf dem Server eine Stunde.) dann musst du dir ein eigenes System basteln.


    Dafür gibt es je nach Komplexität mehrere Optionen.


    Ganz einfach:



    //Oben
    forward Uhrzeit();
    new Serverzeit = 0;


    //OnGameMode
    SetTimer("Uhrzeit",30000,true); // Alle 30 Minuten wird Public "Uhrzeit" aufgerufen.



    //Irgendwo unterhalb und außerhalb einer Public:
    public Uhrzeit()
    {
    if(Serverzeit < 23){ Serverzeit ++;} else { Serverzeit = 0; }
    SetWorldTime(Serverzeit);
    }


    So würde/müsste auf den Server alle 30 Minuten vom Serverstart aus eine Stunde vergehen.
    Möchtest du alle 15 Minuten eine Stunde vergehen, lassen dann einfach den Timer in 150000 ändern.


    Es gibt viele Wege, ob das der Optimale ist, bezweifel ich dafür bin ich zu lange raus aus Pawn.
    Und das ist auch nur die einfache Variante, wo man nur die Stunde ändert.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi