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
