blob: ccd0f68aeb05bcff98c3c80168f45641c33362a6 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2GetPhiolenInfos()
3*****************
4
5
6GetPhiolenInfos(L)
7==================
8
9
10FUNKTION
11========
12
13 mixed *GetPhiolenInfos();
14
15
16BESCHREIBUNG
17============
18
19 Wird von der Phiole aufgerufen:
20 /d/inseln/miril/sternquest/obj/phiole.c
21 Der Raum muss /p/service/miril/phiole.h includen.
22 Mit der Phiole kann ein Spieler durch Tueren schauen. Bei Tueren, die
23 vom Doormaster (/obj/doormaster.c) verwaltet werden, klappt dies auto-
24 matisch. Moechte man das verbieten, so muss die Funktion
25 GetPhiolenInfos() im entsprechenden Raum definiert sein.
26 Befinden sich Tueren im Raum, die nicht vom Doormaster verwaltet werden,
27 aber bei denen die Phiole funktionieren soll, so kann dies ebenfalls
28 mittels GetPhiolenInfos() geschehen.
29
30
31
32 Funktion der Phiole:
33 Sie projiziert ein Bild dessen, was hinter der Tuer liegt auf die Tuer.
34 Steht die Tuer offen, so sieht der Spieler nur eine Wand, denn es wird
35 gezeigt, was hinter dieser Tuer ist.
36
37
38
39 Ist die Tuer jedoch ge- oder verschlossen, so sieht er auf der Tuer
40 die Langbeschreibung des Raumes, der hinter der Tuer liegt, sowie das
41 Inventar dieses Raumes.
42
43 Aufbau der Funktion:
44 mixed *GetPhiolenInfos() {
45 return ({
46 ([
47 PHIOLE_DEST: string,
48 PHIOLE_IDS: *string,
49 PHIOLE_GENDER: int,
50 PHIOLE_STATUS: int, (optional)
51 PHIOLE_LONG: string, (optional)
52 PHIOLE_VERBOTEN: int (optional)
53 ]),
54 ([
55 ... Naechste Tuer
56 ])
57 });
58 }
59
60
61
62 PHIOLE_DEST Dateiname des Zielraums
63 PHIOLE_IDS Array der Strings, mit denen sich die Tuer
64 ansprechen laesst
65 PHIOLE_GENDER Geschlecht der Tuer
66 PHIOLE_STATUS aktueller Status der Tuer:
67 0 geschlossen/verschlossen, 1 offen
68 Bei Tueren, die mit NewDoor erzeugt wurden
69 nicht setzen
70 PHIOLE_LONG Beschreibung des Zielraums (z.B. bei einer
71 Faketuer)
72 PHIOLE_VERBOTEN 0 erlaubt, 1 verboten
73
74
75BEISPIEL
76========
77
78 Ein Raum enthaelt eine Holztuer und ein Portal. Erstere ist mittels
79 NewDoor(...) gebaut, soll aber nicht zu durchschauen sein, letztere ist
80 selbstgestrickt. Die erste fuehrt in den Workroom von Jof, die zweite
81 ist nur ein Fake und immer geschlossen. Bei vom Doormaster erzeugten
82 Tueren sollte PHIOLE_STATUS nicht gesetzt werden, da dies automatisch
83 abgefragt wird.
84
85
86
87 #include "/p/service/miril/phiole.h"
88 ...
89 mixed *GetPhiolenInfos(){
90 return ({
91 ([
92 PHIOLE_DEST:"/players/jof/workroom",
93 PHIOLE_IDS:({"holztuer"}),
94 PHIOLE_GENDER:FEMALE,
95 PHIOLE_VERBOTEN:1
96 ]),
97 ([
98 PHIOLE_DEST:0,
99 PHIOLE_IDS:({"portal"}),
100 PHIOLE_GENDER:NEUTER,
101 PHIOLE_STATUS:0,
102 PHIOLE_LONG:"Du stehst in einer riesigen Schatzkammer und "
103 "kannst Dein Glueck kaum fassen. Nun brauchst "
104 "Du nur noch zuzugreifen und bist der reichste "
105 "Bewohner des MorgenGrauen.",
106 PHIOLE_VERBOTEN:0
107 ])
108 });
109 }
110 Mittels PHIOLE_LONG laesst sich auch bei erlaubten und verbotenen Tueren
111 einstellen, was der Spieler statt der normalen Raumbeschreibung und den
112 im Raum befindlichen Objekten sehen soll. Das koennte z.B. sinnvoll
113 sein, falls der Spieler zwar die Raumbeschreibung, aber nicht den fiesen
114 Drachen sehen soll, der sich ebenfalls im Raum befindet.
115
116
117SIEHE AUCH
118==========
119
120 NewDoor(), QueryDoorStatus(), SetDoorStatus(), QueryAllDoors()
121
122Letzte Aenderung: Sam, 14. Jan 2006, 12:21, Miril