Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//lfun/give_notify

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.


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.