give_notify() ============= FUNKTION -------- :: void give_notify(object obj); DEFINIERT IN ------------ :: /std/npc/put_and_get.c ARGUMENTE --------- :: obj an den NPC uebergebenes Objekt RUeCKGABEWERT ------------- :: keiner BESCHREIBUNG ------------ :: Diese Funktion wird automatisch immer dann aufgerufen, wenn ein Lebewesen (welches kein Spielercharakter ist) ein Objekt uebergeben bekommt. Dies muss jedoch ueber die Funktionalitaet von put_and_get.c geschehen sein, innerhalb von move() wird die Funktion nicht aufgerufen! BEISPIEL -------- :: Oftmals will man in Quests erreichen, dass einem NPC ein bestimmtes Item als Beweis der Erfuellung einer bestimmten Aufgabe ueberbracht wird. Folgendermasse kann dies realisiert werden: void create() { ::create(); ... SetProp(P_REJECT,({REJECT_GIVE, Name(WER)+" sagt: Das brauche ich nicht!\n"})); ... } void quest_ok(object obj) { ... // Vernichtung des Questobjektes und Questtexte // Questbelohnung und Questanerkennung } void give_notify(object obj) { if(obj->id("\nquestitem")) // Questitem bekommen? quest_ok(obj); else ::give_notify(obj); // P_REJECT soll sonst greifen } Der Aufruf von ::give_notify() stellt sicher, dass ein Objekt zurueckgegeben wird, sofern es nicht das gesuchte ist. Erreicht wird dies ueber P_REJECT (siehe Bemerkungen). BEMERKUNGEN ----------- :: Speziell in NPCs ist diese Funktion normalerweise dafuer verantwortlich, dass mittels der Property P_REJECT die Annahme von Objekten verweigert werden kann. Ueberschreibt man sie, so sollte man gegebenenfalls darauf achten, dass diese Standardfunktion ebenfalls aufgerufen wird. SIEHE AUCH ---------- :: P_REJECT, show_notify(), /std/npc/put_and_get.c, /std/living/put_and_get.c 22. Oktober 2013, Arathorn.