MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | FUNKTION: |
| 2 | mapping QueryOpenMiniQuestsForPlayer(object player) |
| 3 | |
| 4 | DEFINIERT IN: |
| 5 | /secure/questmaster |
| 6 | |
| 7 | BESCHREIBUNG: |
| 8 | Diese Funktion gibt die Liste der offenen Miniquests des Spielers als |
| 9 | Mapping zurueck. |
| 10 | |
| 11 | ARGUMENTE: |
| 12 | player - das interessierende Spielerobjekt |
| 13 | |
| 14 | RUECKGABEWERTE: |
| 15 | Mapping mit der Liste der Miniquests, fuer die das abfragende Objekt |
| 16 | zustaendig ist, oder leeres Mapping, wenn der Spieler keine MQs mehr |
| 17 | offen hat. |
| 18 | |
| 19 | Die Liste enthaelt die Miniquestnummer als Key. Diesem sind zwei Werte |
| 20 | zugeordnet: zum einen ein Miniquest-Aufgabentext, und zum anderen - |
| 21 | falls der Spieler eine der Vorbedingungen fuer die Miniquest nicht |
| 22 | erfuellt - ein Hinweistext, der Auskunft gibt, welche Bedingung noch |
| 23 | zu erfuellen ist ("Seherstatus fehlt"). Diese Hinweistexte entsprechen |
| 24 | denen aus check_restrictions() in /std/restriction_checker.c. Der |
| 25 | jeweils andere Text wird auf 0 gesetzt. |
| 26 | |
| 27 | Die Struktur des Mappings ist daher folgende: |
| 28 | ([ MQ-Nummer : <Aufgabenstellung> ; <Hinderungsgrund> ]) |
| 29 | |
| 30 | Beispiel: ein Spieler hat die Miniquests 18 und 49 noch nicht geloest, |
| 31 | erfuellt aber nur fuer Miniquest 49 die Anforderungen. Miniquest 18 |
| 32 | erfordert den Seherstatus. Dann saehe das Mapping so aus: |
| 33 | ([ 18 : 0 ; "Dazu musst Du erst Seher werden.\n", |
| 34 | 49 : "Aufgabentext_zu_49" ; 0 ]) |
| 35 | |
| 36 | Jedes abfragende Objekt muss daher dieses Mapping zunaecht geeignet |
| 37 | auf seinen Inhalt pruefen, um zu ermitteln, welche Meldung jeweils |
| 38 | auszugeben ist. |
| 39 | |
| 40 | BEMERKUNGEN: |
| 41 | Das abfragende Objekt muss von einem Erzmagier oder Gott (z.B. dem |
| 42 | zustaendigen Quest-EM) im Questmaster als zugriffsberechtigt bei den- |
| 43 | jenigen Miniquests eingetragen sein, fuer die es die entsprechenden |
| 44 | Miniquest-Hinweise ausgeben darf. Diese Berechtigung ist mit dem |
| 45 | Quest-EM abzustimmen. Anderen Objekten wird ein leeres Mapping zurueck- |
| 46 | gegeben. |
| 47 | |
| 48 | SIEHE AUCH: |
| 49 | AddMiniQuest(L), ChangeMiniQuest(L) |
| 50 | P_RESTRICTIONS |
| 51 | erzmagier |
| 52 | |
| 53 | ---------------------------------------------------------------------------- |
| 54 | Last modified: 6. Juni 2014, Arathorn. |