blob: 21544a742e5391f67cdde69b6d00e6d4de7ce25f [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001Um die Funktionalitaet einer Kneipe nutzen zu koennen, muss der Raum eine
2der folgenden Dateien importieren:
3
4'/std/pub.c' - die Komplettloesung inclusive der Abhaengigkeit zu
5 '/std/room'
6
7'/std/room/pub.c' - die Mindestloesung, bei der man selbst die Abhaengig-
8 keit zu einem Raum definieren muss
9
10------------------------------------------------------------------------------
11Eine Zusammenfassung der Pub-Properties (fuer genaueres siehe manpages)
12aus '/sys/pub.h'
13
14P_NPC_FASTHEAL - NPCs tanken hier auf die "schnelle" Art
15
16P_NO_STD_DRINK - Der Pub soll keine Standard-Getraenke anbieten
17
18P_PUB_UNAVAILABLE - Meldung, wenn etwas nicht mehr vorhanden ist
19
20P_PUB_NOT_ON_MENU - Meldung, wenn etwas nicht im Menue steht
21
22P_PUB_NO_MONEY - Meldung, wenn Spieler nicht genug Geld hat
23
24P_PUB_NO_KEEPER - Meldung, wenn der P_KEEPER nicht anwesend ist
25
26aus '/sys/room/description.h'
27
28P_KEEPER - Id des Kneipeninhabers, der anwesend sein muss,
29 damit die Kneipe genutzt werden kann
30
31------------------------------------------------------------------------------
32Methoden zur Manipulation des Menues (fuer genaueres siehe manpages)
33
34AddToMenu - fuegt einen Eintrag zum Menue hinzu
35
36RemoveFromMenu - entfernt einen Eintrag aus dem Menue
37
38------------------------------------------------------------------------------
39Ablauf und Manipulationsmoeglichkeiten in einer Kneipe
40
41Wunsch wurde ueber 'kaufe', 'bestelle' oder 'spendiere' abgegeben:
42
43search_what() - prueft, dass nicht mehrere Wuensche auf einmal
44 geaeussert werden und ruft consume_something() auf
45
46consume_something() - prueft die Anwesenheit der beteiligten Personen
47 - prueft die Anwesenheit des Kneipenbesitzers
48 - prueft das Ignorieren beim Spendieren
49 - prueft die Verfuegbarkeit von genuegend Geld beim
50 Besteller ( check_solvency() )
51 - prueft die Verfuegbarkeit des Gewuenschten
52 ( CheckAvailability() )
53 - prueft, ob der Empfaenger in der Lage ist, das
54 Bestellte zu konsumieren
55 ( ueber empfaenger->consume(testonly) )
56
57 - fuehrt die Bezahlung durch ( do_pay() )
58 - fuehrt die Vergabe von FPs durch ( GiveEP() )
59 - entnimmt das Bestellte aus der Menge des Angebotes
60 ( DecreaseAvailibility() )
61 - prueft, ob eine Verzoegerung der Lieferung erfolgen
62 soll und uebergibt im Negativfall gleich an
63 do_deliver()
64 - Ausgabe der Meldungen zur Bestellung
65 - verzoegerter Aufruf von do_deliver()
66
67do_deliver() - prueft nochmal die Anwesenheit des Empfaengers
68 - prueft, ob Heilung erlaubt ist (ueber Pubmaster)
69 - prueft P_NPC_FASTHEAL und korrigiert die Angaben, die
70 aus dem Menueeintrag kommen
71 - fuehrt das Konsumieren beim Empfaenger durch
72 ( empfaenger->consume() )
73 - Ausgabe der Meldung zum Konsumieren
74
75pub_init() - Moeglichkeit fuer Magier, die Werte der angebotenen
76 Speisen und Getraenke zu ueberpruefen
77 - erweiterte Moeglichkeiten zum Pruefen von korrekten
78 Menueeintraegen bietet das Pub-Tool
79 ( '/obj/tools/pubtool.c' )
80
81Hinweis: Um diese Pruefungen und Aktionen sicher zu gewaehrleisten, sollte
82 man consume_something oder do_deliver NICHT ueberschreiben!
83 Das fuehrt bei Aenderungen mit grosser Wahrscheinlichkeit zu
84 Problemen!
85 Ueberschreibt besser die Methoden, die die Funktionalitaet
86 beinhaltet, die ihr wirklich anpassen wollt.
87 Falls das nicht geht, sprecht lieber mit einem RM+, ob eine Loesung
88 dafuer gefunden werden kann. Der Standard-Pub wurde in der
89 Vergangenheit so immer modularer und besser.
90
91
92SIEHE AUCH: AddToMenu, RemoveFromMenu, consume, QueryMoney, AddMoney
93
94------------------------------------------------------------------------------
95Last modified: Son Apr 11 19:28:00 2010 by Caldra