PlayerQuit()
============

FUNKTION
--------
::

    void PlayerQuit(object pl);

GERUFEN VON
-----------
::

    /std/player/base.c

ARGUMENTE
---------
::

    object pl
      Spieler, der Verbindung beendet

BESCHREIBUNG
------------
::

    Wird im environment() gerufen, wenn der Spieler das MUD mit "ende"
    verlaesst.

SIEHE AUCH
----------
::

    BecomesNetAlive(), BecomesNetDead()

    

24. Aug 2011 Gloinson

