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