MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | GetPhiolenInfos(L) |
| 2 | |
| 3 | FUNKTION: |
| 4 | mixed *GetPhiolenInfos(); |
| 5 | |
| 6 | BESCHREIBUNG: |
| 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 | |
| 57 | BEISPIEL: |
| 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 | |
| 94 | SIEHE AUCH: |
| 95 | NewDoor(), QueryDoorStatus(), SetDoorStatus(), QueryAllDoors() |
| 96 | ----------------------------------------------------------------------------- |
| 97 | Letzte Aenderung: Sam, 14. Jan 2006, 12:21, Miril |