MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | FUNKTION: |
| 2 | int find_call_out(string func) |
| 3 | int find_call_out(closure cl) |
| 4 | |
| 5 | BESCHREIBUNG: |
| 6 | Findet den ersten call_out() auf die Funktion 'func' im aktuellen Objekt |
| 7 | (bzw. auf die Closure 'cl') der ausgefuehrt werden soll. |
| 8 | Zurueck gegeben wird die verbleibende Zeit bis zum Aufruf in Sekunden. |
| 9 | Wenn kein call_out() gefunden wird, wird -1 zurueck gegeben. |
| 10 | |
| 11 | BEISPIELE: |
| 12 | // Findet sich kein call_out auf die Funktion 'func', so kann er |
| 13 | // gestartet werden. (Wichtig falls der call_out nicht mehrfach |
| 14 | // aufgerufen werden soll). |
| 15 | |
| 16 | if(find_call_out("func")==-1) |
| 17 | call_out("func",5); |
| 18 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 19 | // Die Suche nach call_out()s auf Closures funktioniert nur, wenn der |
| 20 | // genaue Wert der Closure gesucht wird. |
| 21 | |
| 22 | // Das funktioniert: |
| 23 | closure cl = symbol_function("main", obj); |
| 24 | call_out(cl, 2); |
| 25 | find_call_out(cl); |
| 26 | |
| 27 | // Das funktioniert nicht: |
| 28 | call_out(symbol_function("main", obj), 2); |
| 29 | find_call_out(symbol_function("main", obj)); |
| 30 | |
Arathorn | a3e4cc7 | 2016-08-25 21:46:58 +0200 | [diff] [blame] | 31 | Ein Codebeispiel, um alle call_out()s auf eine Funktion zu entfernen, |
| 32 | findet sich in der Manpage zu remove_call_out(). |
| 33 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 34 | SIEHE AUCH: |
| 35 | call_out(E), remove_call_out(E), call_out_info(E) |
| 36 | |
Arathorn | a3e4cc7 | 2016-08-25 21:46:58 +0200 | [diff] [blame] | 37 | 25.08.2016, Arathorn |