Lpc Manpages

P_REJECT

NAME:
    P_REJECT                       "reject"                      

DEFINIERT IN:
    /sys/npc.h

BESCHREIBUNG:
    Diese Property beschreibt, wie sich ein NPC verhalten soll, dem
    ein Gegenstand zugesteckt wird. Setzt man P_REJECT nicht, so
    behaelt der NPC den Gegenstand einfach.
    P_REJECT enthaelt ein Array aus 2 bis 3 Elementen, wobei das erste
    Element die Art der Handlung beschreibt, und das zweite bzw. dritte
    Meldungen sind, mit denen der NPC seine Handlung kommentiert.
    Folgende Handlungsarten sind vordefiniert (in <moving.h>):
    REJECT_GIVE:     Der NPC gibt den Gegenstand zurueck.
    REJECT_DROP:     Der NPC laesst den Gegenstand fallen.
    REJECT_KEEP:     Der NPC behaelt den Gegenstand.
    REJECT_DESTRUCT: Der NPC vernichtet den Gegenstand.
    Wenn nur zwei Arrayelemente angegeben sind, enthaelt das zweite
    eine Meldung an den Raum und an den Spieler selbst.
    Werden drei Arrayelemente angegeben, enthaelt das zweite eine Meldung
    nur an den Raum und das dritte eine Meldung nur an den Spieler.
    Alle Meldungen koennen auch leer gelassen werden; es wird dann nichts
    ausgegeben (der Name des NPCs wird in keinem Fall vorangestellt!).
    Die Meldungen werden intern mittels MakeString() geparst, wobei
    der 0. Parameter der NPC selbst ist, der 1. Parameter das uebergebene
    Objekt und der 2. Parameter der Spieler, der das Objekt uebergibt.
    
BEMERKUNGEN:
    Bei REJECT_DROP und REJECT_GIVE ist zu beachten, dass zusaetzlich zu
    den hier ggfs. definierten Meldungen immer auch die Standardmeldungen
    "XXX laesst YYY fallen." bzw "XXX gibt YYY an ZZZ" ausgegeben werden.
    
    Fuer die Auswertung von P_REJECT ist die Funktion "give_notify()"
    verantwortlich. Dieses gilt es zu beachten, wenn give_notify() in
    eigenen NPCs ueberschrieben werden soll!

BEISPIELE:

    Der NPC gibt das Objekt an den Spieler zurueck. Meldung an alle.

    SetProp(P_REJECT, ({REJECT_GIVE, "Der NPC sagt: Damit kann ich nichts "
                                     "anfangen.\n"}) );

    Der NPC zerstoert das Objekt. Meldung an Spieler und Raum getrennt.

    SetProp( P_REJECT, ({REJECT_DESTRUCT,
                       "Das Kamel frisst ##namB2g## ##namR1## einfach auf.\n",
                       "Das Kamel frisst ##namA1a## einfach auf.\n"}) );

    Ich sehe hierbei:

    $ gib fackel an kamel
    Du gibst dem Kamel die Fackel.
    Das Kamel frisst die Fackel einfach auf.
    $ gib 3 muenzen an kamel
    Du gibst dem Kamel 3 Muenzen.
    Das Kamel frisst 3 Muenzen einfach auf.

    Alle anderen sehen:

    Mupfel gibt dem Kamel die Fackel.
    Das Kamel frisst Mupfels Fackel einfach auf.
    Mupfel gibt dem Kamel 3 Muenzen.
    Das Kamel frisst Mupfels 3 Muenzen einfach auf.


DOKUMENTIERT:
    14.07.1996 von Mupfel
    18.05.1997 geaendert von Mupfel
    03.10.2003 Beispiel von Chakotay
    14.01.2006 REJECT_DESTRUCT, MakeString neu (Mupfel)

SIEHE AUCH:
    MakeString(), give_notify()