P_TMP_DIE_HOOK ============== ********************* VERALTETE PROPERTY ****************************** * Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. * *********************************************************************** P_TMP_DIE_HOOK NAME ---- :: P_TMP_DIE_HOOK "die_hook" DEFINIERT IN ------------ :: /sys/new_skills.h BESCHREIBUNG ------------ :: Mittels dieser Property kann der Tod eines Livings abgewendet werden. Es wird an dem Living die Property als mindestens 3-elementiges Array ({zeitpunkt, objekt, methode, ...}) gesetzt und die Methode 'methode' wird dann waehrend des die() des Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'. Bei Geistern wird der Hook nicht gerufen. Der Methode wird ein int uebergeben, ob das Living Opfer von Gift (P_POISON) war. Gibt die Funktion einen Wert != 0 zurueck, wird die() sofort abgebrochen und das Living stirbt nicht. BEMERKUNGEN ----------- :: - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen. - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die Property auf 0 gesetzt - vor dem Setzen immer auf die Existenz eines gueltigen Hooks pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern im Code anderer und ist andererseits unfair gegenueber ihnen BEISPIELE --------- :: *** ein besonderer Giftschutz .. wirkt beim Tod *** // pruefen, ob nicht ein anderer Modifier existiert if(!pointerp(tmp=TP->QueryProp(P_TMP_DIE_HOOK)) || sizeof(tmp)<3 || tmp[0]<=time()) { TP->SetProp(P_TMP_DIE_HOOK, ({time()+120+random(10), this_object(), "prevent_die"})); // die gerufene Methode int prevent_die(int poison) { int ret; if(poison) { tell_object(previous_object(), "Ein Zauber reinigt im Moment des Todes dein Blut!\n"); tell_object(environment(previous_object()), previous_object()->Name(WER,1)+" wird von Lichtern umhuellt.\n", ({previous_object()})); ret=1; } // wir helfen nur einmal ... und ein Tod vernichtet die Hilfe auch previous_object()->SetProp(P_TMP_DIE_HOOK, 0); return ret; } SIEHE AUCH ---------- :: Tod: die(L) Sonstiges: P_POISON, P_KILLS, P_GHOST Hooks: P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK, P_TMP_DEFEND_HOOK neue Hooks: std/hooks 08.12.2008, Zesstra