soulhelp.c-Dateireferenz

#include <wizlevels.h>
Include-Abhängigkeitsdiagramm für soulhelp.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define NO_MORE_E

Funktionen

private string HelpVerb (string v)
 Gibt die Hilfe zu einem Verb.
private string * SortIt (string *arr)
 Sortiert ein array of string alphabetisch.
void create ()
 Initialisierung.
string Help (string verb)
 Gibt die Hilfe zu einem Verb oder die Verbenuebersicht zurueck.

Variablen

static string * wizcmds
static string * plrcmds
static string * ghostcmds
static mapping help

Makro-Dokumentation

#define NO_MORE_E
Wert:
({"cls","flipp","gruebel","grummel","guck","haetschel",\
  "jubel","laechel","gib","runzel","schmunzel","schuettel","sniff",\
  "streichel","tritt", "wackel","argl","rotfl","kuschel","kitzel","knuddel",\
  "taetschel","wuschel","rassel","kick","splash","flame","verb","adverb",\
  "nein","brummel","mopper",})

Definiert in Zeile 274 der Datei soulhelp.c.

Wird benutzt von HelpVerb().


Dokumentation der Funktionen

void create (  ) 

Initialisierung.

Definiert in Zeile 25 der Datei soulhelp.c.

Benutzt ghostcmds, help, plrcmds und wizcmds.

