Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 1 | GetPhiolenInfos() |
| 2 | ================= |
| 3 | |
| 4 | GetPhiolenInfos(L) |
| 5 | ------------------ |
| 6 | :: |
| 7 | |
| 8 | FUNKTION |
| 9 | -------- |
| 10 | :: |
| 11 | |
| 12 | mixed *GetPhiolenInfos(); |
| 13 | |
| 14 | BESCHREIBUNG |
| 15 | ------------ |
| 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 | BEISPIEL |
| 74 | -------- |
| 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 | |
| 116 | |
| 117 | SIEHE AUCH |
| 118 | ---------- |
| 119 | :: |
| 120 | |
| 121 | NewDoor(), QueryDoorStatus(), SetDoorStatus(), QueryAllDoors() |
| 122 | |
| 123 | Letzte Aenderung: Sam, 14. Jan 2006, 12:21, Miril |
| 124 | |