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