
AddMsg()
********


FUNKTION
========

   void AddMsg(string msg, int next);


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

   /std/transport.c


ARGUMENTE
=========

   msg
        Die auszugebende Meldung.
   next
        Zeit bis zur naechsten Fahrplanstation.


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

   Dem Fahrplan wird die Ausgabe einer Meldung an den Transporter
   hinzugefuegt. Diese Meldung koennte zum Beispiel das Nahen der
   naechsten Haltestelle ankuendigen o.ae. Nach Ausgabe der Meldung
   vergehen next Sekunden, bis die naechste Station angefahren wird.

   Um das Umbrechen der Meldung (normalerweise auf 78 Zeichen pro Zeile)
   muss sich der Aufrufer selber kuemmern.


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

   keiner


BEISPIELE
=========

   AddMsg("In der Ferne taucht eine kleine Inseln auf.\n", 10);
   AddMsg("Das Schiff steuert einen kleinen Steg an.\n");
   AddRoute(...);

   Nach der Ankuendigung der Insel vergehen 10 Sekunden, bis die naechste
   Meldung ausgegeben wird. Da bei der zweiten Meldung keine Zeit
   angegeben war, legt das Schiff direkt nach der Ausgabe der Meldung an.


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

   AddRoute(), AddFun(), /std/transport.c

25.01.2015, Zesstra
