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