P_GUARD ======= NAME ---- :: P_GUARD "guard" DEFINIERT IN ------------ :: /sys/guard.h BESCHREIBUNG ------------ :: Diese Property gibt an, ob ein NPC aus einem Raum entfernt werden darf oder nicht. Abgefragt werden muss dies von den Items oder Spells, die den NPC zu einer Bewegung zwingen wollen. Es wird nicht automatisch darauf geachtet! Entscheidend hierbei ist ein in der Property enthaltene (ganzzahliger) Zahlenwert zwischen 0 und 100, der hierbei den Grad der 'Bewachungsstaerke' eines NPCs angibt. Bei 0 laesst sich das Lebewesen immer zu einer Bewegung ueberreden, bei 100 ueberhaupt nicht. Dazwischen gibt es die Wahrscheinlichkeit dafuer an. BEMERKUNGEN ----------- :: - alle von /std/npc abgeleiteten NPCs haben standardmaessig P_GUARD auf 100 gesetzt, sind also nicht fortfuehrbar - bei der Erzeugung von NPCs mit P_GUARD < 100 AddItem() mit dem Parameter REFRESH_MOVE_HOME verwenden, damit sie bei einem Raumreset gegebenenfalls an ihren Ausgangsort zurueckkehren. - gildenspezifische weitere Abfragen auf Level oAe bitte bei Gilden- magiern erfragen BEISPIELE --------- :: // ein Test if(random(100)<=liv->QueryProp(P_GUARD)) cannotMoveNPC(); // NPC darf nicht bewegt werden! else moveNPC(); // NPC darf bewegt werden // ein wegfuehrbarer NPC void create() { ::create(); ... SetProp(P_GUARD,50); ... } // mit 50% Wahrscheinlichkeit (pro Versuch) laesst sich der NPC nun // fortfuehren SIEHE AUCH ---------- :: AddItem() 13.April 2004 Gloinson