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