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)
|