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 call_resolved(mixed result, object ob, string func, mixed arg,...) |
Zesstra | 5481d49 | 2021-04-08 20:07:06 +0200 | [diff] [blame] | 3 | int* call_resolved(mixed* result, object* ob, string func, mixed arg,...) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
| 5 | BESCHREIBUNG |
| 6 | Die Funktion ist aehnlich zu call_other(). Wenn obj->func() definiert |
| 7 | und oeffentlich ist, werden alle Argumente <arg> an obj->func() |
| 8 | uebergeben. Das Resultat dieses Funktionsaufrufes wird in <result> |
| 9 | gespeichert und muss deshalb als Referenz uebergeben werden. |
| 10 | |
| 11 | Wenn <ob> zerstoert wurde oder keine oeffentlich zugaengliche Funktion |
| 12 | <func> definiert, liefert call_resolved() 0 fuer Fehler, 1 bei Erfolg. |
| 13 | |
| 14 | <ob> kann auch ein object_name() sein. Wenn <ob> ein String ist und |
| 15 | das Objekt mit diesem Namen nicht gefunden oder geladen werden kann, |
| 16 | tritt ein Fehler auf. |
| 17 | |
Zesstra | 5481d49 | 2021-04-08 20:07:06 +0200 | [diff] [blame] | 18 | Ausserdem akzeptiert diese Efun auch Arrays von Objekten in <ob>: |
| 19 | The Funktion wird dann mit den gleichen Argumenten in allen angegebenen |
| 20 | Objekten aufgerufen. Die Ergebnisse des Funktionsaufrufes werden |
| 21 | in einem Array gespeichert, das an <result> zugewiesen wird, und die |
| 22 | Status-Codes werden in einem zweiten Array gesammelt, welches von der |
| 23 | Efun zurueckgeliefert wird. In dem Array koennen Objekte oder Namen |
| 24 | der Objekte angegebenen werden. Zerstoerte Objekte oder Nullen werden |
| 25 | als 0 in beiden Arrays eingetragen, verursachen jedoch keinen Fehler. |
| 26 | |
| 27 | GESCHICHTE |
| 28 | LDMud 3.6.2 fuegte die Aufrufe von Arrays hinzu. |
| 29 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 30 | SIEHE AUCH |
Zesstra | 5481d49 | 2021-04-08 20:07:06 +0200 | [diff] [blame] | 31 | call_other(E), call_strict(E), call_direct(E), call_direct_strict(E), |
| 32 | call_direct_resolved(E), create(A), pragma(LPC), extern_call(E), |
| 33 | function_exists(E), functions(LPC), map_objects(E) |