blob: aecb22deb3a14cae77b868da97555384d21f643a [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001P_PARA
2======
3
4NAME
5----
6::
7
8 P_PARA "para"
9
10DEFINIERT IN
11------------
12::
13
14 /sys/properties.h
15
16BESCHREIBUNG
17------------
18::
19
20 Nummer der Parallelwelt, in der sich ein Spieler befindet.
21
22 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
39ANMERKUNG
40---------
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
66SIEHE AUCH
67----------
68::
69
70 P_NO_PLAYERS, move, pararaeume
71
72
73
7425.Jan 2015 Gloinson
75