blob: 89e09c5c413e3983cfad2537efcddbcf54fe703e [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001FUNKTION
2 int set_next_reset(int delay)
3
4ARGUMENTE
5 delay - minimale Zeit bis zum naechsten Reset des Objektes
6
7BESCHREIBUNG
8 Mit dieser efun ist es moeglich Einfluss auf das Resetverhalten des
9 Objektes zu nehmen:
10
11 Das Objekt bekommt einen reset()-Aufruf fruehestens in <delay> Sekunden.
Arathorn2e97b6a2019-12-03 00:37:34 +010012 Bei Angabe eines Wertes <0 wird der reset() fΓΌr das Objekt abgeschaltet,
MG Mud User88f12472016-06-24 23:31:02 +020013 was fuer Blueprints gelegentlich sinnvoll ist.
14
15 Intern wird in gleichbleibenden Abstaenden (derzeit: in der Regel 2s,
16 kann sich aber auch verzoegern, wenn der Driver viel zu hat, z.B. auf
17 4s) geprueft ob die Zeit zum zum naechsten reset() abgelaufen ist.
18 Sollte dies der Fall sein, wird die Funktion reset() im Objekt
19 aufgerufen.
20
21 Die Funktion gibt die verbleibende Zeit bis zum naechsten Reset
22 zurueck, bevor <delay> gesetzt wurde. Der Wert kann auch negativ
23 sein, wenn der Reset ueberfaellig war.
24
25 Achtung: die tatsaechliche Zeit, wann der Reset im Objekt durchgefuehrt
26 wird, haengt auch davon ab, ob das Objekt nach Ablauf von <delay>
27 verwendet wird.
28
29BEISPIELE
30 // ein Objekt mit verkuerzter reset()-Zeit
31 void create() {
32 ...
33 set_next_reset(15*60); // ~ 15 Minuten
34 ...
35 }
36
37 void reset() {
38 set_next_reset(900); // die muss im reset() immer wieder
39 ::reset(); // neu gesetzt werden
40 }
41
42 // ein Objekt, dessen Blueprint keinen reset() bekommen soll
43 void create() {
44 if(!clonep(this_object())) {
45 set_next_reset(-1);
46 return;
47 }
48 ::create();
49 ...
50 }
51
52SIEHE AUCH
53 call_out(E), object_info(E), reset(L), query_next_reset(E)
54
557.Aug 2007 Gloinson