Dokumentation zu: name_usage(WL)

HR Image


Die Benennung von Dingen und Lebewesen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Um die Benennung (Namen) von Dingen und Lebewesen einzustellen gibt es
im Wunderland einen ganzen Haufen von zusammen arbeitenden Eigenschaften.
Nur wenn man diese alle richtig miteinander benutzt, erhaelt man die
volle Funktionalitaet und Moeglichkeiten, die die Mudlib bieten.

Zunaechst einmal eine Auflistung der relevanten Eigenschaften:
  P_NAME          Die Grundform des Namens (Ball, Gnom, Varilon)
  P_PLURAL        Die Grundform der Mehrzahl (Baelle, Gnome, "")
  P_GENDER        Das Geschlecht (FEMALE, NEUTER, MALE)
  P_ARTICLE       Spezielle Wuensche zum Artikel
  P_NAME_ADJ      Eventuelle Adjektive zum Namen in Grundform (rot, schwer)
  P_DESCR         Eine ausfuehrlicherer Beschreibung, die angehaengt wird
  P_NAME_FLAG     Einige Eigenschaften des Namens
  P_NAME_AMOUNT   Wieviele Dinge repraesentiert dieses Objekt
  P_NAME_OWNER    Wer ist der Eigentuemer (nicht Besitzer) des Objekts

Informationen zu den einzelnen Eigenschaften gibt es in den entsprechenden
Hilfeseiten dazu. Zu beachten ist, dass P_NAME_ADJ nicht selbst gesetzt
werden sollte sondern indirekt ueber SetFlexedAdjectives(L).

Weiterhin sind folgende Funktionen oefter von Interesse:
  SetFlexedAdjectives(L)  Adjektive des Objektes festlegen
  name(L)                 Namen abfragen (DIE Hauptfunktion)
  tell_room_action(S)     Eine Aktion im Raum ausgeben (aehnlich tell_room())
  QueryPronoun(L)         Pronomen abfragen (Er, ihr)
  QueryPossPronoun(L)     Possesivpronomen 3. Person singular (sein, ihre)
  QueryDuPossPronoun(L)   Possesivpronomen 2. Person singular (dein)

Schwieriger in der Benutzung sind hierbei nur name() und tell_room_action(),
welche als einzige hier naeher beschrieben werden sollen.

Jetzt folgen einige Problemstellungen mit den Loesungen. Die Loesungen gehen
nur auf die spezifisch zu setzenden Eigenschaften ein und enthalten nicht
alle Eigenschaften.


Ein bunter Ball:
~~~~~~~~~~~~~~~~
   P_NAME         Ball
   P_PLURAL       Baelle                   
   P_GENDER       MALE
   SetFlexedAdjectives("bunt")

   name(WEN, NAME_DEF)             -=> Kitty nimmt den bunten Ball.

Ein guelden schimmerndes Schwert
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   P_NAME         Schwert
   P_PLURAL       Schwerter
   P_GENDER       NEUTER
   SetFlexedAdjectives("guelden schimmernd")

   Hier ist zu beachten, dass das eine Adjektiv aus zwei Worten besteht.
   Diese muss man bei SetFlexedAdjectives(L) auch als ein Wort uebergeben,
   nicht etwa als zwei - dann wuerden beide Worte gebeugt, was falsch ist.

Der grosse Varilon:
~~~~~~~~~~~~~~~~~~~
   P_NAME         Varilon
   P_PLURAL       ""
   P_NAME_FLAG    NAME_PERSONAL
   SetFlexedAdjectives("gross")

   name(WESSEN, NAME_AUTO)         -=> des grossen Varilon

   Falsch ist es, hier P_ARTICLE auf ART_NONE zu setzen (veraltete Methode),
   da dann der Text 'grossen Varilons' erzeugt wird.

   Wichtig ist zu bedenken bei ALLEN Npcs mit einem persoenlichen Namen
   dies auch in der Namenseigenschaft anzugeben!

Die Siebenmeilenstiefel:
~~~~~~~~~~~~~~~~~~~~~~~~
   P_NAME         Siebenmeilenstiefel
   P_PLURAL       Siebenmeilenstiefel
   P_NAME_AMOUNT  ""
   P_ARTICLE      ART_DEF

Ein Paar Stiefel:
~~~~~~~~~~~~~~~~~
   P_NAME         Paar
   P_PLURAL       Paare
   P_DESCR        Stiefel

Der bunte Ball des Gnoms:
~~~~~~~~~~~~~~~~~~~~~~~~~
   P_NAME         Ball
   P_NAME_OWNER   [Objekt des Gnoms]

   name(WER, NAME_DEF)             -=> der bunte Ball
   name(WER, NAME_DEF|NAME_OWNER)  -=> der bunte Ball des Gnoms

