blob: 4655a1eadb86f934fc1c34c72dd11a4ae5670532 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SetStorageRoom()
2
3FUNKTION:
4 void SetStorageRoom(string store);
5
6DEFINIERT IN:
7 /std/room/shop.c
8
9ARGUMENTE:
10 store
11 Dateiname des Lagers, in dem die aufgekauften Objekte aufbewahrt
12 werden.
13
14RUeCKGABEWERT:
15 keiner
16
17BESCHREIBUNG:
18 Mit dieser Funktion wird dem Laden bekannt gegeben, welches Objekt
19 als Lager fuer angekaufte Objekte dienen soll. Jeder Laden muss
20 explizit einen eigenen Lagerraum setzen, ansonsten wird ein
21 Laufzeitfehler ausgeloest und der Laden ist nicht ladbar.
22
23 Das Speicherobjekt sollte /std/store.c erben, da dort einige
24 Aufraeumfunktionen definiert sind. Entscheidend fuer selbige sind
25 die Properties P_MIN_STOCK und P_STORE_CONSUME.
26
27BEISPIELE:
28 Der Raum 'myladen.c' koennte etwa so aussehen:
29
30 // myladen.c
31 inherit "/std/shop";
32 #include <properties.h>
33
34 protected void create() {
35 ::create();
36 SetProp(...); // Beschreibung wie bei normalen Raeumen
37 SetStorageRoom("/d/beispiel/mystore");
38 AddFixedObject("/items/fackel");
39 }
40
41 In diesem Laden wird nun die Standardfackel als mengenmaessig
42 unbegrenzter Artikel verkauft.
43
44 Der zugehoerige Lagerraum 'mystore.c' kann dann im einfachsten Fall
45 so aussehen:
46
47 // mystore.c
48 inherit "/std/store";
49 #include <rooms.h> // Fuer AddItem-Konstanten
50
51 protected void create() {
52 ::create();
53 // KEINE weiteren Beschreibungen!
54 // 1. erbt der Speicher keine Beschreibungsmodule,
55 // 2. sollen da eh nur Sachen und keine Spieler rein!
56 AddItem("/items/schaufel", REFRESH_REMOVE);
57 }
58
59 Der Laden verkauft nun auch Schaufeln, jedoch nur eine pro Reset.
60
61HINWEISE:
62 Fuer standardmaessig verkaufte Waren beachte man den Unterschied
63 zwischen den Funktionen AddItem() und AddFixedObject().
64 Die erstgenannte Funktion ist im Lager zu verwenden, letztere jedoch
65 im Laden.
66
67SIEHE AUCH:
68 Allgemeines: laden
69 Funktionen: AddItem(L), AddFixedObject(L), RemoveFixedObject(L)
70 Basisobjekte: /std/store.c
71 Properties: P_MIN_STOCK, P_STORE_CONSUME
72
73----------------------------------------------------------------------------
74Last modified: 19-Jun-2015, Arathorn