
  ---------------------------SPIELERHILFSSEITE-----------------------------

Fuer folgende allgemeine Befehle und Themen kann mit "hilfe <thema>" eine
Erlaeuterung angezeigt werden:

Einfuehrung und erste Schritte:
    Grundlegend:
      syntax, bewegung, regeln, einfuehrung, syntaxhilfe
    Charakter:
      attribute, zaubertraenke, stufen, stufenpunkte, gesinnung
    Spiel:
      abenteuer, gilden, zauberei
    Neuspieler:
      cicerones, tutorial

Kommunikation:
    Im Raum:
      sage, gespraech, frage, antworte
    Privat:
      teile (mit), erzaehle, erwidere, fluestere,
    MUD-weit:
      rufe, ebenen, post, mrufe
    Anderes:
      ignoriere, kobold, weg, parties, senderwiederholung, klingelton
      teamspeak

Allgemeine Aktionen:
    gib (an), hole (aus), nimm [aus], stecke (in), wirf (weg),
    behalte, klettere, reise

Interaktion und Information:
    schau (an), untersuche, lausche, rieche, suche, i (=inventur),
    ausruestung, info, kurzinfo, taste
    inform, erwarte, wer, kwer, kkwer, muds, zeit, finger, idlezeit
    email, url, ort, icq, wegmeldung

Sonstige Verben:
    verben (mit eigener Hilfefunktion), adverb, emote, rknuddle, rwinke

Eingaben und Ersetzungen:
    alias, unalias, ersetzungsanzeige, history

Kampf:
    toete, stop, vorsicht, report
    zuecke, stecke (weg/zurueck), ziehe (hervor/an/aus), trage
    heilung, sterben, gift/krankheiten/flueche
    team, waffenfertigkeiten, spruchermuedung

Gildenuebersicht:
    abenteurer, bierschuettler, chaos, dunkelelfen, kaempfer, karate,
    klerus, tanjian, uruk-hai, werwoelfe, zauberer

Andere Befehle:
    ende, schlafe (ein), lang, kurz, ultrakurz, ausgaenge, passwort, fehler,
    idee, typo, zeilen, selbstloeschung, spieldauer, spielpause, uhrmeldung,
    zweitiemarkierung, telnegs, stty, grafik, telnet

Sonstige Themen:
    verein, konzept, seher, magier, regionen, editor, buecher, faq,
    balance, mudrechner, einfuehrung, spiele

