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