MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | NAME: |
| 2 | P_PARA "para" |
| 3 | |
| 4 | DEFINIERT IN: |
| 5 | /sys/properties.h |
| 6 | |
| 7 | BESCHREIBUNG: |
| 8 | Nummer der Parallelwelt, in der sich ein Spieler befindet. |
| 9 | |
| 10 | Ist die Property P_PARA auf Null gesetzt, so befindet sich der Spieler in |
| 11 | der 'Normalwelt'. Gibt es bei einer Bewegung dieses Spielers mehrere |
| 12 | moegliche Zielraeume mit identischem Namen aber unterschiedlichen Endungen |
| 13 | 'name.c', 'name^1.c', 'name^2.c' etc., so wird der Spieler in den Raum |
| 14 | 'name.c' bewegt. |
| 15 | |
| 16 | Wird die Property P_PARA auf einen Wert n>0 gesetzt, so landet der Spieler |
| 17 | bei einer Bewegung im Raum 'name^n.c'. Ist kein Raum mit entsprechender |
| 18 | Endung vorhanden, wird der Spieler stattdessen in den Normalweltraum |
| 19 | bewegt. |
| 20 | |
| 21 | Diese Prop kann auch in einem Virtual Compiler gesetzt werden. In diesem |
| 22 | Fall schraenkt sie die Dimensionen ein, in denen der VC Objekte erzeugt. |
| 23 | Die Prop kann eine einzelne Ziffer (Int) oder ein Array von Ints |
| 24 | aufnehmen, dann ist der VC fuer alle angegeben Dimensionen zustaendig. |
| 25 | Ein leeres Array erlaubt gar keine Para-Objekte. |
| 26 | |
| 27 | ANMERKUNG: |
| 28 | Die Endung '^0' kennzeichnet _nicht_ die Normalwelt. So lange kein Ausgang |
| 29 | explizit auf den Raum 'name^0.c' verweist, wird kein Spieler den Raum |
| 30 | betreten koennen. Deshalb kann man die Endung '^0' z.B. dazu benutzen, um |
| 31 | eigene Standardraeume fuer ein Gebiet zu schreiben, die dann sowohl von |
| 32 | den Normal- als auch von den Parallelweltraeumen inheritet werden. |
| 33 | |
| 34 | Raeume mit Endungen '^n.c', bei denen 'n' keine positive ganze Zahl ist, |
| 35 | werden nicht beachtet. |
| 36 | |
| 37 | Fuer die Entscheidung, in welchem Raum ein Spieler in Abhaengigkeit von |
| 38 | P_PARA landet, ist die Funktion move() zustaendig. Als Magier muss man sich |
| 39 | darum nicht gesondert kuemmern. Das heisst aber auch, dass beim Anschluss |
| 40 | eines Normalweltraumes automatisch alle in dem Verzeichnis mit gleichem |
| 41 | Namen vorhandenen Parallelweltraeume mit angeschlossen werden. |
| 42 | |
| 43 | Sollen einzelne Parallelweltraeume noch nicht angeschlossen werden, so muss |
| 44 | in ihnen die Property P_NO_PLAYERS gesetzt werden. Diese Raeume sind dann |
| 45 | nur durch Magier und Testspieler zu betreten (und zu testen). |
| 46 | |
| 47 | In Paraweltraeumen liefert P_PARA 'n' zurueck. |
| 48 | Man kann also z.B. in NPCs einfach ueber environment()->QueryProp(P_PARA) |
| 49 | abfragen, in welcher Parawelt sich dieser gerade befindet. |
| 50 | |
| 51 | SIEHE AUCH: |
| 52 | P_NO_PLAYERS, move, pararaeume |
| 53 | |
| 54 | 25.Jan 2015 Gloinson |