blob: c4cd3b702cd0d82698154a29fe54ad6a3bd9b7ad [file] [log] [blame]
FUNKTION
int set_next_reset(int delay)
ARGUMENTE
delay - minimale Zeit bis zum naechsten Reset des Objektes
BESCHREIBUNG
Mit dieser efun ist es moeglich Einfluss auf das Resetverhalten des
Objektes zu nehmen:
Das Objekt bekommt einen reset()-Aufruf fruehestens in <delay> Sekunden.
Bei Angabe eines Wertes <0 wird der reset() fΓΌr das Objekt abgeschaltet,
was fuer Blueprints gelegentlich sinnvoll ist.
Intern wird in gleichbleibenden Abstaenden (derzeit: in der Regel 2s,
kann sich aber auch verzoegern, wenn der Driver viel zu hat, z.B. auf
4s) geprueft ob die Zeit zum zum naechsten reset() abgelaufen ist.
Sollte dies der Fall sein, wird die Funktion reset() im Objekt
aufgerufen.
Die Funktion gibt die verbleibende Zeit bis zum naechsten Reset
zurueck, bevor <delay> gesetzt wurde. Der Wert kann auch negativ
sein, wenn der Reset ueberfaellig war.
Achtung: die tatsaechliche Zeit, wann der Reset im Objekt durchgefuehrt
wird, haengt auch davon ab, ob das Objekt nach Ablauf von <delay>
verwendet wird.
BEISPIELE
// ein Objekt mit verkuerzter reset()-Zeit
void create() {
...
set_next_reset(15*60); // ~ 15 Minuten
...
}
void reset() {
set_next_reset(900); // die muss im reset() immer wieder
::reset(); // neu gesetzt werden
}
// ein Objekt, dessen Blueprint keinen reset() bekommen soll
void create() {
if(!clonep(this_object())) {
set_next_reset(-1);
return;
}
::create();
...
}
SIEHE AUCH
call_out(E), object_info(E), reset(L), query_next_reset(E)
7.Aug 2007 Gloinson