P_NO_PLAYERS
************


NAME
====

   P_NO_PLAYERS                     "no_players"


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

   /sys/rooms.h


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

   Wenn in einem Raum die Property P_NO_PLAYERS auf einen Wert != 0 gesetzt
   ist, kann dieser von Spielern auf normalem Wege nicht mehr betreten werden.
   Magier und Testspieler(*) koennen den Raum betreten; Spieler muessen mit
   M_NOCHECK hineinbewegt werden.

   Auf diese Weise koennen Gebiete, die noch nicht offiziell angeschlossen
   sind, vor 'unbeabsichtigtem' Betreten durch Spieler geschuetzt werden.

   Moechte man zu einem schon angeschlossenen Gebiet nachtraeglich eine
   Parallelwelt einbauen, so sollte P_NO_PLAYERS *dringend* in den
   Parallelweltraeumen gesetzt werden, bis die Parallelwelt ausdruecklich
   fuer Spieler freigegeben wird. Andernfalls sind alle Parallelweltraeume,
   zu denen angeschlossene Normalweltraeume mit gleichem Filenamen existieren,
   automatisch durch Spieler erreichbar!

   (*) Ausschliesslich Testspieler, die auf den Namen eines existierenden
   Magiers markiert sind, koennen 'geschuetzte' Raeume betreten.
   Gildentesties werden wie Spieler behandelt.


ANMERKUNG
=========

   Im Gegensatz zu Bewegungen von Livings wird bei der Bewegung von Gegen-
   staenden P_NO_PLAYERS nur beim Wechsel der Welt ausgewertet, um z.B. zu
   verhindern, dass Bumerangs in noch nicht angeschlossene Gebiete fliegen.

   Moechte man in seinem eigenen Gebiet mit Bumerangs o.ae. testen, muss
   in diesen P_TESTPLAYER gesetzt sein. Das ist zwar eher ein Missbrauch
   der Property, aber ein Umkompieren vom Werfer war auf Dauer zu teuer. ;-)


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

   P_PARA, move
