Dokumentation zu: give_notify(L)

HR Image


FUNKTION:
        void give_notify(object ob)

ARGUMENTE:
        ob: Das Objekt, das dem NPC gegeben wird.

BESCHREIBUNG:
        Diese Funktion kann man in einen NPC einbauen, wenn dieser auf
        Objekte, die ihm gegeben werden, reagieren soll.

RÜCKGABEWERT:
        Keiner.

BEISPIEL:
        1) Wenn man dem NPC etwas gibt, bedankt er sich dafuer.
        void give_notify(object ob)
        {
          write("Danke fuer "+ob->name(WEN,1)+"!\n");
        }

        2) Wenn man dem NPC einen Apfel gibt, gibt er eine Fackel zurueck.
        void give_notify(object ob)
        {
          object fackel;
          if (!ob) return;

          // generelles Dankesagen
          say(this_object()->name(WER, NAME_DEF|NAME_CAP)+" sagt: Danke.\n");

          if (ob->id("apfel"))
          {
            fackel = clone_object("/obj/fackel");
            if (fackel->move(this_player(), M_GIVE) < MOVE_OK)
            {
              say(this_object()->name(WER, NAME_DEF|NAME_CAP)+" sagt: Du "
                "kannst die Fackel nicht mehr tragen.\n"+
                this_object()->name(WER, NAME_DEF|NAME_CAP)+" legt eine Fackel "
                "ab.\n");
              fackel->move(environment(), M_DROP);
              return ::give_notify(ob);
            }
            write(this_object()->name(WER, NAME_DEF|NAME_CAP)+" gibt Dir "
              "eine Fackel.\n");
            say(this_object()->name(WER, NAME_DEF|NAME_CAP)+" gibt "+
              this_player()->name(WEM, NAME_DEF|NAME_CAP)+" eine Fackel.\n",
              this_player());
            return ::give_notify(ob);
          }
        }

SIEHE AUCH:
        P_REJECT, ET_GIVE, move(L)


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