FUNKTION:
public int DoReact(string verb, string adverb, object player,
object victim)
IMPLEMENTIERT IN:
/std/npc/react.c
ARGUMENTE:
verb : Das Verb, auf welches zu reagieren ist.
adverb : Das zugehoerige Adverb
player : Der agierende Player
victim : Das Opfer der Handlung (object [R_ME, R_OTHER], 0 [R_NONE]
oder 1 [R_ALL])
BESCHREIBUNG:
Der 'Netti' bietet eine leistungsfaehige und leicht zu handhabende
Moeglichkeit an, NPC zeitlich steuerbare Aktionen durchfuehren zu
lassen. Diese urspruenglich nur fuer Reaktionen auf Soulaktionen
gedachte Methode laesst sich auch sehr schoen fuer allgemeinere
Zwecke verwenden. Da die automatische Reaktion aber nur greift,
falls es sich um eine Soulaktion handelt, muss man die
Reaktion fuer andere Zwecke 'von Hand' starten.
DoReact erledigt nun genau dieses. Der Parameter 'verb' enthaelt das
bei AddReaction angegebene Verb. Dies muss natuerlich kein wirkliches
Verb sein sondern stellt nur eine Art Namen der Reaktion dar.
In 'adverb' kann man der Reaktion eventuelle weitere Parameter
uebergeben. 'player' ist das agierende Objekt und 'victim'
stellt das Ziel der Aktion dieses Objektes dar.
RÜCKGABEWERT:
Die Funktion liefert stets 1 zurueck.
BEMERKUNG:
Bei der Verwendung der Reaktionen fuer eigene, nicht soulgebundene,
Zwecke sollte der Name der Reaktion (das 'verb') so gewaehlt werden,
dass es nicht faelschlicherweise mit einem echten Verb verwechselt
werden kann.
Auch sollte man beruecksichtigen, dass der Soul eventuell neue Verben
hinzugefuegt werden koennen.
BEISPIEL:
In /gilden/abenteurer/mon/varilon.c:
AddReaction("this_guild_raise_level", R_ME, ({"knuddel &name", 1,
"gratuliere &name zur neuen Stufe"}));
Die Gilde ruft, falls ein Spieler seine Stufe erhoeht hat, dann einfach
DoReact in Varilon auf:
varilon->DoReact("this_guild_raise_level", "", this_player(), varilon);
SIEHE AUCH:
AddReaction(L), RemoveReaction(L), P_REACTIONS, P_REACT_FLAGS
|