| // Einiger Code wurde aus dem Questtagebuch des Tempels uebernommen. |
| // Da man das Buch, sobald es im aufgestellten Lesepult des Spielers |
| // abgelegt wurde, auch lesen koennen muss, sind die Funktionen und |
| // Details auch weiterhin sinnvoll. Kaufen kann es jeder Seher, aber |
| // nutzen kann man es nur mit dem von Hels Avatar ueberreichten Buch. |
| |
| #include <properties.h> |
| #include <moving.h> |
| #include <language.h> |
| #include <wizlevels.h> |
| #include "/d/seher/haeuser/moebel/moebel.h" |
| #include "/d/seher/haeuser/haus.h" |
| #include "/d/anfaenger/ark/knochentempel/files.h" |
| #pragma strong_types,rtt_checks |
| |
| inherit LADEN("swift_std_container"); |
| |
| static string owner; |
| string le(string key); |
| string in(string key); |
| int cmd_eintragen(string str); |
| int cmd_lesen(string str); |
| int take_page(string str); |
| int drop_book(string str); |
| int cmd_blaettern(string str); |
| int cmd_oeffnen(string str); |
| int cmd_schliessen(string str); |
| void AddTheOldDetails(); |
| |
| protected void create() |
| { |
| if(!clonep(this_object())) |
| { |
| set_next_reset(-1); |
| return; |
| } |
| |
| ::create(); |
| |
| owner="Anonymus"; |
| |
| AddDetail("finger",BS( |
| "Deine Finger sollten schon vorsichtig sein, wenn sie das Zeder"+ |
| "nholz beruehren. Einerseits, damit Du Dich nicht verletzt, and"+ |
| "ererseits, damit Du nichts beschmutzt.",78)); |
| AddDetail(({"holz","zedernholz","zeder"}),BS( |
| "Aus einem einzigen starken Stamm einer Zeder bearbeitet, ist d"+ |
| "ieses edle Lesepult schon etwas sehr Feines und Dekoratives.",78)); |
| AddDetail(({"stamm","zedernstamm","holzstamm"}),BS( |
| "Der Zedernstamm ist wahrlich kunstvoll veredelt worden, sein k"+ |
| "raeftiges Braun wurde hervorragend zur Geltung gebracht.",78)); |
| AddDetail(({"braun","dunkelbraun"}),BS( |
| "Der dunkelbraune Stamm glaenzt wunderschoen, wenn Licht auf ih"+ |
| "n faellt. Ein sehr angenehmes Holz, das fuer das Lesepult verw"+ |
| "endet wurde.",78)); |
| AddDetail("geltung",BS( |
| "Ja, dieses Holz gefaellt Dir sehr, das ganze Pult ist ein beme"+ |
| "rkenswertes Kunstwerk.",78)); |
| AddDetail(({"kunst","werk","kunstwerk"}),BS( |
| "Immer wieder faellt Dein bewundernder Blick auf das Lesepult.",78)); |
| AddDetail("blick",BS( |
| "Wachsam und flink wie immer, hat er jedoch ein wenig pausiert,"+ |
| " indem er muessig auf dem Lesepult ruht.",78)); |
| AddDetail(({"feines","dekoratives"}),BS( |
| "Das teilweise eckige und dann wieder sanft geschwungene, runde"+ |
| " Lesepult sieht schon ziemlich repraesentativ aus.",78)); |
| AddDetail("zeder",BS( |
| "Von ihr ist nurmehr das Pult geblieben, allerdings findest Du,"+ |
| " dass es nicht der schlechteste Teil ist.",78)); |
| AddDetail("teil",BS( |
| "Du siehst nur den bearbeiteten Teil der Zeder vor Dir.",78)); |
| AddDetail("exemplar",BS( |
| "Es ist ganz klar zu sehen, dass es sich nur um eine Zeder hand"+ |
| "elt, aus der dieses Pult entstand.",78)); |
| AddDetail(({"handwerk","kunst"}),BS( |
| "Tatsaechlich ist dieses Lesepult ein sehr schoenes Beispiel ho"+ |
| "echster handwerklicher Kunst.",78)); |
| AddDetail("beispiel",BS( |
| "Ein weiteres steht hier dummerweise nicht herum.",78)); |
| |
| SetProp("cnt_version_obj","1"); |
| SetProp(P_NAME,"Lesepult"); |
| SetProp(P_GENDER,NEUTER); |
| SetProp(P_NEVERDROP,1); |
| SetProp(P_VALUE,10); |
| SetProp(P_WEIGHT,500000); |
| SetProp(P_NOGET,"Das Lesepult ist Dir viel zu schwer.\n"); |
| SetProp(P_NOSELL,"Du behaeltst das Lesepult lieber.\n"); |
| SetProp(P_MATERIAL,([MAT_CEDAR:100])); |
| SetProp(H_FURNITURE,1); |
| SetProp(P_INFO,BS( |
| "Auf dieses Lesepult kann man ein ganz bestimmtes schwarzes Bu"+ |
| "ch legen. Dort liegt es perfekt, um darin zu blaettern und zu"+ |
| " lesen. Ausserdem birgt es sicher noch Geheimnisse.",78)); |
| |
| AddId(({"pult","lesepult","\nlesepult_ark"})); |
| |
| AddCmd("eintragen&quest|aufgabe|loesung|erlebnis|abenteuer", |
| #'cmd_eintragen,"Was willst Du hier denn eintragen ?\n"); |
| AddCmd(({"lies","lese","les"}),#'cmd_lesen); |
| AddCmd("nimm",#'take_page); |
| AddCmd(({"lege","leg"}),#'drop_book); |
| AddCmd("blaetter|blaettre|blaettere&in&buch|tagebuch|" |
| "tempeltagebuch",#'cmd_blaettern,"Worin willst Du blaettern ?|" |
| "Willst Du im Tagebuch blaettern ?"); |
| AddCmd("oeffne&@ID|buch|tagebuch|tempeltagebuch",#'cmd_oeffnen, |
| "Was willst Du oeffnen?\n"); |
| AddCmd("schliesse|schliess&@ID|buch|tagebuch|tempeltagebuch", |
| #'cmd_schliessen,"Was willst Du schliessen?\n"); |
| |
| if (MQTBMASTER->QueryTagebuchAufPult(this_player())) |
| AddTheOldDetails(); |
| } |
| |
| void SetOwner(string str) |
| { |
| owner=str; |
| } |
| |
| string QueryOwner() |
| { |
| return owner; |
| } |
| |
| string _query_short() |
| { |
| if ((owner=="Anonymus")|| |
| !this_player()|| |
| !(MQTBMASTER->QueryTagebuchAufPult(this_player()))) |
| return "Ein wunderschoenes Lesepult aus dunkelbraunem Zedernholz"; |
| if (getuid(this_player())==owner) |
| return |
| "Ein wunderschoenes Lesepult, auf dem Dein Tagebuch des Tempels ruht"; |
| else return |
| "Ein wunderschoenes Lesepult, das ein gueldenes Buch traegt"; |
| } |
| |
| string _query_long() |
| { |
| if ((owner=="Anonymus")|| |
| !this_player()|| |
| !(MQTBMASTER->QueryTagebuchAufPult(this_player()))) |
| return BS( |
| "Vorsichtig faehrst Du mit den Fingern ueber das dunkelbraune Holz."+ |
| " Was Du spuerst, fuehlt sich kuehl und angenehm an, die Zeder, die"+ |
| " fuer dieses bestaunenswerte Lesepult herhalten musste, wurde vors"+ |
| "ichtig und aeusserst kunstfertig bearbeitet. Ein wirklich schoenes"+ |
| " Exemplar holzhandwerklicher Kunst.",78); |
| if (getuid(this_player())==owner) |
| { |
| if (MQTBMASTER->QueryTagebuchAufPult(this_player())) |
| return BS( |
| "Vorsichtig faehrst Du mit den Fingern ueber das dunkelbraune Holz"+ |
| ". Was Du spuerst, fuehlt sich kuehl und angenehm an, die Zeder, d"+ |
| "ie fuer dieses bestaunenswerte Lesepult herhalten musste, wurde v"+ |
| "orsichtig und aeusserst kunstfertig bearbeitet. Ein wirklich scho"+ |
| "enes Exemplar holzhandwerklicher Kunst, Du bist froh, dieses Lese"+ |
| "pult erstanden zu haben. Auf dem Lesepult siehst Du Dein schwarze"+ |
| "s Tagebuch des Knochentempels, in dem Du nun nur noch lesen kanns"+ |
| "t, denn Deine Abenteuer dort sind vollstaendig zu Papier gebracht"+ |
| ". Allerdings kannst Du auch noch ein wenig weiter drin herumblaet"+ |
| "tern, wenn Du magst.",78); |
| return BS( |
| "Vorsichtig faehrst Du mit den Fingern ueber das dunkelbraune Holz"+ |
| ". Was Du spuerst, fuehlt sich kuehl und angenehm an, die Zeder, d"+ |
| "ie fuer dieses bestaunenswerte Lesepult herhalten musste, wurde v"+ |
| "orsichtig und aeusserst kunstfertig bearbeitet. Ein wirklich scho"+ |
| "enes Exemplar holzhandwerklicher Kunst, Du bist froh, dieses Lese"+ |
| "pult erstanden zu haben. Ein wenig gruebeln laesst Dich die Tatsa"+ |
| "che, dass das Lesepult leer ist. Was man dort wohl platzieren kan"+ |
| "n ?",78); |
| } |
| return BS( |
| "Vorsichtig faehrst Du mit den Fingern ueber das dunkelbraune Holz."+ |
| ". Was Du spuerst, fuehlt sich kuehl und angenehm an, die Zeder, di"+ |
| "e fuer dieses bestaunenswerte Lesepult herhalten musste, wurde vor"+ |
| "sichtig und aeusserst kunstfertig bearbeitet. Ein wirklich schoene"+ |
| "s Exemplar holzhandwerklicher Kunst, Du bist ein wenig neidisch."+ |
| ""+(MQTBMASTER->QueryTagebuchAufPult(this_player())?" Auf dem Lesep"+ |
| "ult wurde ein schwarzes Buch abgelegt, das sehr wertvoll aussieht.": |
| " Das Lesepult sieht ohne dazugehoeriges Buch ein wenig einsam aus.")+".",78); |
| } |
| |
| void AddTheOldDetails() |
| { |
| AddDetail(({"buch","buechlein","tagebuch"}),BS( |
| "Dies ist ein kleines Buechlein aus Gold, auf dem ein Name in "+ |
| "schwarzen Lettern steht. Ansonsten ist der Einband schlicht, "+ |
| "das Papier schon ausfuehrlich beschrieben und vom vielen Blae"+ |
| "ttern hier und da auch schon ein wenig geknickt.",78)); |
| AddDetail("blaettern",BS( |
| "Ja, das schoene Buechlein ist von haeufigem Blaettern nicht s"+ |
| "choener geworden, aber irgendetwas Magisches hat es schon an "+ |
| "sich. Ab und an magst Du immer wieder einmal herumblaettern.",78)); |
| AddDetail("magisches",BS( |
| "Es ist nicht so einfach zu ergruenden, indem man einmal genau"+ |
| "er hinsieht.",78)); |
| AddDetail("leder",BS( |
| "Das Leder ist glatt und vollkommen guelden. Nur die schwarzen"+ |
| " Lettern geben einen angenehmen Kontrast ab. Irgendwie seltsa"+ |
| "m, denn Du findest, dass Schwarz und Gold eigentlich umgekehr"+ |
| "t mehr Sinn machen.",78)); |
| AddDetail("sinn",BS( |
| "Vielleicht ist aber auch alles bestens, und nur Dein Verstand"+ |
| " will das nicht nachvollziehen.",78)); |
| AddDetail("verstand",BS( |
| "Ja, auch Du kannst ihm nicht immer folgen, also wundere Dich "+ |
| "nicht, warum dieses Leder hier golden verfaerbt ist und die B"+ |
| "uchstaben darauf schwarz.",78)); |
| AddDetail(({"lettern","buchstaben"}),BS( |
| "Du kannst sie lesen.",78)); |
| AddDetail(({"name","namen"}),BS( |
| "Man kann ihn genauso lesen wie die Buchstaben.",78)); |
| AddDetail("kontrast",BS( |
| "Die Buchstaben heben sich wirklich deutlich vom gueldenen Led"+ |
| "er des Einbands ab.",78)); |
| AddDetail("einband",BS( |
| "Es ist kein aufwaendiger Einband, fuerwahr. Dennoch faszinier"+ |
| "t die Pracht, die mit den schwarzen Lettern kontrastiert.",78)); |
| AddDetail("pracht",BS( |
| "So muss man den goldenen Einband wohl nennen.",78)); |
| AddDetail(({"papier","seiten","buchseiten","seite","buchseite"}),BS( |
| "Das Papier ist von guter Qualitaet, die Buchseiten lassen sic"+ |
| "h sicher einfach beschreiben.",78)); |
| AddDetail(({"schwarze buchseiten","schwarze buchseite", |
| "schwarze buchseite"}),BS( |
| "Tatsaechlich, beim Blaettern siehst Du einige schwarze Buchse"+ |
| "iten, die unbeschrieben sind. Was hat dies zu bedeuten ?",78)); |
| AddDetail("qualitaet",BS( |
| "Du siehst, dass das Papier fest und bluetenweiss ist.",78)); |
| AddReadDetail(({"buch","buechlein","tagebuch"}),BS( |
| "Das Buch hat ein Inhaltsverzeichnis. Wenn dort etwas steht, k"+ |
| "annst Du das oder die Kapitel sicher lesen.",78)); |
| AddDetail("kapitel",BS( |
| "Lies nur im Inhaltsverzeichnis nach, vielleicht hat das Buch "+ |
| "bereits ein oder mehrere Kapitel.",78)); |
| AddReadDetail("kapitel",BS( |
| "Welches Kapitel willst Du denn lesen ? Sie sind sicher durchn"+ |
| "ummeriert, wenn man schon etwas im Buch niedergeschrieben hat.",78)); |
| AddReadDetail(({"name","namen","buchstaben","lettern"}),#'le); |
| AddReadDetail(({"inhalt","inhaltsverzeichnis"}),#'in); |
| SetProp(P_MATERIAL,([MAT_LEATHER:10,MAT_PAPER:15,MAT_CEDAR:75])); |
| } |
| |
| int drop_book(string str) |
| { |
| if (!stringp(str)) |
| return 0; |
| if (strstr(lower_case(str),"pult",0)==-1) |
| return 0; |
| notify_fail(BS( |
| "Willst Du etwas auf das Pult legen ? Ein Buch waere passend, "+ |
| "aber es sollte schon etwas Besonderes sein.",78)); |
| if (strstr(lower_case(str),"buch",0)==-1&& |
| strstr(lower_case(str),"buechlein",0)==-1) |
| return 0; |
| notify_fail(BS( |
| "Das ist nicht Dein Lesepult, Du laesst es besser in Ruhe.",78)); |
| if (getuid(this_player())!=owner) |
| return 0; |
| notify_fail(BS( |
| "Auf dem Pult liegt schon ein goldenes Buch.",78)); |
| if (MQTBMASTER->QueryTagebuchAufPult(this_player())) |
| return 0; |
| notify_fail(BS( |
| "Entweder hast Du Dich noch nicht als wuerdig erwiesen, indem "+ |
| "Du alle Aufgaben im Knochentempel erfuellt hast oder Du hast "+ |
| "dem Avatar des Waechters der Nacht, Mhun'dae Hel, noch nicht "+ |
| "Deine Aufwartung gemacht und ihm gezeigt, dass Du wuerdig bis"+ |
| "t, ein geeignetes Buch zu empfangen. Auf alle Faelle kannst D"+ |
| "u hier noch nichts auf das Pult legen.",78)); |
| if (!present_clone(OBJ("buechlein_invers"),this_player())) |
| return 0; |
| MQTBMASTER->AddBuchAufPult(this_player()); |
| this_player()->ReceiveMsg(BS( |
| "Vorsichtig schlaegst Du Dein gueldenes Tagebuch auf, das Dir "+ |
| "Mhun'dae Hel, das Avatar des Waechters der Nacht, ueberreicht"+ |
| " hat. Du legst es sachte auf das Pult und merkst, dass es sof"+ |
| "ort eine magische Verbindung mit dem Lesepult eingeht. Es ist"+ |
| " nun untrennbar mit diesem verbunden.",78),MT_MAGIC,MA_USE); |
| tell_room(environment(),BS( |
| this_player()->Name(WER)+" legt vorsichtig ein gueldenes Buch "+ |
| "mit schwarzen Lettern aufgeschlagen auf dem Lesepult ab und b"+ |
| "etrachtet dieses dann ehrfuerchtig und zutiefst zufrieden.",78), |
| ({this_player()})); |
| return 1; |
| } |
| |
| int cmd_blaettern(string str) |
| { |
| notify_fail(BS( |
| "Auf dem Lesepult liegt doch gar kein Tagebuch.",78)); |
| if (!(MQTBMASTER->QueryTagebuchAufPult(find_player(owner)))) |
| return 0; |
| notify_fail(BS( |
| "Das ist nicht Dein Tagebuch, Du laesst es lieber in Frieden.",78)); |
| if (getuid(this_player())!=owner) |
| return 0; |
| this_player()->ReceiveMsg(BS( |
| "Du blaetterst ein wenig durch Dein Tagebuch und stoesst auf e"+ |
| "inige raetselhafte schwarze Seiten. Was mag es damit auf sich"+ |
| " haben ? Ob Du sie herausnehmen kannst ?",78),MT_LOOK,MA_LOOK); |
| return 1; |
| } |
| |
| int take_page(string str) |
| { |
| if (!stringp(str)) |
| return 0; |
| if (present(str,environment())) |
| return 0; |
| notify_fail(BS( |
| "Wo siehst Du denn hier ein Buch ?",78)); |
| if (!(MQTBMASTER->QueryTagebuchAufPult(this_player()))&& |
| strstr(lower_case(str),"buch")!=-1) |
| return 0; |
| if ((owner!=getuid(this_player()))&& |
| strstr(lower_case(str),"buch")!=-1) |
| notify_fail(BS( |
| "Dies ist nicht Dein Lesepult oder Dein Buch darauf, deshalb l"+ |
| "aesst Du es vorsichtshalber liegen.",78)); |
| return 0; |
| if ((owner!=getuid(this_player()))&& |
| strstr(lower_case(str),"seite")!=-1) |
| notify_fail(BS( |
| "Die Eigentuemerin oder der Eigentuemer des Lesepults haette s"+ |
| "icher etwas dagegen, wenn Du das Buch zerstoerst, also laesst"+ |
| " Du es lieber.",78)); |
| return 0; |
| // Heilung 1x alle 6 Stunden. |
| if (this_player()->check_and_update_timed_key(21600,"Ark_Hels_Schwarzes_Buch")==-1) |
| { |
| object o; |
| this_player()->ReceiveMsg(BS( |
| "Du reisst erst vorsichtig eine schwarze Seite und dann eine"+ |
| " weitere aus dem goldenen Buch. Dann ueberfaellt Dich eine "+ |
| "kleine Schwaeche, die Dich vor weiterem Zerstoeren innehalt"+ |
| "en laesst. Du solltest Hels Grosszuegigkeit nicht ueberscha"+ |
| "etzen.",78),MT_FEEL,MA_TAKE); |
| tell_room(environment(),BS( |
| this_player()->Name(WER)+" reisst zwei Seiten aus dem Buch, "+ |
| "das auf dem Pult liegt. Dann haelt "+this_player()->QueryPronoun(WER)+""+ |
| " inne, wahrscheinlich folgt "+this_player()->QueryPronoun(WER)+""+ |
| " einer klugen Eingebung.",78)); |
| o=clone_object(OBJ("reg_seite")); |
| if (o->move(this_player())!=MOVE_OK) |
| { |
| o->remove(1); |
| this_player()->ReceiveMsg(BS( |
| "Du kannst die erste Seite nicht mehr tragen, sie loest sic"+ |
| "h einfach auf.",78),MT_MAGIC,MA_REMOVE); |
| } |
| // Die erste Seite behandelt, hier, falls man auch die zweite |
| // Seite nicht tragen kann oder mit der ersten am Limit ist. |
| o=clone_object(OBJ("reg_seite")); |
| if (o->move(this_player())!=MOVE_OK) |
| { |
| o->remove(1); |
| this_player()->ReceiveMsg(BS( |
| "Du kannst die zweite Seite nicht mehr tragen, sie loest si"+ |
| "ch einfach auf.",78),MT_MAGIC,MA_REMOVE); |
| } |
| return 1; |
| } |
| this_player()->ReceiveMsg(BS( |
| "Vergeblich reisst Du mehr oder weniger vorsichtig an einigen"+ |
| " schwarzen Seiten im Buch herum, doch sie bleiben stoerrisch"+ |
| ". Es wird wohl ein wenig dauern, bis Du das wieder versuchen"+ |
| " kannst.",78),MT_MAGIC,MA_USE); |
| tell_room(environment(),BS( |
| this_player()->Name(WER)+" reisst im Buch auf dem Lesepult he"+ |
| "rum.",78),({this_player()})); |
| return 1; |
| } |
| |
| int cmd_lesen(string str) |
| { |
| int k; |
| if(!str) return 0; |
| if (owner=="Anonymus") |
| { |
| write (BS( |
| "Dieses Lesepult scheint niemandem zu gehoeren ... es loest s"+ |
| "ich daher einfach auf, als Du darauf etwas lesen willst.",78)); |
| remove(1); |
| return 1; |
| } |
| if (getuid(this_player())!=owner) |
| { |
| notify_fail(BS( |
| "Dieses Tagebuch gehoert "+capitalize(owner)+", nicht Dir, Du"+ |
| " bist eigentlich nicht so recht an dem interessiert, was man"+ |
| " in dem Buch niedergeschrieben hat. Sicher ist es uebertrieb"+ |
| "en langatmig formuliert und stimmt nicht genau mit dem ueber"+ |
| "ein, was wirklich geschah. Man kennt das ja.",78)); |
| return 0; |
| } |
| if (strstr(lower_case(str),"kapitel",0)!=-1&& |
| sscanf(lower_case(str),"kapitel %d",k)!=1) |
| { |
| write (BS( |
| "Willst Du ein Kapitel aus dem Buch lesen ? Dann gib bitte ei"+ |
| "ne Ziffer an.",78)); |
| return 1; |
| } |
| if (k>0) |
| { |
| MQTBMASTER->LiesQuest(k,this_player()); |
| return 1; |
| } |
| return 0; |
| } |
| |
| int cmd_eintragen(string str) |
| { |
| int i; |
| if (!(MQTBMASTER->QueryTagebuchAufPult(this_player()))) |
| { |
| notify_fail(BS( |
| "Du findest hier nichts, worin Du etwas eintragen koenntest.",78)); |
| return 0; |
| } |
| if (getuid(this_player())!=owner) |
| { |
| notify_fail(BS( |
| "Dieses Tagebuch gehoert "+capitalize(owner)+", nicht Dir, Du"+ |
| " kannst darin nichts eintragen.",78)); |
| return 0; |
| } |
| notify_fail(BS( |
| "Deine Missionen im Knochentempel ... besser gesagt, dem Wyrmt"+ |
| "empel, sie sind allesamt tapfer von Dir erfuellt worden. Du k"+ |
| "annst hier nichts weiter mehr eintragen, sicher aber von der "+ |
| "arkanen Macht des Buches profitieren, wenn Du es einmal durch"+ |
| "blaetterst.",78)); |
| return 0; |
| } |
| |
| string calc_name() |
| { |
| string *nam; |
| string res; |
| int i,j; |
| res=""; |
| if (owner=="") |
| return ""; |
| nam=explode(upperstring(owner),""); |
| if (j=sizeof(nam)) |
| { |
| switch(j) |
| { |
| case 3..4: |
| res=" "; |
| break; |
| case 5: |
| res=" "; |
| break; |
| case 7: |
| res=" "; |
| break; |
| case 9: |
| res=" "; |
| break; |
| default: |
| res=" "; |
| } |
| for (i=0;i<j;i++) |
| { |
| res+=nam[i]+" "; |
| } |
| } |
| return res; |
| } |
| |
| string le(string key) |
| { |
| return "\n"+ |
| " De Templum Os Hel\n\n"+ |
| calc_name()+"\n\n"; |
| } |
| |
| string in(string key) |
| { |
| if (owner!=getuid(this_player())) |
| return "Dort steht allerdings nichts. Seltsam.\n"; |
| return MQTBMASTER->LiesInhalt(find_player(owner)); |
| } |
| |
| // Das hier bezeichnet den Urheber des Moebelstuecks. |
| // Nicht meine Idee! |
| string GetOwner() { return "Ark"; } |
| |
| int cmd_oeffnen(string str) |
| { |
| if (strstr(lower_case(str),"pult")!=-1) |
| { |
| this_player()->ReceiveMsg( |
| "Du kannst das Pult nicht oeffnen, nur etwas zum Lesen darauflegen.", |
| MT_LOOK,MA_FEEL); |
| return 1; |
| } |
| if (strstr(lower_case(str),"buch")!=-1) |
| { |
| if (!(MQTBMASTER->QueryTagebuchAufPult(this_player()))) |
| return 0; |
| this_player()->ReceiveMsg( |
| "Das schwarze Buch ist doch schon geoeffnet.",MT_LOOK,MA_FEEL); |
| return 1; |
| } |
| // Alles andere per Default. |
| return 0; |
| } |
| |
| int cmd_schliessen(string str) |
| { |
| if (strstr(lower_case(str),"pult")!=-1) |
| { |
| this_player()->ReceiveMsg( |
| "Du kannst das Pult nicht schliessen.",MT_LOOK,MA_FEEL); |
| return 1; |
| } |
| if (strstr(lower_case(str),"buch")!=-1) |
| { |
| if (!(MQTBMASTER->QueryTagebuchAufPult(this_player()))) |
| return 0; |
| this_player()->ReceiveMsg( |
| "Das Buch bleibt trotz Deiner Bemuehungen einfach offen.",MT_LOOK,MA_FEEL); |
| return 1; |
| } |
| else return 0; |
| } |
| |
| mixed _query_noget() |
| { |
| if (getuid(this_player())!=owner) |
| return BS( |
| "Dies ist offensichtlich nicht Dein Pult, deshalb laesst "+ |
| "Du es auch besser liegen.",78); |
| return 0; |
| } |
| |
| string _query_autoloadobj() |
| { |
| return QueryOwner(); |
| } |
| |
| string _set_autoloadobj(string s) |
| { |
| return QueryOwner(); |
| } |
| |
| // Beim Kauf setzen wir erstmal nur den Eigentuemer. |
| // Ist aus Swifts Container, der diese Funktion im |
| // NotifyMove() aufruft. |
| protected void SetBesitzer(string uid, string uuid) |
| { |
| SetOwner(uid); |
| MQTBMASTER->AddLesepult(find_player(uid)||find_netdead(uid)); |
| } |