KONZEPT:
Netti - oder auch "ein netter NPC"
/std/npc.c
/sys/properies.h
/sys/npc/react.h
BESCHREIBUNG:
Normale NPC sind meist dumm und interaktionslos. Sie reagieren weder
auf Aktionen noch Fragen von Spielern. Mit ein paar kleinen Hand-
griffen kann man das beheben.
Die Funktion SetStandardReactions() setzt in einem NPC eine Reihe
standardmaessiger, mehr oder weniger schoener Reaktionen. Einzelne
Reaktionen koennen mit AddReaction() gesetzt oder mit RemoveReaction()
wieder entfernt werden.
Ausserdem erhaelt ein "Netti" ueber die Funktion SetStandardReaction()
eine Reaktion auf unbeantwortete Fragen. (Er zuckt mit den Schultern
und schaut den Frager fragend an.) Ueber die Funktionen AddInfo()
und RemoveInfo() koennen dem NPC Antworten hinzugefuegt und wieder
genommen werden. Die Antwort bzw. Reaktion auf unbeantwortet Fragen
kann ueber AddInfo("\ndefault", ...) angelegt oder veraendert werden.
BEISPIEL:
inherit "npc";
#include <properties.h>
#include <npc/react.h>
void create()
{
if (!clonep()) return;
::create();
// Einen Netti mit vordefinierten Reaktionen schaffen
SetStandardReactions();
// Eine eigene Reaktion auf "sabbern"
AddReaction("sabbere", R_ME, ({"erroete", 2, "sage Aber nicht "
"doch, &Name."}));
// Eine eigene Antwort darauf, wie es mir geht
AddInfo("wie&geht|gehts", ({
"laechle &name", 2, "sage Danke, mir gehts gut. Und Dir?"}));
// Eine eigene Antwort auf unbeantwortbare Fragen
AddInfo("\ndefault", ({
"nicke gedankenverloren", 2, "sage Jaja, schoenes Wetter "
"heut ..."}));
// Und natuerlich noch die Beschreibung des NPCs. Details, sonstige
// Properties nicht vergessen :)
}
SIEHE AUCH:
npc(STD), SetStandardReactions(L), AddInfo(L), RemoveInfo(L),
AddReaction(L), RemoveReaction(L)
|