#include "/mail/post.h"#include <properties.h>#include <language.h>#include <moving.h>#include <bank.h>
gehe zum Quellcode dieser Datei
Makrodefinitionen | |
| #define | POSTLER postler |
| #define | M_NR 0 |
| #define | M_SIZE 1 |
| #define | M_PRICE 2 |
| #define | M_MOTIV 3 |
| #define | LEAVETIME 20 |
| #define | STAMPSAVEFILENAME (STAMPSAVEPATH+implode(explode(object_name(environment(this_object())),"/")[1..],".")) |
| #define | BESTIMMUNGEN "/p/service/loco/doc/tarife" |
| #define | EMPTY_PRICE 15 |
| #define | DEBUGVAR(x) tell_object(find_player("loco"),sprintf("Value of x is %O\n",x)) |
| #define | IS_FORWARD(b) (b=="auftrag"||b=="nachsendeauftrag"||b=="forward") |
Funktionen | |
| int | desc_check () |
| static string | my_long () |
| void | create () |
| void | init () |
| int | move (mixed dest, int method, string dir, string textout, string textin) |
| int | AddForward (string str) |
| int | DeleteForward (string str) |
| int | SendParcel (string str) |
| int | ReadTarifs (string str) |
| int | QueryClerk () |
| mixed | GetStampList () |
| int | WeighParcel (string str) |
| int | AskClerk (string str) |
| int | CloneStamp (string m) |
| void | ReturnPostler (string m) |
| int | FetchSheet (string m) |
| int | BuyStamp (string str) |
| void | reset () |
| int | ShowStamps (string str) |
Variablen | |
| inherit std | thing |
| inherit std | more |
| static int | postler |
| int | EarnedMoney = 0 |
| mapping | stamps |
| #define BESTIMMUNGEN "/p/service/loco/doc/tarife" |
Definiert in Zeile 43 der Datei schalter.c.
Definiert in Zeile 45 der Datei schalter.c.
| #define EMPTY_PRICE 15 |
Definiert in Zeile 44 der Datei schalter.c.
| #define IS_FORWARD | ( | b | ) | (b=="auftrag"||b=="nachsendeauftrag"||b=="forward") |
Definiert in Zeile 48 der Datei schalter.c.
| #define LEAVETIME 20 |
Definiert in Zeile 41 der Datei schalter.c.
| #define M_MOTIV 3 |
Definiert in Zeile 40 der Datei schalter.c.
| #define M_NR 0 |
Definiert in Zeile 37 der Datei schalter.c.
| #define M_PRICE 2 |
Definiert in Zeile 39 der Datei schalter.c.
| #define M_SIZE 1 |
Definiert in Zeile 38 der Datei schalter.c.
| #define POSTLER postler |
Definiert in Zeile 36 der Datei schalter.c.
| #define STAMPSAVEFILENAME (STAMPSAVEPATH+implode(explode(object_name(environment(this_object())),"/")[1..],".")) |
Definiert in Zeile 42 der Datei schalter.c.
Wird benutzt von move().
| int AddForward | ( | string | str | ) |
Definiert in Zeile 138 der Datei schalter.c.
00139 { 00140 if (!this_player() || !this_interactive()) return 0; 00141 if (!IS_FORWARD(str)) return 00142 00143 notify_fail("Willst Du einen Nachsendeauftrag stellen oder was anderes?\n"),0; 00144 write(FWSERV->AddForward(geteuid(this_player()))+"\n"); 00145 00146 return 1; 00147 }
| int AskClerk | ( | string | str | ) |
Definiert in Zeile 267 der Datei schalter.c.
00267 { 00268 string a,b; 00269 if (!str||sscanf(str,"%s nach %s",a,b)!=2) 00270 return notify_fail("Wen willst Du denn wonach fragen?\n"),0; 00271 if (a!="postler" && a[0..8]!="postbeamt" && a[0..4]!="beamt") 00272 return notify_fail("Ist so jemand da?\n"),0; 00273 if (!POSTLER) 00274 return notify_fail("Der ist gerade nicht da.\n"),0; 00275 if (b[0..4]=="marke" || b[0..9]=="briefmarke") 00276 return write("\ 00277 Der Postbeamte scheint sich zu freuen, dass sich jemand fuer seine Marken\n\ 00278 interessiert und erzaehlt Dir, dass er selber auch begeisterter Sammler ist.\n\ 00279 Wenn Du wissen willst, was an Briefmarken vorraetig ist, sollst Du Dir\n\ 00280 einfach mit 'zeige marken' die Liste zeigen lassen, und mit 'kaufe marke\n\ 00281 <wert>' kannst Du eine Marke kaufen. Er versichert Dir noch, wenn der\n\ 00282 Bogen der Marke, die Du willst, leer ist, wuerde er selbstverstaendlich\n\ 00283 einen neuen Bogen aus dem Lager holen.\n"),1; 00284 if (b[0..4]=="paket" || b[0..8]=="postpaket") 00285 return write("\ 00286 Der Postbeamte erklaert Dir geduldig: Wenn Du ein Paket verschicken willst,\n\ 00287 musst Du erst eines kaufen, wenn Du keins hast. Das kostet "+EMPTY_PRICE+" Muenzen.\n\ 00288 Dann musst Du das Paket adressieren (adressiere paket an ...) und fuellen\n\ 00289 (stecke <gegenstand> in paket). Mit 'wiege paket' kannst Du fragen, was es\n\ 00290 kostet, Briefmarken bekommst Du bei mir, die Du mit 'klebe marke auf paket'\n\ 00291 aufkleben kannst. Wenn alles fertig ist, schick das Paket mit 'sende paket'\n\ 00292 oder 'sende kurierpaket' ab, je nachdem, welche Versendungsform Du willst.\n\ 00293 Man kann die Briefmarken auch wieder abloesen und sammeln.\n"),1; 00294 00295 /* FORWARD */ 00296 if (IS_FORWARD(b)) 00297 return write("\ 00298 Der Postbeamte faengt an, zu erlaeutern: Du kannst hier einen Nachsende-\n\ 00299 auftrag stellen. Damit hat es folgendes auf sich:\n\ 00300 \n\ 00301 Deine Post wird dann in Zukunft nicht mehr an Dich direkt ausgeliefert,\n\ 00302 sondern an diejenige Adresse, die Du als email-Adresse beim ersten Einloggen\n\ 00303 oder mit dem Befehl 'email' angegeben hast. Bitte ueberpruef diese Adresse\n\ 00304 erstmal! Wenn sie falsch ist, kann es sein, dass Deine Post verloren geht,\n\ 00305 und das willst Du doch bestimmt nicht!\n\ 00306 \n\ 00307 Die email-Adresse kann auch der Name eines anderen Spielers sein, wenn Du\n\ 00308 z.B. als Zweiti Post an Deinen Ersti (oder umgekehrt) weiterleiten willst.\n\ 00309 Und noch ein Hinweis: Wir senden nur einmal weiter, die angegebene Adresse\n\ 00310 gilt, auch wenn fuer diese wieder ein Nachsendeauftrag existiert!\n\ 00311 \n\ 00312 Willst Du einen Nachsendeauftrag stellen, so tippe 'stelle auftrag'.\n\ 00313 Willst Du Deinen Nachsendeauftrag loeschen, so tippe 'loesche auftrag'.\n\ 00314 "),1; 00315 00316 return notify_fail("Der Postler interessiert sich nur fuer Pakete, Briefmarken und\nNachsendeauftraege.\n"),0; 00317 }
| int BuyStamp | ( | string | str | ) |
Definiert in Zeile 373 der Datei schalter.c.
00374 { 00375 string m, s; 00376 mixed list; 00377 object ob; 00378 00379 _notify_fail("Was willst Du kaufen?\n"); 00380 00381 if (!str) return 0; 00382 00383 _notify_fail("Es ist niemand da, der Dir was verkaufen koennte.\n"); 00384 00385 if (!POSTLER) return 0; 00386 00387 if (str == "paket" || str == "postpaket") 00388 { 00389 if (this_player()->QueryMoney() < EMPTY_PRICE) 00390 { 00391 write("Der Postbeamte bedauert: Tut mir leid, Du hast nicht genug " 00392 +"Geld.\n"); 00393 return 1; 00394 } 00395 00396 this_player()->AddMoney(-EMPTY_PRICE); 00397 EarnedMoney += EMPTY_PRICE; 00398 00399 write("Du bezahlst, und der Postbeamte reicht Dir ein leeres Paket.\n"); 00400 tell_room(environment(this_object()),this_player()->Name()+" kauft ein " 00401 +"Leerpaket.\n",({ this_player() })); 00402 00403 ob = clone_object(PARCEL); 00404 00405 if (ob->move(this_player(),M_GET) <= 0) 00406 { 00407 write("Da es so schwer ist, laesst Du es fallen.\n"); 00408 tell_room(environment(this_object()),this_player()->Name()+" laesst " 00409 +"das Paket fallen.\n",({ this_player() })); 00410 00411 ob->move(environment(this_object()),M_NOCHECK); 00412 } 00413 00414 return 1; 00415 } 00416 00417 else if (str == "marke" || str == "briefmarke") 00418 { 00419 _notify_fail("Syntax: kaufe briefmarke <wert>\n"); 00420 return 0; 00421 } 00422 00423 else if (sscanf(str,"%s %s",s,m) == 2) 00424 { 00425 if (s == "marke" || s == "briefmarke") 00426 { 00427 list = GetStampList(); 00428 00429 if (member(list,m) == -1) 00430 { 00431 _notify_fail("Der Postbeamte bedauert, diese Briefmarke nicht im " 00432 +"Angebot zu haben.\n"); 00433 return 0; 00434 } 00435 00436 else if (this_player()->QueryMoney() < STAMPSERV->QueryStampPrice(m)) 00437 { 00438 write("Der Postbeamte bedauert: Tut mir leid, Du hast nicht genug " 00439 +"Geld.\n"); 00440 return 1; 00441 } 00442 00443 write("Du bezahlst, und der Postbeamte sucht die Briefmarke heraus.\n"); 00444 tell_room(environment(this_object()),this_player()->Name()+" kauft " 00445 +"eine Briefmarke.\n",({ this_player() })); 00446 00447 this_player()->AddMoney(-(STAMPSERV->QueryStampPrice(m))); 00448 EarnedMoney += (STAMPSERV->QueryStampPrice(m)); 00449 00450 if (stamps[m]) 00451 { 00452 CloneStamp(m); 00453 } 00454 else 00455 { 00456 FetchSheet(m); 00457 } 00458 00459 return 1; 00460 } 00461 } 00462 return(0); 00463 }
| int CloneStamp | ( | string | m | ) |
Definiert in Zeile 319 der Datei schalter.c.
00320 { 00321 object ob; 00322 //Aenderung Feigling - Abfrage ob der Spieler da ist vorverlegt 00323 if (present(this_player(),environment(this_object()))) 00324 { 00325 stamps[m]--; 00326 00327 if (!stamps[m]) 00328 { 00329 stamps = efun::m_delete(stamps,m); 00330 } 00331 00332 ob = clone_object(STAMP); 00333 ob->SetIndex(m); 00334 00335 write("Der Postbeamte gibt Dir die gewuenschte Briefmarke.\n"); 00336 ob->move(this_player(),M_SILENT|M_NOCHECK); 00337 } 00338 save_object(STAMPSAVEFILENAME); 00339 return 1; 00340 }
| void create | ( | ) |
Definiert in Zeile 50 der Datei schalter.c.
Benutzt AddCmd(), AddId(), call_out(), create(), P_GENDER, P_NAME, P_NOGET, P_SHORT, postler, SetProp() und stamps.
00051 { 00052 if (!clonep(this_object())) return; 00053 (::create()); 00054 seteuid(getuid()); 00055 AddId("schalter"); 00056 AddId("paketschalter"); 00057 AddId("postschalter"); 00058 SetProp(P_NAME,"Schalter"); 00059 SetProp(P_GENDER,1); 00060 SetProp(P_NOGET,1); 00061 SetProp(P_SHORT,"Ein Paketschalter"); 00062 AddCmd(({"kauf","kaufe"}),"BuyStamp"); 00063 AddCmd(({"frag","frage"}),"AskClerk"); 00064 AddCmd(({"zeige","zeig"}),"ShowStamps"); 00065 AddCmd(({"wiege","wieg"}),"WeighParcel"); 00066 AddCmd(({"sende","send","schicke","schick","versende","versend","verschicke","verschick"}),"SendParcel"); 00067 AddCmd(({"lies","les","lese"}),"ReadTarifs"); 00068 00069 /* FORWARD */ 00070 AddCmd(({"stelle","stell"}),"AddForward"); 00071 AddCmd(({"loesche","loesch"}),"DeleteForward"); 00072 00073 stamps = ([]); 00074 postler = 1; 00075 00076 call_out("desc_check",0); 00077 }

| int DeleteForward | ( | string | str | ) |
Definiert in Zeile 153 der Datei schalter.c.
00154 { 00155 if (!this_player() || !this_interactive()) return 0; 00156 if (!IS_FORWARD(str)) return 00157 00158 notify_fail("Willst Du einen Nachsendeauftrag loeschen oder was anderes?\n"),0; 00159 write(FWSERV->DeleteForward(geteuid(this_player()))+"\n"); 00160 00161 return 1; 00162 }
| int desc_check | ( | ) |
Definiert in Zeile 100 der Datei schalter.c.
Benutzt P_LONG, P_SHORT, QueryProp(), Set() und SetProp().
00101 { 00102 if(!QueryProp(P_SHORT)) 00103 { 00104 SetProp(P_SHORT,"Ein Paketschalter"); 00105 } 00106 if(!QueryProp(P_LONG)) 00107 { 00108 //Set(), nicht SetProp(). Zesstra. ;-) 00109 //SetProp(P_LONG,#'my_long,F_QUERY_METHOD); 00110 Set(P_LONG,#'my_long,F_QUERY_METHOD); 00111 } 00112 return 1; 00113 }

| int FetchSheet | ( | string | m | ) |
Definiert in Zeile 355 der Datei schalter.c.
00356 { 00357 write(break_string("Der Postbeamte stellt fest, dass diese Marke gerade " 00358 "nicht da ist, steht auf und verschwindet in den Hinterraum, um einen " 00359 "Bogen Briefmarken nachzuholen.",78)); 00360 tell_room(environment(this_object()),"Der Postbeamte steht auf und " 00361 +"verschwindet in den Hinterraum.\n",({ this_player() })); 00362 00363 postler = 0; 00364 00365 if(find_call_out("ReturnPostler") == -1) 00366 { 00367 call_out("ReturnPostler",LEAVETIME,m); 00368 } 00369 00370 return 1; 00371 }
| mixed GetStampList | ( | ) |
Definiert in Zeile 237 der Datei schalter.c.
| void init | ( | ) |
Definiert in Zeile 79 der Datei schalter.c.
Benutzt init() und PARCELSERVER.
00080 { 00081 (::init()); 00082 // DEBUGVAR(this_player()); 00083 PARCELSERVER->DeliverAllParcels(this_player()); 00084 }

| int move | ( | mixed | dest, | |
| int | method, | |||
| string | dir, | |||
| string | textout, | |||
| string | textin | |||
| ) |
Definiert in Zeile 86 der Datei schalter.c.
Benutzt move(), old_explode(), restore_object() und STAMPSAVEFILENAME.
00087 { 00088 int ret; 00089 00090 ret = (::move(dest,method)); 00091 00092 if (environment(this_object()) && 00093 sizeof(old_explode(object_name(environment(this_object())),"#")) == 1) 00094 { 00095 restore_object(STAMPSAVEFILENAME); 00096 } 00097 return ret; 00098 }

| static string my_long | ( | ) | [static] |
Definiert in Zeile 115 der Datei schalter.c.
00116 { 00117 return(break_string( 00118 "Dies ist ein Paketschalter, an dem man Pakete an andere Spieler aufgeben " 00119 "und seine eigenen abholen kann. Es werden auch Briefmarken und leere " 00120 "Pakete verkauft. Die Tarif- und Befoerderungsbestimmungen fuer " 00121 "Paketsendungen haengen aus, Du kannst sie lesen. Wenn Du Dich fuer " 00122 "Briefmarken interessierst, zeigt Dir der Postbeamte gerne die Liste der " 00123 "vorraetigen Postwertzeichen, frag ihn doch mal nach Marken. Mit 'wiege " 00124 "paket' wird der Beamte Dir sagen, was das Paket kostet, und mit 'versende " 00125 "paket' bzw. 'versende kurierpaket' kannst Du ein Paket verschicken. " 00126 "Natuerlich muss das Paket ausreichend frankiert und adressiert sein. " 00127 "Ausserdem kannst Du hier Nachsendeauftraege stellen und loeschen, frag " 00128 "dafuer den Beamten nach Auftrag. " 00129 +(POSTLER ? "Der Postbeamte sitzt hinter der Glasscheibe und wartet.": 00130 "Der Postbeamte scheint gerade nicht da zu sein. Er kommt aber " 00131 +"wahrscheinlich gleich wieder."),78)); 00132 }
| int QueryClerk | ( | ) |
Definiert in Zeile 235 der Datei schalter.c.
00235 { return POSTLER; }
| int ReadTarifs | ( | string | str | ) |
Definiert in Zeile 225 der Datei schalter.c.
00226 { 00227 if (str != "bestimmungen" && str != "tarife" && str != "tarifbestimmungen") 00228 { 00229 return 0; 00230 } 00231 More(read_file(BESTIMMUNGEN)); 00232 return 1; 00233 }
| void reset | ( | void | ) |
Definiert in Zeile 465 der Datei schalter.c.
00466 { 00467 if (!environment()) return; 00468 ::reset(); 00469 if (EarnedMoney > 0) 00470 { 00471 ZENTRALBANK->PayIn(EarnedMoney); 00472 EarnedMoney = 0; 00473 } 00474 }
| void ReturnPostler | ( | string | m | ) |
Definiert in Zeile 342 der Datei schalter.c.
00343 { 00344 postler = 1; 00345 00346 tell_room(environment(this_object()),break_string( 00347 "Der Postbeamte kommt mit einem Bogen Briefmarken in der Hand zurueck " 00348 "und setzt sich auf seinen Stuhl hinter dem Schalter.",78)); 00349 00350 stamps[m] = STAMPSERV->OrderSheet(m); 00351 00352 CloneStamp(m); 00353 }
| int SendParcel | ( | string | str | ) |
Definiert in Zeile 164 der Datei schalter.c.
00165 { 00166 string *args; 00167 int i,weight,price; 00168 object parcel,to; 00169 00170 if (!str || (i=sizeof(args=explode(str," ")))>2 || 00171 (i==1 && !(parcel=present("postpaket",this_player()))) || 00172 (i==2 && !(parcel=present("postpaket "+args[1]))) || 00173 (args[0]!="paket" && args[0]!="postpaket" && args[0]!="expresspaket" && 00174 args[0]!="schnellpaket" && args[0]!="kurierpaket")) 00175 return notify_fail("Was willst Du denn verschicken? Ein Paket oder ein Kurierpaket vermutlich?\n"),0; 00176 if (!parcel->QueryAdress()) return write("Es fehlt noch die Adresse.\n"),1; 00177 if (parcel->QueryStampsUsed()) return write("Die Marken sind schon gestempelt. Du solltest neue draufkleben."),0; 00178 weight=parcel->QueryProp(P_WEIGHT); 00179 00180 /* Postlagernde Pakete */ 00181 if (args[0]=="paket"||args[0]=="postpaket") { 00182 price=PARCELSERVER->QueryNormalPrice(weight); 00183 if (!PARCELSERVER->QueryNormalAllowed(parcel)) return 00184 write("Leider konnte diese Sendung nicht angenommen werden.\n"),0; 00185 if (price>(i=parcel->QueryStampValue())) return 00186 write("Das Paket ist unterfrankiert. Es fehlen noch "+(price-i)+" Muenzen.\n"),1; 00187 parcel->StampThem(environment(this_object())->QueryProp(P_INT_SHORT)); 00188 parcel->SetSender(geteuid(this_player())); 00189 tell_room(environment(this_player()),this_player()->name()+" gibt ein Paket auf.\n",({this_player()})); 00190 tell_room(environment(this_player()),"Der Postbeamte nimmt das Paket und stellt es ins Lager.\n"); 00191 if (to=find_player(parcel->QueryAdress())) 00192 tell_object(to,"Eine Brieftaube flattert vorbei und teilt Dir mit, dass auf dem Postamt\nein Paket fuer Dich angekommen ist.\n"); 00193 PARCELSERVER->StoreParcel(parcel); 00194 return 1; 00195 } 00196 00197 else { 00198 if (!price=PARCELSERVER->QueryExpressPrice(weight)) return 00199 write("Der Postbeamte schuettelt den Kopf: Das Paket ist leider zu schwer.\n"),1; 00200 if (!(2&PARCELSERVER->QueryAllowed(parcel))) return 00201 write("Leider konnte diese Sendung nicht angenommen werden.\n"),0; 00202 if (price>(i=parcel->QueryStampValue())) return 00203 write("Das Paket ist unterfrankiert. Es fehlen noch "+(price-i)+" Muenzen.\n"),1; 00204 if (! (to=find_player(parcel->QueryAdress())) || !interactive(to) || !query_ip_number(to)) return 00205 write("Der Postbeamte macht Dich darauf aufmerksam, dass "+capitalize(parcel->QueryAdress())+"\n im Moment nicht anwesend ist. Das Paket wird nicht angenommen.\n"),1; 00206 if (!PARCELSERVER->QueryRoomAllowed(environment(to))) return 00207 write("Der Postbeamte bedauert: "+to->name()+" befindet sich leider im Moment\n\ 00208 in einem Raum, den unsere Kuriere nicht erreichen koennen.\n"),1; 00209 parcel->SetSender(geteuid(this_player())); 00210 parcel->StampThem(environment(this_object())->QueryProp(P_INT_SHORT)); 00211 parcel->move(environment(to)); 00212 tell_room(environment(this_player()),this_player()->name()+" gibt ein Kurierpaket auf.\n"); 00213 tell_room(environment(this_player()),"Der Postbeamte nimmt das Paket, ruft einen Kurier herbei, und der rast davon.\n"); 00214 tell_object(to,"\ 00215 Ein Kurier ruft Dir zu: Ich habe ein eiliges Paket fuer Dich!\n\ 00216 Der Kurier rast in den Raum, stellt das Paket direkt vor Deine Fuesse,\n\ 00217 murmelt noch irgendetwas wie \"Gruss von "+(this_player()->name())+"\" und verschwindet\n\ 00218 wieder.\n"); 00219 tell_room(environment(to),"Ein Kurier rast herein und stellt ein Paket fuer "+capitalize(parcel->QueryAdress())+" in den Raum.\n",({to})); 00220 return 1; 00221 00222 } 00223 }
| int ShowStamps | ( | string | str | ) |
Definiert in Zeile 476 der Datei schalter.c.
00477 { 00478 int i; 00479 mixed marken; 00480 00481 if (str != "marken" && str != "briefmarken") 00482 { 00483 return notify_fail("Was denn zeigen? Hier gibt es nur Briefmarken zu " 00484 +"kaufen.\n"),0; 00485 } 00486 if (!POSTLER) 00487 { 00488 return notify_fail("Es ist niemand da, der Dir die Marken zeigen " 00489 +"koennte.\n"),0; 00490 } 00491 00492 write(break_string("Der Postbeamte schaut Dich freundlich an und zeigt Dir " 00493 "die Liste der vorraetigen Postwertzeichen:",78)); 00494 write("Index Wert Motiv\n"); 00495 00496 marken = GetStampList(); 00497 00498 for (i = 0;i < sizeof(marken);++i) 00499 { 00500 write(sprintf("%-10s%4d %s\n",marken[i], 00501 STAMPSERV->QueryStampPrice(marken[i]), 00502 capitalize(STAMPSERV->QueryStampShort(marken[i])))); 00503 } 00504 00505 write("\nDu kannst eine Marke kaufen mit 'kaufe marke <index>'\n"); 00506 return 1; 00507 }
| int WeighParcel | ( | string | str | ) |
Definiert in Zeile 247 der Datei schalter.c.
00247 { 00248 object ob; 00249 int i,w,p; 00250 if (!str || !ob=present(str,this_player())) 00251 return notify_fail("So was find ich hier nicht. Was willst Du wiegen lassen?\n"),0; 00252 if (!ob->id("postpaket")) return notify_fail("Der Postbeamte schuettelt den Kopf: Das ist doch kein Postpaket!\n"),0; 00253 write("Der Schalterbeamte stellt das Paket auf die Waage.\n\ 00254 Er blaettert in einer Liste, und teilt Dir dann mit:\n"); 00255 if ((i=PARCELSERVER->QueryAllowed(ob)) & 1) 00256 write("Der Preis als postlagerndes Paket betraegt "+ 00257 PARCELSERVER->QueryNormalPrice(w=ob->QueryProp(P_WEIGHT))+ 00258 " Muenzen.\n"); 00259 if (i & 2) 00260 write("Der Preis als Kurierpaket betraegt "+ 00261 PARCELSERVER->QueryExpressPrice(w)+ 00262 " Muenzen.\n"); 00263 return 1; 00264 }
| int EarnedMoney = 0 |
Definiert in Zeile 29 der Datei schalter.c.
| inherit std more |
Definiert in Zeile 25 der Datei schalter.c.
int postler [static] |
Definiert in Zeile 27 der Datei schalter.c.
Wird benutzt von create().
| mapping stamps |
Definiert in Zeile 34 der Datei schalter.c.
Wird benutzt von create().
| inherit std thing |
Definiert in Zeile 24 der Datei schalter.c.
1.6.3