Hallo, hier ist ein Tutorial für Timer. Viel Spaß xD
Also, die Grundlage ist es einen Timer zu erstellen, man benutzt SetTimer und SetTimerEx:
SetTimer(funcname[], interval, repeating);
SetTimerEx(funcname[], interval, repeating, const format[], {Float,_}:...);
funcname: Die Funktion, die nach der abgelaufenen Zeit abgerufen werden soll.
interval: Die Zeit des Timers bis zur Ausführung in MILLISEKUNDEN
repeat: Soll der Timer wiederholt werden? 1=JA 0=NEIN
Beide Timerfunktionen geben die TimerID zurück
Beispiel:
CheckTimer = SetTimer("CheckPlayers",5000,1); // Timer mit Wiederholung alle 5000ms = 5 Sekunden
WerbungsTimer = SetTimer("Werbung",5*60*1000,1); // Timer mit Wiederholung alle 5*60*1000ms = 300000ms = 300 Sekunden
DelayTimer[playerid] = SetTimerEx("Teleport",500,0,"iffff",playerid,X,Y,Z,A); // Timer ohne Wiederholung nach 500ms = 0,5 Sekunden
Es Fällt auf: Da ist noch was bei SetTimerEx
Hierbei werden Variablen mit dem Timer mitgeliefert. "iffff" bedeutet, es wird 1 Integer(playerid) gefolgt von 4 Floats(X,Y,Z,A) mitübertragen.
Hier eine Übersicht, welche Buchstaben man für was einsetzen muss:
i = Integer
d = Dezimalzahl
s = String
b = Bool
f = Float
Die Funktion "Teleport" könnte so aussehen:
public Teleport(id,Float:X,Float:Y,Float:Z,Float:A)
{
SetPlayerPos(id,X,Y,Z);
SetPlayerFacingAngle(id,A);
}
VORSICHT: Sowas würde nicht mit Standardfunktionen wie SetPlayerPos funktionieren.
Wenn ein Timer gestoppt werden soll, zum Beispiel beim Beenden des Gamemodes benutzt man KillTimer.
KillTimer(timerid);
timerid: Die TimerID die bei SetTimer(Ex) zurückgegeben wurde
SetTimer und SetTimerEx können mit KillTimer beendet werden...
Ich hoffe ich konnte euch damit weiterhelfen, sodass es reibungslos läuft.
Ich werde es evtl noch etwas updaten...
MfG, M4rciii