Hallo Leute,
Ich hatte grade mal 20 Minuten Zeit und hab eine kleine Include geschrieben.
Die Include erstellt "Player-Timer".
Ich verwende diese Methode schon seid geraumer Zeit und hab sie nun für euch in Include-Form gepackt.
Diese führen für einen Spieler nach einer bestimmten Zeit eine Aktion aus.
Damit kann man den Spieler z.B. nach 5 Sekunden Kicken.
Der Vorteil bei diesem System ist, dass alles über einen Timer läuft.
Man spart sich somit Timer für unnötige Funktionen.
Ein wichtiger Nachteil: Es kann wird vorkommen dass der Timer zufrüh ausgelöst wird.
Ihr solltet diese Timerfunktion nur dann benutzen, wenn es über längere Zeiträume geht oder Differenzen von bis zu 999ms nicht weiter Schlimm sind!
Die Include hat 2 und einen Callback Funktionen:
CreateTimer(playerid,time (In Sekunden),definition);
// Erstellt den Player-Timer
// returnt die Timer-ID
StopTimer(timerid);
// Stopt den Timer mit der angegebenen ID wieder
// return 1 Wenn Erfolgreich und 0 Wenn nicht Erfolgreich
public OnPlayerTimerEnd(playerid,definition)
{
return 1;
}
Kleines Beispiel wie es aussehen könnte:
define KICKTIMER 0
// Irgendwo im Script..
kicktimer[playerid] = CreateTimer(playerid,5,KICKTIMER); //Wir erstellen einen einen Timer der nach 5 Sekunden unseren Callback aufruft, die Definition "KICKTIMER" wird mitgeben..
// Callback..
public OnPlayerTimerEnd(playerid,definition)
{
if(definition == KICKTIMER) // Fragt ab ob die mitgegebene Definition "KICKTIMER" ist..
{
Kick(playerid); // Kickt den Spieler
}
return 1;
}
//Um den Timer zu stoppen:
StopTimer(kicktimer[playerid]);
Download: http://pastebin.com/Zc26kLJY
Ihr dürft alles damit machen ausser es als eures ausgeben.
Vielleicht konnte ich damit ein paar von euch ja einen Gefallen tun
MfG Firerfan
//EDIT 1: Nachteil hinzugefügt