
RemoveInsertHook()
******************

********************* OBSOLETE LFUN
*********************************** * Diese Efun bitte nicht mehr
benutzen, sondern stattdessen die       * * Hooks (s. /doc/std/hooks).
* *******************************************************************
**** RemoveInsertHook()


FUNKTION
========

   void RemoveInsertHook(object ob);


DEFINIERT IN
============

   /std/player/restrictions.c


ARGUMENTE
=========

   ob - Das Objekt, das als Listener aus der Liste ausgetragen werden soll


BESCHREIBUNG
============

   (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
    H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
    vorhanden.)

   Diese Funktion wird im Spielerobjekt aufgerufen, um ein als Listener
   eingetragenes Hook-Objekt ob wieder auszutragen.


RUeCKGABEWERT
=============

   keiner


SIEHE AUCH
==========

   NotifyInsert(), AddInsertHook(), QueryInsertHooks()

Last modified: 14.04.2010, Arathorn
