Guten Abend zusammen wie scripte ich das es im spiel nacht bei einer gewissen uhrzeit ist und bei einer anderen Tag ?
MfG
Guten Abend zusammen wie scripte ich das es im spiel nacht bei einer gewissen uhrzeit ist und bei einer anderen Tag ?
MfG
//OnGameModeInit
SetTimer("serverzeit",60000,true);
//untem im Script
forward serverzeit();
public serverzeit()
{
new tmphour;
gettime(tmphour);
SetWorldTime(tmphour);
}
Wie kann man die jetzt noch doppelt so schnell machen?
Wie meinst du Doppelt so schnell ?
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.
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.