Was ist MultiTimer?
- MultiTimer ermöglicht es mehrere Timer innerhalb eines Timers laufen zu lassen, sodass der Server entlastet wird
Welche Probleme könnten auftreten?
- Zur Zeit kann MultiTimer nur Timer mit einem Sekundenintervall starten (z.b. 1 Sek, 2 Sek..)
- Alle Intervalle sind in Sekunden angegeben (bitte keine Millisekunden verwenden!)
- Es können keine Parameter mit eingebunden werden
- Es müssen alle Timer mit einem Mal gestartet werden, können aber danach gleich wieder gestoppt und später neu gestartet werden
Wie funktioniert MultiTimer?
Es läuft ein großer Timer mit dem Interval 1000 ms.
Sobald man einen Timer mit MultiTimer startet wird ihm der Intervall zugewiesen, der sekündlich vom "großen" Timer erhöht wird.
Erreicht der Timer seinen Intervall, so wird ein Callback aufgerufen.
Wie viele Timer unterstützt MultiTimer?
- Unendlich, zu definieren in der Include unter
#define MAX_TIMER 10
Welcher Timer welche ID?
- Der erste Timer in SetMultiTimer hat ID 0, der zweite ID 1 usw..
- In der Include sind die ersten 10 Timer mit Timer1 für 0, Timer2 für 1 usw. definiert
Funktionen von MultiTimer
SetMultiTimer({Float,_}:...);
// Beispiel:
SetMultiTimer(1, 2, 5, 10);
//Startet beliebig viele Timer (in diesem Fall 4 Timer mit 1, 2, 5 und 10 Sekunden)
StopMultiTimer();
//Stoppt den MainTimer und somit alle anderen Timer
StopSingleTimer(TimerID);
//Stoppt einen einzelnen Timer
RestartSingleTimer(TimerID, bool:startbyzero = true);
//Startet einen einzelnen Timer wieder (startbyzero = true startet den Timer bei 0, = false startet, wo man ihn gestoppt hat)
SetSingleTimerInterval(TimerID, interval);
//Setzt den Intervall eines einzelnen Timers (Interval in Sekunden)
OnMultiTimerTick(TimerID)
//Das Callback für die Timer (TimerID = welcher Timer tickt)
Bei weiteren Fragen einfach mal schreiben
Download
Klick mich
Pastebin