MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | Um die Funktionalitaet einer Kneipe nutzen zu koennen, muss der Raum eine |
| 2 | der 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 | ------------------------------------------------------------------------------ |
| 11 | Eine Zusammenfassung der Pub-Properties (fuer genaueres siehe manpages) |
| 12 | aus '/sys/pub.h' |
| 13 | |
| 14 | P_NPC_FASTHEAL - NPCs tanken hier auf die "schnelle" Art |
| 15 | |
| 16 | P_NO_STD_DRINK - Der Pub soll keine Standard-Getraenke anbieten |
| 17 | |
| 18 | P_PUB_UNAVAILABLE - Meldung, wenn etwas nicht mehr vorhanden ist |
| 19 | |
| 20 | P_PUB_NOT_ON_MENU - Meldung, wenn etwas nicht im Menue steht |
| 21 | |
| 22 | P_PUB_NO_MONEY - Meldung, wenn Spieler nicht genug Geld hat |
| 23 | |
| 24 | P_PUB_NO_KEEPER - Meldung, wenn der P_KEEPER nicht anwesend ist |
| 25 | |
| 26 | aus '/sys/room/description.h' |
| 27 | |
| 28 | P_KEEPER - Id des Kneipeninhabers, der anwesend sein muss, |
| 29 | damit die Kneipe genutzt werden kann |
| 30 | |
| 31 | ------------------------------------------------------------------------------ |
| 32 | Methoden zur Manipulation des Menues (fuer genaueres siehe manpages) |
| 33 | |
| 34 | AddToMenu - fuegt einen Eintrag zum Menue hinzu |
| 35 | |
| 36 | RemoveFromMenu - entfernt einen Eintrag aus dem Menue |
| 37 | |
| 38 | ------------------------------------------------------------------------------ |
| 39 | Ablauf und Manipulationsmoeglichkeiten in einer Kneipe |
| 40 | |
| 41 | Wunsch wurde ueber 'kaufe', 'bestelle' oder 'spendiere' abgegeben: |
| 42 | |
| 43 | search_what() - prueft, dass nicht mehrere Wuensche auf einmal |
| 44 | geaeussert werden und ruft consume_something() auf |
| 45 | |
| 46 | consume_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 | |
| 67 | do_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 | |
| 75 | pub_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 | |
| 81 | Hinweis: 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 | |
| 92 | SIEHE AUCH: AddToMenu, RemoveFromMenu, consume, QueryMoney, AddMoney |
| 93 | |
| 94 | ------------------------------------------------------------------------------ |
| 95 | Last modified: Son Apr 11 19:28:00 2010 by Caldra |