Funktion um eine bestimmte Uhrzeit ausführen

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
  • Hallo zusammen,
    weiss jemand zufällig wie man eine bestimmte Funktion z.b. "RestartServer();" um eine bestimmte Uhrzeit ausführen kann?


    Ich wollte euch noch etwas fragen und zwar benutzt ich bei OnGameModeInit mehrere Timer (für die Uhr und noch ein paar Sachen) die sich immer jede Sekunde aktualisieren. Würde es Ressourcen sparen wenn ich die ganzen Funktionen bündle und nur einen Timer mache?

  • Also erstmal zu der letzten Frage: Ich glaube ja, dass es dir "wenig" sparen würde. Aber wenn du ein unsauberes Script hast, bringt dass auch nix ;)


    Und zur ersten Frage: Ich habe so was mal gelesen, ich such dir schnell link raus.


    -Unknown

  • Ich würde es einfach so machen, Achtung! du brauchst dafür das include "time"!


    Ganz oben:

    forward RestartServer();
    new tmphour,tmpminute,tmpsecond;


    Bei OnGameModeInit:



    SetTimer("RestartServer",60000,1);// 1 = Wiederholenm 60000 = alle 1 minuten


    Unten den Public RestartServer:

    public RestartServer()
    {
    gettime(tmphour,tmpminute,tmpsecond);
    if(tmphour == 16 && tmpminute == 0)//tmphour = Stunde^^
    {
    SendRconCommand("gmx");
    SendClientMessageToAll(0xFFFFFFAA,"SERVER:Es ist 16 Uhr, der Server restartet!");
    //Vll noch public zum Account Saven aufrufen 8|
    }
    return 1;
    }


    MFG
    @FRi

  • Na klar bringt es was, alle timer in einen zu setzen. Es macht genau das selbe, und bietet mehr Performance.
    Und wenn du sowieso einen Timer hast, der mit einem Intervall von 1 sekunde läuft, dann kannst du doch einfach eine Abfrage einbauen.

    if(stunde==20&&minute=20&&sekunde==20)

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Ein einfacher Test hätte dir eigentlich gereicht, um es selbst heraus zu finden ;)
    Bzw. nachdenken auch :P


    00 ist nicht mehr oder weniger als 0. Es ist 0.
    Einen int mit 01 gibt´s nicht. also 1. Demnach:

    if(stunde==1&&!minute&&!sekunde) print("es ist 01:00 Uhr und 0 Sekunden");

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.