Einige Sandkoerner:
~~~~~~~~~~~~~~~~~~~
   P_NAME         Sandkorn
   P_PLURAL       Sandkoerner
   P_NAME_FLAG    NAME_PLURALOBJ

   name(WER, NAME_AUTO)            -=> einige Sandkoerner

   Da dies die Mehrzahl ist, nicht vergessen bei AddId() auch Plural-
   identitaeten anzugeben.
   Wenn im Raum mehr als ein solches Objekt liegt, wird es uebrigens
   als 'Sandkoerner' angezeigt, nicht etwa als '2 einige Sandkoerner'.

Etwas Torfmoos:
~~~~~~~~~~~~~~~
   P_NAME         Torfmoos
   P_PLURAL       Torfmoos
   P_NAME_AMOUNT  "etwas"
   P_NAME_FLAG    NAME_AMOUNT_SINGULAR | NAME_AMOUNT_NOT_DECL |
                  NAME_AMOUNT_INDEF

   name(WEN, NAME_AUTO)            -=> etwas Torfmoos

   Hier gilt die Singular-Identitaet.
   Bei mehreren gleichen Objekten ist das Verhalten wie bei den Sandkoernern.

Fuchurs bunter Ball:
~~~~~~~~~~~~~~~~~~~~
   P_NAME_OWNER   [Objekt von Fuchur]

   In Fuchur muss gesetzt sein (ist Standard bei Spielern):
   P_NAME_FLAG    NAME_PERSONAL

   name(WER, NAME_DEF|NAME_OWNER)  -=> Fuchurs bunter Ball

   Schwierigkeit: Wie erzeuge ich die Ausgabe, wenn Pepsi Fuchurs Ball in
   die Luft schiesst. Einzeln kann man folgende Meldungen erzeugen:

   Fuer Pepsi:
   name(WEN, NAME_OWNER, [Pepsis Objekt], [Pepsis Objekt])
     -=> Fuchurs bunten Ball

   Fuer Fuchur:
   name(WEN, NAME_OWNER, [Fuchurs Objekt], [Pepsis Objekt])
     -=> Deinen bunten Ball

   In diesem Fall ist die Meldung an Pepsi und alle Umstehenden im Bereich
   des Namens identisch; dies ist aber anders, wenn der Ball Pepsi gehoert.
   Um die ganzen verschiedenen Meldungen zu erzeugen, kann man sich
   der Funktion tell_room_action(S) bedienen:

   tell_room_action(room, [Pepsi], "Pepsi schiesst %N in die Luft.",
     ({ [Ball-Objekt], WEN, NAME_OWNER }));

   Jetzt erhalten alle im Raum anwesenden eine in Bezug auf den Besitz des
   Balls korrekte Meldung. Pepsi selbst bekommt keine Ausgabe, da sich der
   Text an einen Akteur normalerweise stark von dem Text fuer alle anderen
   unterscheidet.

Das Zepter eines unbekannten Koenigs:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   P_NAME_OWNER   ({ 0, "eines unbekannten Koenigs", MALE, 0, 0 })
   P_ARTICLE      ART_DEF

   Setzen von P_NAME_OWNER auf ein Objekt erstellt in Wirklichkeit
   ein Array dieser Form. Die Referenz auf das Objekt wird benutzt,
   um dieses Array stets auf dem aktuellen Stand zu halten. Wenn das
   besitzende Objekt zerstoert wird bleibt so die Besitzinformation
   erhalten.

Ein schwarzer Schimmel samt Fiona:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   P_NAME_OWNER   ({ [Fionas Objekt], 0, " samt" })

   Wenn ein Objekt angegeben ist, wird das Array stets auf die volle
   Groesse erweitert und alle relevanten Informationen aus dem Objekt
   beschafft. Einziges noch angebbares Element ist die Praeposition,
   mit der hier angezeigt wird, wer das Pferd reitet. Vor der
   Praeposition muss ein Leerzeichen stehen.

SIEHE AUCH:
        P_NAME, P_PLURAL, P_GENDER, P_ARTICLE, P_NAME_ADJ, P_DESCR,
        P_NAME_FLAG, P_NAME_AMOUNT, P_NAME_OWNER,
        SetFlexedAdjectives(L), name(L), tell_room_action(S),
        QueryPronoun(L), QueryPossPronoun(L), QueryDuPossPronoun(L)


Start » Magierhandbuch » Docu » Konzepte » Name_usage Letzte Generierung: 25.04.2021, 01:58
Email an: mud@wl.mud.de
Valid HTML 4.01!