Tag und Nacht

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
  • Huhu,
    das mit dem selbst scripten hat mich ins Fieber versetzt :D


    Wie kann ich die Tageszeit vom Server ändern? Ich will z.B. das es 6 Stunden hell und 6 Stunden dunkel ist. Sozusagen das 2 Tage im Game ein Tag bei uns sind.


    Ist das durch Script realisierbar? Wie?

  • Aber wenn ich die Weltzeit ändere, ist es doch mit der nächsten Minute wieder hell weil mein PC irgendwas damit zu tun hat. Wenn ich meine PC Zeit auf 0 Uhr stelle ist es im Server dunkel, wenn sie auf 19 Uhr steht ist es hell.


    Freeway das mit dem Timer hab ich inzwischen drauf :D glaub ich :thumbup:

  • Das Liegt an dem Filterscript gl_realtime.
    Mach das aus der server.cfg raus.

  • Wenn du die Filterscripts öffnest, steht oben meistens als Kommentar wofür es dient.

  • Ok schön zu wissen.


    Also, ich hab jetzt vor das der Timer jedes Mal wenn er auslöst die Serverzeit um eine Stunde nach vorne stellt. Also ich will 2 Gametage in einen echten packen dazu würde dort eine Stunde 30 Minuten dauern.


    1 Tag = 6 Stunden
    4 Tage = 24 Stunden
    4 Tage im Game sind 4 Tage in unserer Zeit.


    Also muss der Timer doch alle 30 Minuten die Uhr um eine Stunde vorstellen oder hab ich mich verrechnet? Wie stelle ich das jetzt an? Würde es gehen wenn ich es so mache? Moment, mir ist grad aufgefallen das er nur Stunden verändern kann, gehts das auch nur mit Muniten?

  • Dann muss ich ihn Theoretisch jede Stunde auslösen lassen und die Game Uhr dann um 2 Stunden vorstellen. Würde das etwa so gehen?
    So würde ich den Timer einstellen:
    SetTimer("timer1",3600000,true)
    public timer1()
    {
    SetWorldTime(+2)
    return 1;
    }

  • 1 Stunde sind 3600000 Milisekunden.
    Oh hast ja gerade geändert.
    Ob das mit der WorldTime so Klappt, weis ich nicht.
    Ich würde eine Variable Erstellen, die die letzte Zeit Speichert

  • Zitat

    Ich würde eine Variable Erstellen, die die letzte Zeit Speichert...

    ...Diese dann per Timer +2 rechnen und als Weltzeit setzen lassen. So etwa meinst du das oder? ^^ Wie bekomme ich die aktuelle Zeit heraus? Ich hab grad schon nach GetWorldTime geschaut aber nichts gefunden.

  • Die Aktuelle WorldTime kann man, soweit ich weis nicht Herausbekommen, nur die Reale Uhrzeit.

  • Ich könnte ja mal folgendes probieren:
    1 leeren Interger (oder wie man sie nun hier nennt^^) erstellen, dort dann die "Startuhrzeit" z.B. 0 Uhr. Dann vom Timer immer 2 Stunden draufrechen lassen, sobald der Timer 0+2 gerechnet hat, wird der Wert in den Integer geschrieben und an die WorldTime übergeben.


    Wäre das machbar? Wie deklaiere ich einen Integer hier? Etwa als int?

  • Meinst du Variablen?


    new Time;


    Später dann z.B. Time += 2;


    Aber dann musst du den Server auch wirklich um 0 Uhr Anschalten...
    Ich überleg gerade noch

  • Eine Neue Variable ist Automatisch 0.


    Aber dann würdest du ja, z.B. Jetzt um 19:24 Anfangen, dann wäre es 0 Uhr. Wenn du dann 21:24 hast, wäre es 1 Uhr auf deinem Server, daher muss das irgendwie Synchronisiert werden

  • Auf dem Server ist demnach ja mit Absicht eine Zeitverschiebung vom 2 Stunden. Wenn es bei uns 22 Uhr ist würde es auf dem Server bereit 0 Uhr sein. Es sollen halt 2 Gametage in einen echten Tag passen, ich habs jetzt soweit, der Compiler spuckt mir auch keine Fehlermeldung aus. Kannst du mal schauen ob ich da einen Logikfehler drin habe?


    #include <a_samp>


    forward timer1();


    new time;

    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Tagesablauf");
    print("--------------------------------------\n");


    SetWorldTime(0);
    SetTimer("timer1",3600000,true);


    return 1;
    }
    public timer1()
    {
    time += 2;
    SetWorldTime(time);



    return 1;
    }


    So gesehen ist es mir nicht wichtig das es auf dem Server hell ist wenns bei uns hell ist, es gibt ja auch Spieler die es lieben in der Nacht auf Unfalljagt zu gehen ^^


    EDIT: Ok ich teste es jetzt, wenns nicht klappt melde ich mich wieder.

    2 Mal editiert, zuletzt von NSATeam ()