PROPERTY:
P_REJECT
DEFINIERT ALS:
"reject"
DEFINIERT IN:
/sys/properties.h (Propertie)
/sys/moving.h (Flags)
WERTE:
Array aus mixed
BESCHREIBUNG:
Hier kann man das Verhalten eines NPCs einstellen, wenn er ein
Object gegeben bekommt.
Das erste Element ist eins aus
REJECT_GIVE: Das Object wird zurueckgegeben
REJECT_DROP: Das Object wird fallengelassen
REJECT_KEEP: Das Object wird behalten
Das zweite Elemet kann ein String sein oder 0. Ist es ein String,
wird er automatisch umgebrochen und direkt an den gebenden Spieler
ausgegeben. Ist es 0, wird keine (zusaetzliche) Meldung ausgegeben.
Wenn REJECT_GIVE angegeben ist, der NPC das Objekt aber nicht zu-
rueckgeben kann, legt er es ab.
Achtung, dies wird ueber give_notify() gemacht, wenn man diese
Funktion ueberlaed muss man ::give_notify() an adaequater Stelle
aufrufen!
BEISPIELE:
1)
SetProp(P_REJECT,
({ REJECT_KEEP, "Das Testmonster sagt: Vielen Dank!"}) );
2)
SetProp(P_REJECT, ({REJECT_DROP, 0}));
-> Du gibst dem Monster zwoelf Bernsteine.
Das Monster laesst die zwoelf Bernsteine fallen.
3)
SetProp(P_REJECT,
({REJECT_DROP, "Die Schlange zischt Dich boese an."}));
-> Du gibst der Smaragdschlange acht Topase.
Die Schlange zischt Dich boese an.
Die Smaragdschlange laesst die acht Topase fallen.
4)
void give_notify(object ob)
{
if (!(ob->id("hammer")))
{
SetProp(P_REJECT, ({REJECT_DROP, name(WER, NAME_DEF|NAME_CAP)+
" sagt: Das brauche ich nicht."}));
return ::give_notify(ob);
}
if (!(ob->id("\npoljana_haemmerchen")))
{
SetProp(P_REJECT, ({REJECT_DROP, name(WER, NAME_DEF|NAME_CAP)+
" sagt: Das ist aber nicht mein Haemmerchen."}));
return ::give_notify(ob);
}
SIEHE AUCH:
P_NODROP, P_NOGET, PlayerTickles, PlayerTousles
|