RemoveExtraLook()

int RemoveExtraLook(string look);

DEFINIERT IN:
   /std/living/description.c

BESCHREIBUNG:
   Der Extralook erscheint in der Langbeschreibung des Lebewesens.
   Eintraege koennen mit dieser Funktion (vorzeitig) wieder entfernt werden.

ARGUMENTE:
  - string key:
    Schluesselwort, unter dem der Eintrag, den man entfernen moechte, von
    AddExtraLook() registriert wurde.

RUECKGABEWERTE:
  > 0, falls der Eintrag erfolgreich entfernt wurde.
  < 0 sonst.
    -1: keinen (gueltigen) <key> uebergeben.
    -2: kein Eintrag fuer <key> gefunden.

BEMERKUNGEN:
  Beim Entfernen mit dieser Funktion wird die "Endemeldung" des entfernten
  Eintrages nicht ausgegeben.

BEISPIELE:
  # Extralook registrieren.
  living->AddExtraLook("@WER1 wird von einer Horde Daemonen verfolgt.",
                       "ennox_daemonenhordenverfolgerlook");
  # Nun kann der Eintrag auch wieder entfernt werden:
  living->RemoveExtraLook("ennox_daemonenhordenverfolgerlook");

SIEHE AUCH:
   AddExtraLook(),
   P_INTERNAL_EXTRA_LOOK

14.05.2007, Zesstra

