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