AddInsertHook()
===============

OBSOLETE LFUN
-------------

    Diese Efun existiert nicht mehr. Bitte stattdessen den Hook
    H_HOOK_INSERT benutzen. (s. /doc/std/hooks)

FUNKTION
--------

     void AddInsertHook(object ob);

ARGUMENTE
---------

     ob
          Das Objekt, das informiert werden soll, wenn ein Objekt dem
          Spielerinventar hinzugefuegt wurde.

BESCHREIBUNG
------------

     Diese Funktion wurde im Spielerobjekt aufgerufen, um das Objekt ob als
     Hook-Listener anzumelden. Auf diese Weise eingetragene Listener
     werden informiert, wenn ein Objekt ins Spielerinventar bewegt wurde.
     Technisch wird die Bewegung ueber NotifyInsert() im Spielerobjekt
     detektiert, und im Listener-Objekt wird die Funktion InsertNotify()
     gerufen, die als Parameter das neu ins Spielerinventar bewegte Objekt
     uebergeben bekommt.

RUeCKGABEWERT
-------------

     keiner

BEMERKUNGEN
-----------

     Das Listener-Objekt muss sich ebenfalls im Spielerinventar befinden,
     ansonsten wird der eingetragene Hook wieder geloescht.


SIEHE AUCH
----------

    NotifyInsert(), AddInsertHook(), QueryInsertHooks()


Last modified: 18.10.2019 Zesstra
