Lpc Manpages

P_TMP_MOVE_HOOK

NAME:
    P_TMP_MOVE_HOOK                "move_hook"

DEFINIERT IN:
    /sys/new_skills.h

BESCHREIBUNG:
    Mindestens 3-elementiges Array ({zeitpunkt, objekt, funktion, ...}).
    Die Funktion wird im 'objekt' beim Verlassen eines Raumes aufgerufen,
    mit dem Lebewesen (meist Spieler), dem Richtungsbefehl und dem Zielraum-
    Mapping als Parameter, wenn der 'zeitpunkt' noch nicht ueberschritten ist.
    Wenn die Funktion einen String zurueckgibt, wird dieser an den Spieler
    ausgegeben und der move abgebrochen (sprich: der Raum nicht verlassen).
    Ueber optionale Arrayelemente koennen der Funktion weitere Parameter
    uebergeben werden. Diese Parameter muss sich die Funktion allerdings
    selbst aus dem Array herausholen.

DOKUMENTIERT:
    14.07.1996 von Mupfel
    31.10.1996 geaendert von Mupfel
    05.02.2005 geaendert von Mupfel

BEISPIEL:
    In einem Spellbook wird ein Move-Hook gesetzt. Der Hook-Funktion
    wird zusaetzlich noch ein Parameter uebergeben (in diesem Falle
    ein int).

    SetProp(P_TMP_DIE_HOOK, ({ time()+60,
                               this_object(),
                               "hook_func",
                               zusatz_parameter })

    string hook_func(object pl, string richtung, mapping dest)
    {
      mixed res;
      object pl;
      int parm;

      if (!pl=previous_object() || !living(pl))
        return 0;

      if (!res=pl->QueryProp(P_TMP_MOVE_HOOK))
        return 0;

      if (sizeof(res)<4) || !intp(parm=res[3]))
        return 0;

      // Mach was.... "parm" ist der optionale Parameter
      ...

      return 0;
    }

SIEHE AUCH:
    P_TMP_DIE_HOOK