
paramove()
**********


FUNKTION
========

   int paramove();


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

   /std/room/para.c


ARGUMENTE
=========

   keine


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

   Bewegt den Spieler ggf. in eine Paralleldimension.


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

   1, wenn der Spieler die Dimension gewechselt hat.


BEISPIEL
========

   init(){
     if(!paramove()) ::init();
    }


BEMERKUNGEN
===========

   DIESE FUNKTION NICHT MEHR BENUTZEN!

   Diese Funktion sollte nur aus einem init() aufgerufen werden!

   Fuer die Entscheidung, in welchem Raum ein Spieler in Abhaengigkeit
   von P_PARA landet, ist die Funktion move() zustaendig. Als Magier
   muss man sich darum nicht gesondert kuemmern. Das heisst aber auch,
   dass beim Anschluss eines Normalweltraumes automatisch alle in dem
   Verzeichnis mit gleichem Namen vorhandenen Parallelweltraeume mit
   angeschlossen werden.

   Deswegen ist paramove() veraltet und sollte nicht mehr genutzt werden.


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

   /std/room/para.c, P_PARA, P_NO_PLAYERS, move

Last modified: 05.08.2007, Zesstra
