P_NAME ====== NAME ---- :: P_NAME "name" DEFINIERT IN ------------ :: BESCHREIBUNG ------------ :: In dieser Property wird der Name eines Objektes vermerkt. Wenn der Name regelmaessig dekliniert wird, reicht ein einfacher String. Wird der Name unregelmaessig dekliniert, so kann man ein Array von vier Strings mit dem Namen im Nominativ, Genitiv, Dativ und Akkusativ (in dieser Reihenfolge) angeben. Die Funktion name() behandelt recht viele Sonderfaelle; man sollte den Namen also erst einmal in der Form eines einzelnen Strings pruefen. Eine Sonderrolle nehmen Unit-Objekte ein: Hier kann man einen Namen fuer den Singular und einen Namen fuer den Plural vergeben. Setzt man P_NAME eines Unit-Objekts auf einen einfachen String, so wird dieser als Name sowohl im Singular als auch im Plural verwendet. Uebergibt man ein Array von Strings, so wird der erste Eintrag fuer den Singular und der zweite Eintrag fuer den Plural benutzt. Bei Unit-Objekten ist es nicht moeglich, auch noch zwischen den verschiedenen Faellen zu unterscheiden. BEMERKUNGEN ----------- :: Diese Property sollte nur den reinen Namen enthalten; will man dem Namen noch Adjektive voranstellen, so sollte man dies mit P_NAME_ADJ bewerkstelligen, also statt SetProp(P_NAME, ({ "alter Hut", "alten Huts", "alten Hut", "alten Hut" }) ); besser SetProp(P_NAME, "Hut"); SetProp(P_NAME_ADJ, "alt"); Bei Lebewesen wird lower_case(P_NAME) (bei Arrays das erste Element daraus) automatisch als LivingName gesetzt. BEISPIELE --------- :: Ein regelmaessig deklinierbarer Name: SetProp(P_NAME, "Arkshat"); Hier ein Beispiel fuer einen unregelmaessig deklinierbaren Namen: SetProp(P_NAME, ({ "Drache", "Drachen", "Drachen", "Drachen" })); Und schliesslich der Name eines allseits bekannten Unit-Objektes: SetProp(P_NAME, ({ "Muenze", "Muenzen" })); SIEHE AUCH ---------- :: /std/thing/description.c, name(), P_NAME_ADJ, set_living_name(), find_living(), find_livings() Last modified: 19. Okt. 2015, Arathorn.