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