GetPhiolenInfos()¶
GetPhiolenInfos(L)¶
FUNKTION¶
mixed *GetPhiolenInfos();
BESCHREIBUNG¶
Wird von der Phiole aufgerufen:
/d/inseln/miril/sternquest/obj/phiole.c
Der Raum muss /p/service/miril/phiole.h includen.
Mit der Phiole kann ein Spieler durch Tueren schauen. Bei Tueren, die
vom Doormaster (/obj/doormaster.c) verwaltet werden, klappt dies auto-
matisch. Moechte man das verbieten, so muss die Funktion
GetPhiolenInfos() im entsprechenden Raum definiert sein.
Befinden sich Tueren im Raum, die nicht vom Doormaster verwaltet werden,
aber bei denen die Phiole funktionieren soll, so kann dies ebenfalls
mittels GetPhiolenInfos() geschehen.
Funktion der Phiole:
Sie projiziert ein Bild dessen, was hinter der Tuer liegt auf die Tuer.
Steht die Tuer offen, so sieht der Spieler nur eine Wand, denn es wird
gezeigt, was hinter dieser Tuer ist.
Ist die Tuer jedoch ge- oder verschlossen, so sieht er auf der Tuer
die Langbeschreibung des Raumes, der hinter der Tuer liegt, sowie das
Inventar dieses Raumes.
Aufbau der Funktion:
mixed *GetPhiolenInfos() {
return ({
([
PHIOLE_DEST: string,
PHIOLE_IDS: *string,
PHIOLE_GENDER: int,
PHIOLE_STATUS: int, (optional)
PHIOLE_LONG: string, (optional)
PHIOLE_VERBOTEN: int (optional)
]),
([
... Naechste Tuer
])
});
}
PHIOLE_DEST Dateiname des Zielraums
PHIOLE_IDS Array der Strings, mit denen sich die Tuer
ansprechen laesst
PHIOLE_GENDER Geschlecht der Tuer
PHIOLE_STATUS aktueller Status der Tuer:
0 geschlossen/verschlossen, 1 offen
Bei Tueren, die mit NewDoor erzeugt wurden
nicht setzen
PHIOLE_LONG Beschreibung des Zielraums (z.B. bei einer
Faketuer)
PHIOLE_VERBOTEN 0 erlaubt, 1 verboten
BEISPIEL¶
Ein Raum enthaelt eine Holztuer und ein Portal. Erstere ist mittels
NewDoor(...) gebaut, soll aber nicht zu durchschauen sein, letztere ist
selbstgestrickt. Die erste fuehrt in den Workroom von Jof, die zweite
ist nur ein Fake und immer geschlossen. Bei vom Doormaster erzeugten
Tueren sollte PHIOLE_STATUS nicht gesetzt werden, da dies automatisch
abgefragt wird.
#include "/p/service/miril/phiole.h"
...
mixed *GetPhiolenInfos(){
return ({
([
PHIOLE_DEST:"/players/jof/workroom",
PHIOLE_IDS:({"holztuer"}),
PHIOLE_GENDER:FEMALE,
PHIOLE_VERBOTEN:1
]),
([
PHIOLE_DEST:0,
PHIOLE_IDS:({"portal"}),
PHIOLE_GENDER:NEUTER,
PHIOLE_STATUS:0,
PHIOLE_LONG:"Du stehst in einer riesigen Schatzkammer und "
"kannst Dein Glueck kaum fassen. Nun brauchst "
"Du nur noch zuzugreifen und bist der reichste "
"Bewohner des MorgenGrauen.",
PHIOLE_VERBOTEN:0
])
});
}
Mittels PHIOLE_LONG laesst sich auch bei erlaubten und verbotenen Tueren
einstellen, was der Spieler statt der normalen Raumbeschreibung und den
im Raum befindlichen Objekten sehen soll. Das koennte z.B. sinnvoll
sein, falls der Spieler zwar die Raumbeschreibung, aber nicht den fiesen
Drachen sehen soll, der sich ebenfalls im Raum befindet.
SIEHE AUCH¶
NewDoor(), QueryDoorStatus(), SetDoorStatus(), QueryAllDoors()
Letzte Aenderung: Sam, 14. Jan 2006, 12:21, Miril