| GESCHUETZT |
| SYNOPSIS |
| #include <objectinfo.h> |
| |
| mixed * object_info(object ob, int what) |
| mixed * object_info(object ob, int what, int index) |
| |
| BESCHREIBUNG |
| Liefert einige interne Informationen ueber das Objekt <ob> in Form |
| eines Arrays. Das Argument <what> gibt an, welche Informationen |
| geliefert werden. |
| |
| Das Resultat ist normalerweise ein Array. Wird jedoch <index> |
| spezifiziert, wird nur der Wert geliefert, der im Array an der |
| Position <index> stehen wuerde. |
| |
| Die moeglichen Werte fuer <what> und die Indizes des gelieferten |
| Arrays sind in <objectinfo.h> definiert und muessen eingebunden |
| werden. Diese Definitionen koennen sich in zukuenftigen Versionen |
| des Drivers aendern! |
| |
| <what> == OINFO_BASIC: |
| |
| Dieser Aufruf liefert grundlegende Informationen ueber <ob>: |
| int [OIB_HEART_BEAT]: 1, wenn <ob> einen heart_beat() hat, |
| sonst 0. |
| int [OIB_IS_WIZARD]: 1, wenn <ob> ein Gott ist (das |
| Wizard Flag gesetzt hat), sonst 0. Der |
| Eintrag ist immer 0, wenn set_is_wizard() |
| nicht verfuegbar ist. |
| int [OIB_ENABLE_COMMANDS]: 1, wenn <ob> Kommandos geben darf, sonst 0. |
| int [OIB_CLONE]: 1, wenn <ob> ein Clon ist, sonst 0. |
| int [OIB_DESTRUCTED]: 1, wenn <ob> zerstoert wurde, sonst 0. |
| int [OIB_SWAPPED]: 1, wenn <ob> geswapt wurde, sonst 0. |
| int [OIB_ONCE_INTERACTIVE]: 1, wenn <ob> einmal interaktiv war, |
| sonst 0. |
| int [OIB_RESET_STATE]: 1, wenn <ob> im gleichen Zustand wie nach |
| einem reset() ist, sonst 0. |
| int [OIB_WILL_CLEAN_UP]: 1, wenn <ob> clean_up() aufruft, sonst 0. |
| int [OIB_LAMBDA_REFERENCED]:1, wenn <ob> Lambdas beinhaltet, sonst 0. |
| int [OIB_SHADOW]: 1, wenn <ob> ein Schatten uebergeworfen |
| wurde, sonst 0. |
| int [OIB_REPLACED]: 1, wenn das Programm von <ob> ersetzt |
| wurde (mit replace_program()), sonst 0. |
| int [OIB_NEXT_RESET]: Zeit bis zum naechsten Reset. |
| int [OIB_TIME_OF_REF]: Zeit des letzen Aufrufs von <ob>. |
| int [OIB_REF]: Anzahl Aufrufe von <ob>. |
| int [OIB_GIGATICKS]: GIGATICKS und TICKS liefern die summierten |
| int [OIB_TICKS]: Evalkosten von <ob>. |
| int [OIB_SWAP_NUM]: Die Swap-Nummer von <ob>s Programm, oder |
| -1, wenn <ob> nicht geswapt wurde. |
| int [OIB_PROG_SWAPPED]: 1, wenn <ob>'s Programm geswapt wurde, |
| sonst 0. |
| int [OIB_VAR_SWAPPED]: 1, wenn <ob>'s Variablen geswapt wurden, |
| sonst 0. |
| int [OIB_NAME]: der Objektname von <ob>. |
| object [OIB_NEXT_ALL]: das naechste Objekt in der Objektliste. |
| object [OIB_PREV_ALL]: das vorherige Objekt in der Objektliste. |
| |
| <what> == OINFO_POSITION: |
| |
| Dieser Aufruf liefert Informationen ueber die Position von <ob> in der |
| globalen Objektliste: |
| |
| object [OIP_NEXT]: naechstes Objekt in der Objektliste. |
| object [OIP_PREV]: vorheriges Objekt in der Objektliste. |
| int [OIP_POS]: die Position von <ob> in der Objektliste, |
| beginnend von 0 aufwaerts. |
| |
| Dieser Aufruf kann aufwendig an Rechenzeit sein. |
| |
| <what> == OINFO_MEMORY: |
| |
| Dieser Aufruf liefert Informationen ueber Speichernutzung von <ob>. |
| |
| int [OIM_REF]: Anzahl Referenzierungen von <ob>. |
| string [OIM_NAME]: Name von <ob>. |
| int [OIM_PROG_SIZE]: Programmgroesse. |
| int [OIM_NUM_FUNCTIONS]: Anzahl Funktionen in <ob>. |
| int [OIM_SIZE_FUNCTIONS]: Speicherbedarf der Funktionen |
| int [OIM_NUM_VARIABLES]: Anzahl Variablen im Programm. |
| int [OIM_SIZE_VARIABLES]: Speicherbedarf der Variablen. |
| int [OIM_NUM_STRINGS]: Anzahl Strings im Programm. |
| int [OIM_SIZE_STRINGS]: Speicherbedarf der String-Pointer. |
| int [OIM_SIZE_STRINGS_DATA]: Speicherbedarf der String-Daten, |
| korrigiert um das Ausmass des Daten- |
| Sharing. |
| int [OIM_SIZE_STRINGS_TOTAL]: unkorrigierter Speicherbedarf der |
| String-Daten. |
| int [OIM_NUM_INCLUDES]: Anzahl Includefiles im Programm. |
| int [OIM_NUM_INHERITED]: Anzahl inheriter Programme. |
| int [OIM_SIZE_INHERITED]: Speicherbedarf der Inherits. |
| int [OIM_TOTAL_SIZE]: Gesamter Speicherbedarf des Programms. |
| int [OIM_DATA_SIZE]: Gesamte Speicherbedarf der Variablenwerte |
| des Objekts <ob>, korrigiert um das |
| Ausmass des Daten-Sharings. |
| int [OIM_DATA_SIZE_TOTAL]: unkorrigierter Gesamter Speicherbedarf |
| der Variablenwerte des Objekts. |
| int [OIM_NO_INHERIT]: 1, wenn das Programm nicht inheritet |
| werden kann. |
| int [OIM_NO_CLONE]: 1, wenn das Programm / der Blueprint |
| nicht geclont werden kann. |
| int [OIM_NO_SHADOW]: 1, wenn dem Objekt kein Shadow |
| uebergeworfen werden darf. |
| |
| Dieser Aufruf holt das Programm aus dem Swap, falls notwendig. |
| Die OIM_SIZE_xxx-Eintraege zeigen nur den Speicherbedarf der |
| Strukturen / Pointer an, nicht aber den Speicherbedarf von |
| Variablenwerten, Funktionscode oder der Strings selbst. |
| |
| |
| GESCHICHTE |
| Eingefuehrt in LDMud 3.2.6. |
| Aenderungen in LDMud 3.2.7: |
| - neues Kriterium OIB_REPLACED. |
| - das Kriterium OIB_IS_WIZARD ist immer 0, wenn set_is_wizard() |
| nicht verfuegbar ist. |
| - das Kriterium OIB_APPROVED wurde entfernt. |
| LDMud 3.2.8 fuehrte neu OIM_DATA_SIZE im Resultat von OINFO_MEMORY ein. |
| LDMud 3.2.9 erweiterte OINFO_MEMORY um den Index Mechanismus, |
| OIM_NUM_INCLUDES, OIM_NO_INHERIT, OIM_NO_SHADOW, OIM_NO_CLONE, |
| OIM_SIZE_STRINGS_DATA, OIM_SIZE_STRINGS_TOTAL, und |
| OIM_DATA_SIZE_TOTAL |
| |
| SIEHE AUCH |
| debug_info(E) |