schalter.c-Dateireferenz

#include "/mail/post.h"
#include <properties.h>
#include <language.h>
#include <moving.h>
#include <bank.h>
Include-Abhängigkeitsdiagramm für schalter.c:

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

Makro-Dokumentation

#define BESTIMMUNGEN   "/p/service/loco/doc/tarife"

Definiert in Zeile 43 der Datei schalter.c.

#define DEBUGVAR ( x   )     tell_object(find_player("loco"),sprintf("Value of x is %O\n",x))

Definiert in Zeile 45 der Datei schalter.c.

#define EMPTY_PRICE   15

Definiert in Zeile 44 der Datei schalter.c.

#define IS_FORWARD (  )     (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().


Dokumentation der Funktionen

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 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

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 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

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.

00238 {
00239   mixed versand;
00240 
00241   versand = STAMPSERV->QueryStampList();
00242 
00243   return versand+(m_indices(stamps)-versand);
00244 }

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 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

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 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

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 }


Variablen-Dokumentation

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.

Erzeugt am Thu Jun 3 14:40:51 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3