blob: 6636b14439c4b09f9d63d2d4e8e0cc8faaefbcff [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SetStorageRoom()
Zesstra953f9972017-02-18 15:37:36 +01002****************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 void SetStorageRoom(string store);
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/room/shop.c
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
18=========
MG Mud User88f12472016-06-24 23:31:02 +020019
Zesstra953f9972017-02-18 15:37:36 +010020 store
21 Dateiname des Lagers, in dem die aufgekauften Objekte aufbewahrt
22 werden.
MG Mud User88f12472016-06-24 23:31:02 +020023
MG Mud User88f12472016-06-24 23:31:02 +020024
Zesstra953f9972017-02-18 15:37:36 +010025RUeCKGABEWERT
26=============
27
28 keiner
29
30
31BESCHREIBUNG
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
45
46BEISPIELE
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(). Die
95 erstgenannte Funktion ist im Lager zu verwenden, letztere jedoch im
96 Laden.
97
98
99SIEHE AUCH
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
MG Mud User88f12472016-06-24 23:31:02 +0200107Last modified: 19-Jun-2015, Arathorn