Leave()
=======

FUNKTION
--------
::

     int Leave();

DEFINIERT IN
------------
::

     /std/transport.c

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

     keine

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

     Wenn sich der Spieler auf einem Transporter befindet, und dieser sich
     momentan an einer Haltestelle liegt, verlaesst der Spieler den
     Transporter.

RUeCKGABEWERT
-------------
::

     Null, wenn der Spieler den Transporter nicht verlassen konnte, sonst
     ungleich Null.

BEMERKUNGEN
-----------
::

     Es werden keine Tests durchgefuehrt, ob der Transporter ueberhaupt
     angesprochen wurde! Das muss man selber machen.

BEISPIELE
---------
::

     int myLeave(string str)
     {
       if (str && id(str))
         return Leave();

       notify_fail("Was willst Du verlassen?\n");
       return 0;
     }

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

     Enter(), /std/transport.c


Last modified: Wed May 8 10:20:30 1996 by Wargon