00025                {
00026                 plrcmds=({
00027                                 "zuck", "schmieg", "antworte", "applaudiere",
00028                                 "betaste", "cls", "drehe (daeumchen)", "danke",
00029                                 "druecke", "erroete", "flippe", "frage",
00030                                 "furze", "gaehne", "gluckse", "grinse",
00031                                 "guck", "haetschel", "hickse", "huepfe",
00032                                 "huste", "keuche", "kichere", "klatsche",
00033                                 "knabbere", "knickse", "knirsche", "knurre",
00034                                 "knutsche", "kotze", "kuesse", "lache",
00035                                 "laechle", "liebe", "nicke", "niese",
00036                                 "gib", "pfeife", "ruelpse", "runzle",
00037                                 "schmolle", "schmunzle", "schnippe", "schnarche",
00038                                 "schnurre", "schreie", "schuettle", "seufze",
00039                                 "singe", "sniefe/schniefe", "spucke", "starre",
00040                                 "staune", "stiere", "stoehne", "stosse",
00041                                 "streichle", "tanze", "tritt", "troeste",
00042                                 "umarme", "verneige", "wackle", "waelze",
00043                                 "weine", "winke", "zwinkere", "verben",
00044                                 "aechze", "erbleiche", "fluche", "verfluche",
00045                                 "kitzle", "nein", "deute", // "zeige",
00046                                 "denke [text]", "knuddle", "taetschel", "wuschel",
00047                                 "strecke ... [die] zunge raus", "kratz",
00048                                 "grummel", "jubel / juble ... [zu]", "wuerg",
00049                                 "gratuliere / beglueckwuensche", "raeusper",
00050                                 "argl", "rotfl", "grunz", "kuschel", "atme ... auf",
00051                                 "freue", "sniff", "grueble", "bohre ... [in der nase]",
00052                                 "putze [nase]", "bibbere", "quietsche/quieke", "schluchze",
00053                                 "schnaufe", "schnaube", "philosophiere", "sabbere",
00054                                 "stimme [...] zu", "krieche", "mustere", "schaeme",
00055                                 "schnalze ... [zunge]", "stampfe ... [auf]", "zitiere", "lobe",
00056                                 "quake", "reibe ... [die] Augen|Haende", "stutze", "schweige",
00057                                 "klopfe", "wundere", "stupse", "brummel", "entschuldige",
00058                                 "mopper", "zeige", "traeume", "begruesse","jammer",
00059                 });
00060 #ifdef WECKE
00061                 plrcmds+=({"wecke"});
00062 #endif
00063                 wizcmds=({
00064                                 "kick", "splash", "flame",
00065                 });
00066                 ghostcmds=({
00067                                 "rassel/rassle", "heule", "erschrecke",
00068                 });
00069                 // Aufbau des help-mappings:
00070                 // key    : Verb, wie es in soul.c in CHECK_HELP geschrieben ist
00071                 // entry 1: &n = [<Name>]   &a = [<Adverb>]    &t=[<Text>}
00072                 //          ! danach heisst noetige Angabe, also ohne []
00073                 // entry 2: &g = Verhaelt sich bei Geistern anders
00074                 //          &a = Man kann "alle" als Ziel angeben
00075                 //          &d = Defaultadverb; muss am Ende angegeben werden
00076                 help=([
00077                                 "zuck" : "&a [[mit [den]] schultern]"; "Gibt man nicht mindestens "
00078                                                 +"\"schultern\" an, so zuckt man zusammen. Das Defaultadverb gilt "
00079                                                 +"nur fuer das Schulterzucken.&dratlos",
00080                                 "schmieg" : "&n &a"; "",
00081                                 "antwort" : "&n &t!"; "",
00082                                 "applaudier" : "&n &a"; "&g&a",
00083                                 "begruess" : "&n! &a"; "",
00084                                 "betast" : "&n! &a"; "",
00085                                 "bibber" : "&a"; "",
00086                                 "bohr" : "&a [[in [der]] nase]"; "",
00087                                 "brummel" : "&a | &t"; "",
00088                                 "cls" : ""; "Loescht den Bildschirm auf vt100-kompatiblen Terminals.",
00089                                 "dreh" : "&a [daeumchen | daumen]"; "",
00090                                 "dank" : "&n! &a"; "",
00091                                 "drueck" : "&n! &a"; "&g&a&dzaertlich",
00092                                 "entschuldig" : "&n &a"; "",
00093                                 "erroet" : "&a"; "&g",
00094                                 "erschreck" : "&n! &a"; "&g&dfuerchterlich",
00095                                 "flipp" : "&a"; "&dtotal",
00096                                 "frag" : "&n![|]&t!"; "",
00097                                 "freu" : "&n &a"; "",
00098                                 "furz" : "&a"; "&gHinterlaesst eine duftige Erinnerung im Raum.",
00099                                 "gaehn" : "&a"; "&g",
00100                                 "glucks" : "&a"; "&dwie ein Huhn",
00101                                 "gratulier" : "&n! &a"; "",
00102                                 "grins" : "&n &a"; "&g&a",
00103                                 "gruebel" : "&a"; "",
00104                                 "grummel" : "&a"; "",
00105                                 "guck" : "&a"; "",
00106                                 "haetschel" : "&n! &a"; "&g&a",
00107                                 "hicks" : "&a"; "&g",
00108                                 "huepf" : "&n &a"; "&g",
00109                                 "hust" : "&n &a"; "&g",
00110                                 "jubel" : "&n &a"; "",
00111                                 "jammer" : "&a"; "",
00112                                 "keuch" : "&a"; "&g&dvor Anstrengung",
00113                                 "kicher" : "&n &a"; "",
00114                                 "klatsch" : "&a"; "&g",
00115                                 "klopf" : "&n! &a"; "",
00116                                 "knabber" : "&n! &a"; "&g",
00117                                 "knicks" : "&n &a"; "&g&a",
00118                                 "knirsch" : "&a"; "&g",
00119                                 "knurr" : "&n &a"; "&a",
00120                                 "knutsch" : "&n! &a"; "&g",
00121                                 "kotz" : "&n &a"; "&g",
00122                                 "kriech" : "&n &a"; "",
00123                                 "kuess" : "&n! &a"; "&gKann ausserdem bei bestimmten Gelegenheiten "
00124                                                 +"gewisse Nebeneffekte haben.",
00125                                 "lach" : "&n &a"; "&g&a",
00126                                 "laechel" : "&n &a"; "&g&a",
00127                                 "lieb" : "&n! &a"; "",
00128                                 "lob" : "{&n! &a} | &t!"; "Kann einen Nebeneffekt haben.",
00129                                 "mopper" : "&a"; "",
00130                                 "muster" : "&n! &a"; "",
00131                                 "nick" : "&n &a"; "&a&dzustimmend",
00132                                 "nies" : "&a"; "&g",
00133                                 "gib" : "&n! &a [[eine] ohrfeige]"; "&g&a",
00134                                 "pfeif" : "&n &a [nach]"; "&g&danerkennend",
00135                                 "philosophier" : "&a | &t"; "",
00136                                 "putz" : "&a [[die] nase]"; "",
00137                                 "quak" : "&a"; "Geht als Frosch wesentlich besser.",
00138                                 "quiek" : "&a"; "&dvergnuegt",
00139                                 "raeusper" : "&a"; "",
00140                                 "reib" : "&a [[die] Augen] | [[die] Haende]"; "Ohne weitere Angabe reibt "
00141                                                 +"man sich die Augen;&dmuede bzw. vergnuegt",
00142                                 "ruelps" : "&a"; "&g",
00143                                 "runzel" : "&a"; "&g",
00144                                 "sabber" : "&n &a"; "",
00145                                 "schaem" : "&a"; "",
00146                                 "schluchz" : "&a"; "&dherzzerreissend",
00147                                 "schmoll" : "&a"; "&g",
00148                                 "schmunzel" : "&a"; "",
00149                                 "schnalz" : "&a [[mit [der]] zunge]"; "",
00150                                 "schnaub" : "&a"; "&dentruestet",
00151                                 "schnauf" : "&a"; "&dvor Anstrengung",
00152                                 "schnipp" : "&a"; "&g",
00153                                 "schnarch" : "&a"; "&g&dlaut",
00154                                 "schnief" : "&a"; "&g",
00155                                 "schnurr" : "&a"; "&dzufrieden",
00156                                 "schrei" : "&n &a"; "&g",
00157                                 "schuettel" : "&n &a"; "&g&aHat einen Unterschied, je nachdem, ob ein Name"
00158                                                 +" angegeben wurde oder nicht.",
00159                                 "schweig" : "&a"; "",
00160                                 "seufz" : "&a"; "&g",
00161                                 "sing" : "&a | &t"; "",
00162                                 "sniff" : "&n &a"; "&dtraurig",
00163                                 "spuck" : "&n &a"; "&g",
00164                                 "stampf" : "&a"; "",
00165                                 "starr" : "&n &a"; "Standardadverb gilt hier nur bei Angabe eines Namens."
00166                                                 +"&dvertraeumt",
00167                                 "staun" : "&n &a"; "",
00168                                 "stier" : "&n &a"; "&g",
00169                                 "stimm" : "&n &a"; "",
00170                                 "stoehn" : "&a"; "&g",
00171                                 "stoss" : "&n! &a"; "&g",
00172                                 "streichel" : "&n! &a"; "&g&a",
00173                                 "stups" : "&n! &a"; "",
00174                                 "stutz" : "&a"; "",
00175                                 "tanz" : "&n &a"; "&g",
00176                                 "traeum" : "{&n &a} | &t"; "Es koennen Probleme auftreten, wenn ein Adverb"
00177                                                 +" in freiem Text erkannt wird. Text wird genau so an \"traeum(s)t\" "
00178                                                 +"angehaengt, wie er angegeben wurde.",
00179                                 "tritt" : "&n &a"; "&g&a",
00180                                 "troest" : "&n! &a"; "",
00181                                 "umarm" : "&n! &a"; "&g&a",
00182                                 "verneig" : "&n &a"; "&g&a",
00183                                 "wackel" : "&a [mit &t!]"; "&gMan kann mit allem moeglichem wackeln.",
00184                                 "waelz" : "&a"; "&dvor Lachen",
00185                                 "wart" : "&n &a"; "Man kann auf alles moegliche warten (warte alles "
00186                                                 +"moegliche)",
00187                                 "weck" : "&n {&a | &t}"; "Piepst <Name> an und sendet ihm ggf. den Text.",
00188                                 "wein" : "&n &a"; "&g",
00189                                 "wink" : "&n &a"; "&a",
00190                                 "wuerg" : "&n &a"; "",
00191                                 "wunder" : "&n &a"; "",
00192                                 "zeig" : "<Objekt-ID>"; "&aZeigt das Objekt (Langbeschreibung).",
00193                                 "zitier" : "&n &a"; "Hier uebernimmt das Adverb ggf. die Stelle des "
00194                                                 +"zitierten, wenn dieser nicht anwesend ist (zitiere Ja /Jof)",
00195                                 "zitter" : "&a"; "",
00196                                 "zwinker" : "&n &a"; "&g",
00197                                 "aechz" : "&a"; "",
00198                                 "argl" : "&a"; "",
00199                                 "atm" : "&a"; "&derleichtert",
00200                                 "bewunder" : "&n! &a"; "",
00201                                 "erbleich" : "&a"; "&g",
00202                                 "fluch" : "&a"; "&g",
00203                                 "grunz" : "&a"; "",
00204                                 "kuschel" : "&n! &a"; "&g",
00205                                 "rotfl" : "&a"; "",
00206                                 "verfluch" : "{&n &a} | &t!"; "",
00207                                 "kitzel" : "&n! &a"; "&g",
00208                                 "nein" : "&a"; "&g",
00209                                 "deut" : "&n! &a"; "&a",
00210                                 "denk" : "&a | &t"; "&g",
00211                                 "knuddel" : "&n! &a"; "&g&a",
00212                                 "kratz" : "&a"; "",
00213                                 "streck" : "&n &a [[die] zunge raus"; "&g",
00214                                 "taetschel" : "&n! &a"; "&g",
00215                                 "wuschel" : "&n! &a"; "",
00216                                 "rassel" : "&a"; "&g&dfuerchterlich",
00217                                 "heul" : "&a"; "&g&dschauerlich",
00218                                 "kick" : "&n &a"; "&g&a",
00219                                 "splash" : "&n! &a"; "&a",
00220                                 "flame" : "&n! &a"; "&g&a",
00221                                 "rknuddel" : "&n! &a"; "Nur fuer Ferngebrauch gedacht.",
00222                                 "rwink" : "&n! &a"; "Nur fuer Ferngebrauch gedacht.",
00223                                 "verb" : ""; "Listet alle derzeit moeglichen Verben auf.",
00224                                 "adverb" : "[# | $ | {? <Abkuerzung>} | <Abkuerzung> [<Adverb>]]";
00225                                                 "Genauere Hilfe mit \"adverb ?\"",
00226                 ]);
00227 }

