blob: 0a7f41650435c0bb39b93dd932a413ea0ada0e0f [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
Zesstra953f9972017-02-18 15:37:36 +01002P_PARA
3******
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006NAME
7====
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 P_PARA "para"
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /sys/properties.h
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018BESCHREIBUNG
19============
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 Nummer der Parallelwelt, in der sich ein Spieler befindet.
MG Mud User88f12472016-06-24 23:31:02 +020022
Zesstra953f9972017-02-18 15:37:36 +010023 Ist die Property P_PARA auf Null gesetzt, so befindet sich der Spieler in
24 der 'Normalwelt'. Gibt es bei einer Bewegung dieses Spielers mehrere
25 moegliche Zielraeume mit identischem Namen aber unterschiedlichen Endungen
26 'name.c', 'name^1.c', 'name^2.c' etc., so wird der Spieler in den Raum
27 'name.c' bewegt.
28
29 Wird die Property P_PARA auf einen Wert n>0 gesetzt, so landet der Spieler
30 bei einer Bewegung im Raum 'name^n.c'. Ist kein Raum mit entsprechender
31 Endung vorhanden, wird der Spieler stattdessen in den Normalweltraum
32 bewegt.
33
34 Diese Prop kann auch in einem Virtual Compiler gesetzt werden. In diesem
35 Fall schraenkt sie die Dimensionen ein, in denen der VC Objekte erzeugt.
36 Die Prop kann eine einzelne Ziffer (Int) oder ein Array von Ints
37 aufnehmen, dann ist der VC fuer alle angegeben Dimensionen zustaendig.
38 Ein leeres Array erlaubt gar keine Para-Objekte.
39
40
41ANMERKUNG
42=========
43
44 Die Endung '^0' kennzeichnet _nicht_ die Normalwelt. So lange kein Ausgang
45 explizit auf den Raum 'name^0.c' verweist, wird kein Spieler den Raum
46 betreten koennen. Deshalb kann man die Endung '^0' z.B. dazu benutzen, um
47 eigene Standardraeume fuer ein Gebiet zu schreiben, die dann sowohl von
48 den Normal- als auch von den Parallelweltraeumen inheritet werden.
49
50 Raeume mit Endungen '^n.c', bei denen 'n' keine positive ganze Zahl ist,
51 werden nicht beachtet.
52
53 Fuer die Entscheidung, in welchem Raum ein Spieler in Abhaengigkeit von
54 P_PARA landet, ist die Funktion move() zustaendig. Als Magier muss man sich
55 darum nicht gesondert kuemmern. Das heisst aber auch, dass beim Anschluss
56 eines Normalweltraumes automatisch alle in dem Verzeichnis mit gleichem
57 Namen vorhandenen Parallelweltraeume mit angeschlossen werden.
58
59 Sollen einzelne Parallelweltraeume noch nicht angeschlossen werden, so muss
60 in ihnen die Property P_NO_PLAYERS gesetzt werden. Diese Raeume sind dann
61 nur durch Magier und Testspieler zu betreten (und zu testen).
62
63 In Paraweltraeumen liefert P_PARA 'n' zurueck.
64 Man kann also z.B. in NPCs einfach ueber environment()->QueryProp(P_PARA)
65 abfragen, in welcher Parawelt sich dieser gerade befindet.
66
67
68SIEHE AUCH
69==========
70
71 P_NO_PLAYERS, move, pararaeume
72
MG Mud User88f12472016-06-24 23:31:02 +02007325.Jan 2015 Gloinson