MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | SYNOPSIS |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 2 | int remove_call_out(string fun) |
| 3 | int remove_call_out(closure fun) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 5 | BESCHREIBUNG |
| 6 | Entfernt den naechsten anhaengigen call_out() auf die Funktion <fun> |
| 7 | im aktuellen Objekt bzw. den naechsten anhaengigen call_out() auf |
| 8 | die Closure <fun>. Die verbleibende Zeit wird zurueck geliefert. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 9 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 10 | Wenn es keine anhaengigen call_out()s auf <fun> gibt, wird -1 |
| 11 | zurueckgeliefert. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 12 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 13 | BEISPIELE |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 14 | Um alle call_out()s auf MeineFunktion() zu entfernen: |
| 15 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 16 | while (remove_call_out("MeineFunktion") != -1); /* wiederhole */ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 18 | FEHLER |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 19 | Das Entfernen von call_out()s auf Closures funktioniert nur, wenn der |
| 20 | exakt gleiche Wert fuer die Closure verwendet wird. |
| 21 | |
| 22 | Das funktioniert: |
| 23 | closure cl = symbol_function("main", obj); |
| 24 | call_out(cl, 2); |
| 25 | remove_call_out(cl); |
| 26 | |
| 27 | Das funktioniert nicht: |
| 28 | call_out(symbol_function("main", obj), 2); |
| 29 | remove_call_out(symbol_function("main", obj)); |
| 30 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 31 | GESCHICHTE |
| 32 | Das Entfernen eines call_out()s auf eine Closure wurde in 3.2.1@45 |
| 33 | eingefuehrt. |
| 34 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 35 | SIEHE AUCH |
| 36 | call_out(E), call_out_info(E), find_call_out(E) |