string Help ( string  verb  ) 

Gibt die Hilfe zu einem Verb oder die Verbenuebersicht zurueck.

Parameter:
verb "string" Ein Verb dessen Hilfe angezeigt werden soll. 0 oder "" Ueberblicksseite
Rückgabe:
String der an den Spieler ausgegeben werden kann.

Definiert in Zeile 235 der Datei soulhelp.c.

Benutzt break_string(), ghost, ghostcmds, HelpVerb(), IS_WIZARD, plrcmds, SortIt() und wizcmds.

00235                           {
00236                 string out;
00237                 if (verb && verb!="")
00238                                 return HelpVerb(verb);
00239                 out="";
00240                 out+=break_string("Standardverben:\n"+implode(SortIt(plrcmds), ", ")
00241                                 +".", 78, 0, 1);
00242                 if (IS_WIZARD(this_player()))
00243                                 out+="\n"+break_string("Magierverben:\n"+implode(SortIt(wizcmds), ", ")
00244                                                 +".", 78, 0, 1);
00245                 if (this_player()->ghost())
00246                                 out+="\n"+break_string("Geisterverben:\n"+implode(SortIt(ghostcmds), ", ")
00247                                                 +".", 78, 0, 1);
00248                 out+=break_string("\nAdverbien koennen entweder in der Abkuerzung (bei "
00249                                 +"bereits definierten Adverbien) oder mit \"/<Text>\" angegeben werden. "
00250                                 +"Bei der zweiten Methode wird <Text> so, wie er angegeben wurde, an "
00251                                 +"Stelle des Adverbs eingesetzt.", 78, 0, 1);
00252                 out+="\n"+break_string("Eine kurze Hilfe zu einem Verb bekommst du mit einem der "
00253                 +"Befehle \"<Verb> -?\", \"<Verb> /?\", \"<Verb> -h\", \"<Verb> /h\" oder "
00254                 +"\"<Verb> hilfe\". (Da war jemand wirklich fleissig).", 78);
00255                 return out+"\n"+break_string("Einige Befehle reagieren auch auf leicht "
00256                                 +"unterschiedliche Schreibweise. Diese Befehlsliste kann sich mit Deinem "
00257                                 +"Zustand aendern.", 78);
00258 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

private string HelpVerb ( string  v  ) 

Gibt die Hilfe zu einem Verb.

Parameter:
v Ein Verb dessen Hilfe angezeigt werden soll.
Rückgabe:
Hilfe zum Verb in Form eines Strings

Definiert in Zeile 286 der Datei soulhelp.c.

Benutzt break_string(), h, help und NO_MORE_E.

Wird benutzt von Help().

00286                     {
00287                 string h,t;
00288                 if (member(m_indices(help),v)<0)
00289                                 return "Dazu ist keine Hilfe vorhanden.\n";
00290                 h="Syntax:\n* "+v;
00291                 if (member(NO_MORE_E, v)<0)
00292                                 h+="e";
00293                 h+=" ";
00294                 t=help[v,0];
00295                 t=implode(explode(t,"&t!"), "<Text>");
00296                 t=implode(explode(t,"&n!"), "<Name>");
00297                 t=implode(explode(t,"&t"), "[<Text>]");
00298                 t=implode(explode(t,"&n"), "[<Name>]");
00299                 t=implode(explode(t,"&a"), "[<Adverb>]");
00300                 h+=t;
00301                 t=help[v,1];
00302                 if (t!="")  {
00303                                 h+="\nBemerkungen:";
00304                                 if ((explode(t,"&"))[0]!="")
00305                                                 t="\n"+break_string((explode(t,"&"))[0], 76, "* ", 1)[0..<2]
00306                                                                 +"&"+implode((explode(t,"&"))[1..<1],"&");
00307                                 t=implode(explode(t,"&g"), "\n* Verhaelt sich bei Geistern anders "
00308                                                 +"als sonst.");
00309                                 t=implode(explode(t,"&a"), "\n* Bei diesem Verb geht alle(n) als "
00310                                                 +"Zielangabe.");
00311                                 if (strstr(t,"&d")>=0)  {
00312                                                 t=implode(explode(t,"&d"), "\n* Standardadverb ist ");
00313                                                 t+=".";
00314                                 }
00315                 }
00316                 return break_string(h+t, 78, 2, 1);
00317 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

private string * SortIt ( string *  arr  ) 

Sortiert ein array of string alphabetisch.

Parameter:
arr Das zu sortierende Array
Rückgabe:
Sortierte Kopie des Arrays

Definiert in Zeile 266 der Datei soulhelp.c.

Benutzt x.

Wird benutzt von Help().

00266                      {
00267   return sort_array(arr, 
00268            function int (string x, string y){ 
00269              return lower_case(x) > lower_case(y) ;
00270            } 
00271          );
00272 }

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:


Variablen-Dokumentation

string * ghostcmds [static]

Definiert in Zeile 15 der Datei soulhelp.c.

Wird benutzt von create() und Help().

mapping help [static]

Definiert in Zeile 16 der Datei soulhelp.c.

Wird benutzt von create(), getmode(), getstatus(), HelpVerb() und race_modifier().

string * plrcmds [static]

Definiert in Zeile 15 der Datei soulhelp.c.

Wird benutzt von create() und Help().

string* wizcmds [static]

Definiert in Zeile 15 der Datei soulhelp.c.

Wird benutzt von create() und Help().

Erzeugt am Thu Jun 3 14:42:57 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3