24
Hast du Sprit? Oder eine elektrische Kettensäge? Preis: 2,64$ MMMMagazin E E n n d d r r e e s s T T u u t t o o r r i i a a l l T T e e i i l l 2 2 L L ö ö s s u u n n g g e e n n : : C C l l a a s s s s i i c c S S o o l l u u t t i i o o n n s s D D a a s s e e i i g g e e n n e e P P r r o o j j e e k k t t s s i i c c h h e e r r n n # # 6 6 T T h h e e m m e e n n i i m m H H e e f f t t 12 2014

Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

Hast du Sprit?

Oder eine elektrische

Kettensäge?

Preis: 2,64$

MMMMagazin

EEnnddrreess’’

TTuuttoorriiaall

–– TTeeiill 22

LLöössuunnggeenn::

CCllaassssiicc

SSoolluuttiioonnss

DDaass eeiiggeennee

PPrroojjeekktt

ssiicchheerrnn

##66TThheemmeenn iimm HHeefftt

122014

Page 2: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

ii

Artikel aus der ganzen Welt 4Lösungen 6Endres’ Tutorial ­ Teil 2 9Lösung – Episode 87 16Lösung – Episode 81 17Das eigene Projekt sichern 18Hilfreiche Funktionen in MMM 21

INHALTIMPRESSUMHERAUSGEBERRulaman

VERLAGSLEITUNGRulamanCHEFREDAKTEURRulaman

REDAKTIONRulamanCOVER­none­

LAYOUTScribusCOMIC­none­

FREIE MITARBEITERN/ASCREENSHOTS,FOTOSRulaman

LEKTORATYalinterVERTRIEBInternet

Wiederverwertung des Inhal­tes in Printmedien oder an­derer kommerzieller Formnur mit Zustimmung der

Community, soweit die Rech­te der Inhalte bei dieser lie­gen. In anderen Fällen kannkeine Genehmigung erteilt

werden.

Scribus Made

Page 3: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

Weihnachten ist da und wir blicken in diesem Heft zurück aufzwei weitere Jahre Maniac Mansion Mania. Vieles hat sichgetan. Wir haben jetzt zum Beispiel einen Newsletter der dieCommunity per Mail mit den wichtigsten Neuigkeitenversorgt. Bòógieman hat eine Anleitung veröffentlicht mit derman MMM Episoden auf Android Geräten installieren kann.Die 9. Staffel wurde mit der Episode 90 (Kofferpacken) voncmdr geschlossen. Des Weiteren haben Ron Gilbert und GaryWinnick ihr neues Adventure Game, mit dem NamenThimbleweed Park auf Kickstarter angekündigt. Mehr dazuim Heft.Außerdem gibt es hier im Magazin Nummer 6 eineWeiterführung von Endres’ Tutorial und die bisherunveröffentlichte Lösung zu Episode 81, Bernard bricht aus.Außerdem wird erklärt was ein Repository ist und wie einemdas Programm Tortoise Hg bei der Erstellung von Episodennützlich sein kann.

Yalinter

Nebenstehender QR-Code führt euch direkt auf die MMM-Hauptseite. Ein-fach mit dem Smart-Phone scannen und die Seite (nicht Smartphone opti-miert [haha] anschauen)

QR­Code

Page 4: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

4

Artikel aus der ganzen WeltThimbleweed Park ‐ Das neue Classic Adventure

Am 18. November startete eine Kickstarter Kampagne, mit der sicherlich niemand gerechnet hätte. Ron Gilbert undGarry Winnick kündigten ihr neues Projekt Thimbleweed Park an und setzten ein Ziel von 375 000 Dollar, welches aberbereits nach sechs Tagen erreicht wurde. Bereits im Trailer erkennt man die bekannten Anspielungen auf andereLucasarts Spiele. So gibt es zum Beispiel ein Edmund Hotel und die fleischfressende Pflanze steht auf einem Tresen. DasSpiel ist liebevoll detailliert, im üblichen Pixelstil gestaltet und man kann wie bei "Maniac Mansion" oder "Day of theTentacle", zwischen mehreren Charakteren wechseln. Diesmal soll es fünf Charaktere geben. Ron Gilbert und GarryWinnick versprechen:"It's deep, it's challenging, it's funny, it's everything you loved about adventure games."

Das Spiel ist laut Kickstarter eine Art Zeitmaschine. Fans, die früher Maniac Mansion, Day of the Tentacle oder MonkeyIsland gespielt haben, bekommen jetzt die Chance, noch einmal ein gutes aber eben neues Point and Click Adventurevon den beliebten Autoren zu spielen. Spendet man mindestens 20 Dollar erhält man eine digitale Kopie des Spieles,sobald es fertig ist. Für 25 $ wird einem sogar seine Schuld verziehen, wenn man Maniac Mansion und Monkey Islandseinerzeit nicht gekauft sondern raubkopiert hat und für 50 $ kann man seinen Namen in das "In Game Telefonbuch"eintragen lassen und ist möglicherweise Teil des Lösungsweges. Auch Lösungswege soll es mehrere geben.Die Story

Thimbleweed Park ist eine Kleinstadt, die früher von der größten Kissenfabrik des Bundeslandes geprägt war, aber nunrecht heruntergekommen zu sein scheint. Es geht unter anderem um zwei Ermittler, die einen Mord am Stadtrandaufklären wollen. Während des Spieles versucht man herauszufinden, was überhaupt in der Stadt geschehen ist und wases mit der Leiche auf sich hat. Der Spieler kann jederzeit zwischen den Charakteren wechseln. Zwei von ihnen sind diebeiden Ermittler, die anderen sind:- Dolores, die in der rätselhaften Villa ihres verstorbenen Onkels lebt- Franklin, der ohne Erinnerungen in einem Hotel aufwacht und merkt, dass er tot ist- Ransome, der verfluchte Clown der sein Makeup nicht abnehmen kannRon Gilbert und Garry Winnick kündigten noch ein paar coole Zusatzziele [Stretch Goals] an wenn mehr Geldeingenommen werden sollte:[425 000 $] Übersetzungen: Das Spiel erhält eine deutsche, spanische, französische und italienische Übersetzung. Diedeutsche Übersetzung wird von Boris Schneider Johne übernommen, der bereits die deutsche Übersetzung für MonkeyIsland machte.[525 000 $] Es wird eine iOS und eine Android Version des Spieles erscheinen.[625 000 $] Die englische Version des Spieles wird vollständig synchronisiert werden .Wir können wohl gespannt sein wie der Nachfolger von Maniac Mansion sich entwickeln wird. Der voraussichtlicheReleasetermin für Thimbleweed Park ist im Juni 2016.Yalinter

Page 5: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

5

From the Homepagehttps://www.kickstarter.com/projects/thimbleweedpark/thimbleweed-park-a-new-classic-point-and-click-advThimbleweed Park is the curious story of two washed up detectives called in to investigate a dead body found in theriver just outside of town. It’s a game where you switch between five playable characters while uncovering the dark,satirical and bizarre world of Thimbleweed Park.Lost along a dusty stretch of highway, the town of Thimbleweed Park once boasted an opulent hotel, a vibrant businessdistrict and the state’s largest pillow factory, but now teeters on the edge of oblivion and continues to exist for no realreason. It’s a town that makes you itch and your skin crawl. It’s a place no one ever looks for, but everyone seems tofind.

Page 6: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

6 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

Lösung ‐ Episode 08:Die Abfuhr

Es wäre so ein schöner Tag – Wennnur Klaus nicht da wäre!Also gut:Schnappen Sie sich das grüne Buchin der Mitte des Bücherregals undlesen sie es sich durch und gleichdanach öffnen Sie die obere rechteSchublade und holen das Blatt Papierund den Kugelschreiber raus. Mitdem Kugelschreiber zeichnen wir denPlan aufs Blatt und schauen uns denPlan nochmal an, danach noch dasKopfkissen auf dem Bett mitnehmen.Jetzt verlassen wir das Zimmer undstecken gleich den Lukenöffner einund betreten das Schlafzimmer vonBernards Eltern und öffnen dasrechte Nachttischschränkchen undnehmen den Kassettenrekorder raus.Wir müssen jetzt in Britneys Zimmergehn und den Hamster mitsamtLaufstall aus dem Käfig rausholen.Die Treppe gehen wir hinunter undnehmen den Keilriemen vomSportgerät ab, dann geht es weiter insEsszimmer nach links und steckennoch den Faden vom Nähkästchenein. In der Küche öffnen wir die einerechte Schublade und holen denDosenöffner daraus und betrachtenuns die Spüle und öffnen zuletzt daslinke untere Schränkchen, um einenEimer zu erhalten. Mit der Schereschneiden wir die Federn aus demKopfkissen raus. Jetzt geht es wiederhoch zu der Dachluke, die wir mitdem Lukenöffner öffnen und betretenwerden.Auf dem Dachboden öffnen wir dieKiste und holen den Generator rausund nehmen noch die Dose, nebendem umgekippten Superkleber,danach nehmen wir noch den

Werkzeugkasten, den wir nochöffnen, um weitere Werkzeuge zuerhalten und stecken noch den Trittund das Brett neben dem Regal ein.Jetzt gehen wir ins Wohnzimmer,nehmen den Ventilator und öffnendas Kassettenschränkchen und holeneine Kassette raus, die wir mit demKassettenrekorder benutzen. Jetztgehen wir zur Haustür und benutzenden Akkuschrauber mit Plan A (dasist über der Tür). Dann benutzen wirdie Dübel mit den Löchern. Nunbenutzen wir das Scharnier mit demBrett und stecken es in die Löchermit den Dübeln rein. Danach denBindfaden mit Brett benutzen undden Kleber in den Eimer reinschüttenund auf das Brett stellen. Die Federnlegen wir auf dem Tisch, stellen denGenerator auf Plan B (das ist rechtsneben dem Tisch), benutzen denVentilator mit dem Generator und zuguter Letzt benutzen wir denHamster mit dem Generator. Bernardgeht in die Küche und benutzt denKassettenrekorder und danach öffnenwir das Küchenfenster und benutzenden Rekorder wiederum mit diesem

Fenster.Rayman – Dienstag, 10. April 2007

MMM Classic Solutions

ANZEIGE

MMM Classic Solutions

Page 7: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

7

www.maniac­mansion­mania.com

Lösung ‐ Episode 09:Radioaktiv

Was für ein schöner Tag, da machenwir gleich mal das Fenster nebendem PC auf. Oh draussen sitzt gradHoagie im Garten, mal fragen was erdenn so treibt. Hoagie liest ein Buch,ganz was Neues, naja da wollen wirihn nicht weiter stören. Schauen wirmal in den PC. Ohh Gott, No-tendurchschnitt in Chemie nur 1,4eine Tragödie. Schauen wir mal rausauf den Flur im ersten Stock. Washängt denn da an Britneys Tür fürein Zettel? Oh wir habenZimmerverbot von Britney, auch gutsolange sie nicht herauskommt gibtskeinen Stress. Dann schauen wirnoch im Bad vorbei und packen dasAbführmittel ein das dort rumsteht.Aha, aus der Dachluke hängt einStück vom Zelt.Weiter gehts ins Erdgeschoss, ohh daklingelt grad das Telefon malschauen was es Neues gibt. DerBürgermeister höchstpersönlichschickt uns zu den Foxhöhlen, um einradioaktives Phänomen zuuntersuchen. Das ist natürlich einefeine Sache, direkt von derpolitischen Spitze so einengloreichen Auftrag zu erhalten. DirFrage ist nur wie kommen wir dahin? Wenn wir schon beim Telefonstehen, rufen wir doch gleich nochHoagies Dad an, vielleicht borgt eruns sein Auto. Das war ja einKinderspiel, Hoagie wird michhinfahren. Allerdings weiss er nochnichts davon, deswegen werd ich ihmgleich die Neuigkeit erzählen. Wirgehen zurück in Bernards Zimmerund reden wieder vom Fenster ausmit Hoagie. Ok Hoagie weissBescheid und kommt uns dann abho-len.Jetzt müssen wir noch das Zelt vomDachboden runterholen und dasStrahlungsmessgerät aus dem Keller

mitnehmen, bevor es losgehen kann.In der Schublade im Schreibtisch istein Lineal und ein Kugelschreiber.Nehmen wir beides mit. Das sichimmer und ewig drehende PerpetumMobile packen wir auch ein. Manweiss nie wozu man es noch braucht.Mit dem Lineal versuchen wir gleichmal die Dachluke zu öffnen. Gehtsich leider noch nicht aus, wirbrauchen noch was wo wir unsdraufstellen können. Was kommt dain Frage, hmm?? Das gute alte Micromüsste dafür eigentlich geeignet sein.Das holen wir uns schnell aus derKüche. Im Esszimmer liegt ein ZippoFeuerzeug. Das nehmen wir mit, einFeuerzeug kann man beim Campenimmer brauchen. Das Micro nehmenwir aus der Küche mit, das Sad Bullnehmen wir aus dem Kühlschrank.Vielleicht brauchen wir ja noch einbisschen Energie für unserschwieriges Unternehmen. Alsowieder in den Flur im oberenStockwerk und den Micro unter dieDachluke stellen. Mal schauen, ob essich jetzt ausgeht. Mit dem Linealklappt es dann und wir habenendlich das Zelt eingepackt.Fehlt nur noch das Strahlen-messgerät, aber das liegt im Keller

und dieser ist kontaminiert.Möglicherweise gelingt es uns dieStrahlung abzusaugen. Mums Staub-sauger steht im Schlafzimmer, dennehmen wir mal mit. Auf dem Wegzur Kellertüre kommen wir imWohnzimmer vorbei, da schauen wirdoch gleich was es grade so Schönesim Fernsehen spielt. Aha Wired Edhat seinen Hamster verloren, najaPech für Ihn.Bei der Kellertüre drücktes schon die kontaminierte Luft nachoben. Allerdings nützt uns derStaubsauger alleine da noch nichtviel, wir müssen noch irgendeinennatürlichen Filter einbauen der dasradioaktive Gift absorbiert. Schauenwir mal vors Haus. Ahja da links istein bisschen Moos auf derHausmauer, damit könnte es gehen.Wir nehmen uns ein wenig vomMoos und geben es in denStaubsauger. Damit sind wir jetztperfekt gerüstet gegen die Strahlungim Keller. Wir saugen die radioaktiveStrahlung einfach auf. So dannkönnen wir ja endlich in den Kellerund da steht auch gleich dasMessgerät, welches wir gleicheinstecken. Gleich daneben unsernicht funktionierendes Chemiepro-jekt, naja darum kümmern wir uns

Page 8: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

8 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

später.Ohh es klingelt, das wird Hoagie seinder uns abholt, also nix wie raus undins Auto. Ab zu den Fox-Höhlen. Soda sind wir, gleich mal die Gegendsondieren. Ohje in die Höhle könnenwir leider nicht, die Strahlung ist zuhoch, das Messgerät schlägt an. Nagut dann wollen wir mal unsereCampingausrüstung aufbauen. Alsodas mit dem Zelt hab ich mireinfacher vorgestellt. Schaff eseinfach nicht es richtig aufzubauenund Hoagie steht daneben und grinstblöd. Na dann soll er doch mal zeigenwas er kann. Wir geben Hoagie dasZelt und staunen nicht schlecht.Hoagie hat wohl einenZeltaufbaukurs gemacht,unglaublich. Na gut das Zelt steht,schauen wir mal rein. Da drinnen istein Krug, den nehmen wir mit. Gutnur wie kommen wir jetzt in dieHöhle? Den Staubsauger können wirhier nicht anstecken, also müssen wiruns was Anderes einfallen lassen.Vielleicht kann ich mich selber,gegen die Strahlung immunsieren.Schauen wir mal was wir uns da zu-sammenmixen können. Wir gebeneinmal die Abführmittel ins Sad-Bull,diese Mischung schütten wir in denKrug. So jetzt fehlt noch einradioaktiver Träger der dieAntikörper bildet.Da haben wir 2 Möglichkeiten,entweder wir nehmen denStaubsauger wieder auseinander undgeben das jetzt mit Radioaktivitätaufgeladene Moos in den Krug,oder wir brechen uns einen Astvom dem Baum ab der hierrumsteht und geben den in denKrug. Gut die Mischung ist fertig,nur noch immer nicht optimalzum trinken. Damit die Stoffe allewirklich zu einem harmonischenGetränk verschmelzen, müssenwir den Krug noch erhitzen. Dahaben wir wieder 2 Möglichkeiten.

Die einfachere ist, wir verwendendas Zippo-Feuerzeug mit derFeuerstelle und machen ein kleinesLagerfeuer. Die aufwendigere wäre,wenn wir wieder ins Auto steigen,nach Hause fahren denMicrowellenherd wieder in derKüche auf seinen Platz stellen unddarin den Krug erhitzen. Jedenfallshaben wir den Krug jetzt erhitzt unddie Mischung ist trinkfertig. DaHoagie leider verweigert müssen wirdas Gesöff selber trinken. Man dasgeht ja ab, so stürmen wir jetztunversehrt in die Höhle und findendarin einen verseuchten Hamster.Trotz aller Geschwindigkeiterwischen wir den Hamster nicht mitden Händen. Zum Glück haben wirdas Perpetum Mobile eingesteckt undstellen das in der Mitte der Höhleauf. Der Hamster hat das tatsächlichfür sein Laufrad gehalten und istsofort reingesprungen. Dannbrauchen wir ihn ja nur nocheinzupacken und können dieHeimreise antreten. War eh schonhöchste Zeit, das Abführmittel hatteseine Wirkung nicht verfehlt.Hoagie liefert uns brav wieder vorder Haustüre ab. Hmmmm, derHamster sollte eigentlich jetztgenügend Energie für unsermisslungenes Chemieprojekt liefern.Wir gehen in den Keller undverwenden den Hamster imPerpetum Mobile als Energiequelle.Funktioniert tadellos, jetzt brauchenwir noch die Schaltpläne, die Dad als

Strafe für die Kellerexplosionversteckt hat. Wir öffnen dieSchublade unter dem Experiment undpacken den Schraubenzieher ein. ImVerstecke finden sind wir gut und dases in Bibliotheken sehr oft loseWandverkleidungen gibt, wissen wirauch nicht erst seit gestern. Also indie Bibliothek und siehe da, dieVerkleidung rechts unten neben derTür zum Flur ist lose. Mit denFingern geht sie leider nicht auf, aberwir haben ja den Schraubenzieherund damit is es kein Problem. Wiröffnen die Schachtel und da drinnensind Sie. Die Pläne für unserChemieprojekt – ThermonukleareKernfusion. Damit gehts wieder inden Keller, wo wir jetzt die Pläne amProjekt anwenden. Na toll esfunkioniert jetzt hervorragend.<Zwischensequenz>Dann gleich mal ab in die Schule undmein Experiment präsentiert. Warnatürlich ein toller Erfolg. War ja klardas meiner mitreissenden Perfo-rmance keiner wiederstehen konnte.<Zwischensequenz Ende>Gut, gehen wir also wieder ins Haus.Wieder klingelt das Telefon, wirheben ab und erzählen demBürgermeister von unsererheroischen Tat bei der Fox-Höhle.Der Bürgermeister war hörbarerleichtert das dieses Problemerledigt ist und wird vorschlagen,dass ein Einkaufszentrum nach mirbenannt wird, was für eine Ehre.

Alternative Lösungen:

– Krugmischung –1. Ast vom Baum2. Moss vom Staubsauger– Hamster verschicken –1. Hamster normal verschicken2. Hamster vorher in Micro und dann verschicken

– Krug erhitzen –1. In der Micro2. Am Lagerfeuer

Page 9: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

9

www.maniac­mansion­mania.com

Und wie in jedem Heft, so auch hier: Der übliche Aufruf mitzuhelfen. Leute, schlagtThemen vor, reicht Texte ein und verewigt euch so in den Analen des MMM-Univer-sums.Arbeitet also aktiv am Heft mit und schreibt kräftig Lösungen und Beiträge (auch für dieHomepage).

Sicherheitshalber gehen wir nochmalin unser Zimmer und schauen imComputer nach, ob unsere Note auchwirklich verbessert wurde. Alles inOrdnung, Notendurchschnitt wiederbei 1,0 mehr kann man wirklich nichterwarten. Wie gehts jetzt mit demHamster weiter? Wir erinnern uns andie Fernsehsendung mit Wired Ed,der hatte doch seinen Hamsterverloren. Na gut den leeren Karton

haben wir noch, da passt er jahaargenau rein. Mit demKugelschreiber schreiben wir dieAdresse drauf und gehen zumBriefkasten. Es fehlt uns noch eineBriefmarke, wir suchen unter derFussmatte bei der Eingangstür undhaben Glück. Also Briefmarke aufden Karton und rein in denBriefkasten. <Zwischensequenz>Damit haben wir hoffentlich Wired

Ed glücklich gemacht und geniessenseine Erregung und dasLivekommentar des Bürgermeistersam Fernsehschirm.<Zwischensequenz Ende> ENDERocco – Dienstag, 10. April 2007

Hotspots

Jetzt geht es daran, die Räume mit Leben zu füllen. Beginnen wir in Dave's Zimmer. Öffne dazu rechts oben den Baumbei "Room" und bei "Daves Zimmer". Dann auf "Edit Room" auf einen Doppelklick. Du bist jetzt im Raumeditor. Wenn dunun in der zweiten Auswahlbox statt "Nothing" "Hotspots" auswählst, siehst du, welche Hotspots in dem Raumeingerichtet sind. Das sind Bereiche im Hintergrund, auf die der Spieler dann später draufklicken kann, zum Beispiel dieTür oder das Bett. Der gerade ausgewählte Hotspot ist farbig markiert.Wähle die Pinnwand aus (hPinnwand, ID; 7), klicke auf das Blitzsymbol, (siehe Screen) hier auf "Any Click on hotspot"und dort auf "...".Der Scripteditor öffnet sich dann. Die ersten Zeilen sehen so aus:

i f ( any_cli ck_move(190, 123, eDi rUp) )

{

i f ( UsedActi on(eActWalkTo) )

{

Die erste Zeile bestimmt, dass der Spieler erst an die Position (190, 123) auf dem Bildschirm geht, damit das passiert, wasin den geschweiften Klammern (Tipp: Am besten den Inhalt von geschweiften Klammern immer einrücken, damit mansieht, wie weit dieser noch geht) auf dieser Ebene passiert. Die zweite Zeile sorgt dafür, welches Verb angeklickt seinmuss, bevor das passiert, was innerhalb der geschweiften Klammern danach steht. Die Positionen werden im RoomEditior auch angezeigt, wenn man den Mauszeiger über die Raumgrafik bewegt. In diesem Fall steht in der dritten"Funktionsebene" nur:

// Wai t(5) ;

Endres’ Tutorial – Teil 2

Endres’ Tutorial – Teil 2Freitag, 07. Januar 2011 – Endres

Page 10: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

10 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

Dies ist ein auskommentierter Funktionsaufruf. Das heißt, dass AGS die Zeile nicht beachtet, als ob sie da nicht stehenwürde. Das heißt, der Charakter geht nur bis zur Position und guckt nach oben, sonst nix – Er wartet nicht, weil esauskommentiert ist. Mehr tut er nur bei anderen Aktionen. Dass mehr nicht passiert, ist klar, denn der Aufrag an dieSpielfigur lautete ja nur eActWalkTo, d.h. "Gehe zu". Möglich sind hier außerdem die folgenden Verben: eActLookAt(Schau), eActUse (Benutze), eActPickUp (Nimm), eActPush (Drücke), eActPull (Ziehe), eActOpen (Öffne) und eActClose(Schließe). Bei Charakteren gibt es auch noch die Aktion eActTalkTo (Rede) und bei Inventargegenständen eActGiveTo(Gebe), dazu später. Im Anhang findest du noch eine praktische Tabelle für den Überblick hierbei.Da hier nicht mehr passiert, schauen wir uns also die nächste if-Fallunterscheidung an.

else i f ( UsedActi on(eActLookAt) )

{

Wai t(5) ;

player. Say("Ja, auch i ch hab so mei ne Pläne. " ) ;

player. FaceDi recti on(eDi rDown) ;

player. Say("He, he, he. " ) ;

}

Dieser Code wird ausgeführt, wenn die Pinnwand angeschaut wird. Natürlich geht Dave auch wieder zur Pinnwand undschaut sie an, denn das war ja die erste Abfrage. Wichtig ist auf dieser zweiten Ebene, dass ab dem zweiten if-Block mit"else" eingeleitet wird, also "wenn das passiert oder sonst wenn das passiert". Dave wartet einen kurzen Moment und gibtdann zwei Kommentare ab, wozwischen er sich dem Charakter zuwendet. Es gibt die vier Richtungen eDirUp (nachhinten, also oben), eDirRight (nach rechts), eDirDown (nach vorne, also unten), eDir Left (nach links).So geht das dann die Aktionen durch, diedefiniert sind. Beim letzten else steht dann noch:

else Unhandled() ;

Diese Zeile sorgt dafür, dass auch etwas passiert,wenn der Spieler etwas macht, was im Scriptnicht festgelegt wäre (z.B., wenn kein LookAtdefiniert wäre, würde Unhandled bei "Schau anPinnwand" greifen). Unhandled lässt den Spielernur einen passenden Standardkommentar sagen,wie "Nett".Auf diese Weise können auch eigene Hotspotsdefiniert werden. Beispiel: Du wählst nun im"Room 5"-Tab über die Auswahlliste rechts inder mitte unter "hPinnwand (Hotspot; ID 7)"hHotspot12 aus (den gibt es noch nicht imRaum) und zeichnest mit denZeichenwerkzeugen eine der unterenSchubladen nach. Nun wählst du wieder dasandere Symbol links neben dem Blitz aus undgibst in das Feld "Name" "hSchubladeUnten" ein,dieser Name wird im Script verwendet. Bei "Description" schreibst du "Schublade>l" rein. Diese Beschreibung wird imSpiel angezeigt. Das ">l" wird natürlich nicht gezeigt, sondern bedeutet, dass die Standardaktion für die rechte Maustaste

Abbildung 1

Page 11: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

11

www.maniac­mansion­mania.com

Objekte

Wenn du wieder in dem "Room 5"-Tab, dort wowir "Hotspots" ausgewählt haben auf "Objects"klickst, kann du die Objekte in dem Raum bear-beiten.Anders als Hotspots sind Objekte nicht Bereicheim Hintergrund, die man anklicken kann,sondern Grafiken, die praktisch auf demHintergrund liegen und z.B. verschoben odermitgenommen werden können. Als Beispielwollen wir auf Daves Tisch einen Laptop stellen.Erst erstellen wir durch Rechtsklick auf derungefähren Position des Laptops ein neues Ob-jekt.Nun weisen wir der erscheinenden Tasse (das ist

das Zeichen dafür, dass diesem Objektnoch keine Grafik zugewiesen wurde)eben eine Grafik zu. Also gehst du nun

wieder in die Eigenschaftsliste unten rechts, dortbei Image auf die bekannten drei Punkte. Du befindest dich in Dave's Raum, also navigierst du nach Räume und dannnach Daves Zimmer. Hier siehst du die Sprites, die in Dave's Raum schon vorhanden sind. Erst einmal kopierst du dieseGrafik in die Zwischenablage:Dann klickst du rechts auf einen freien Bereich im rechten Abschnitt und wählst "Paste new sprite from clipboard...".Öffnet sich folgendes Fenster, musst du nur noch auf "Import Whole Image" klicken. Ansonsten solltest du dir dieBilddatei herunterladen und stattdessen im Kontextmenü "Import new sprite from file..." wählen. Die Farbtiefe der Bilderwird bei diesem Vorgang gleich an das Spiel angepasst, da AGS-Adventures den gewissen "Old-School"-Stil haben.

Abbildung 2

"Anschauen" ist. Es gibt hierbei >o (Öffnen), >c (Schließen), >l (Schau), >p (Nimm), >u (Benutze), >s (Drücke), >y (Ziehe)und in besonderen Fällen >t (Rede), >g (Gib), >v (Variabel, wie Türen Öffnen und Schließen) und >n (Normal). Wiegesagt, im Anhang eine Übersicht für die Aktionen. Schließlich drückst du bei dem Blitz und "Any click on hotspot"wieder auf "..." und schreibst rein:

i f ( any_cli ck_move(160, 123, eDi rUp) )

{

i f ( UsedActi on(eActLookAt) )

{

Wai t(5) ;

player. Say("Das alte Mi stdi ng klemmt di e mei ste Zei t. " ) ;

}

else Unhandled() ;

}Dein erster Hotspot ist fertig. Erinnerst du dich daran, dass du alles mit F5 ausprobieren kannst, wenn du was geänderthast?

Page 12: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

12 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

Jetzt klickst du nur noch doppelt auf den importiertenLaptop, und schon sollte er am Schreibtisch stehen.Du kannst nun noch die Position durch ziehen desObjekts anpassen, außerdem solltest du ihm eineBeschreibung (z.B. Laptop) und einen Namen (z.B.oLaptop) geben, dies funktioniert wie bei denHotspots.Damit Dave damit auch was machen kann, müssenwir wieder das Skript erweitern. Dazu gehst du aufden Blitz und dann bei "Any click on object" auf diedrei Punkte und fügst folgendes Skript ein:i f ( any_cli ck_move(187, 122, eDi rUp) )

{

i f ( UsedActi on(eActLookAt) )

{

Wai t(5) ;

player. Say("Mei n neuer Laptop. " ) ;

}

else i f ( UsedActi on(eActPi ckUp) )

{

Wai t(5) ;

//i ns Inventar

}

else i f ( UsedActi on(eActUse) )

{

Wai t(5) ;

player. Say("Dafür habe i ch j etzt kei ne Zei t. " ) ;

}

else i f ( UsedActi on(eActOpen) )

{

Wai t(5) ;

player. Say("Er i st berei ts aufgeklappt. " ) ;

}

else i f ( UsedActi on(eActClose) )

{

Wai t(5) ;

player. Say("Der kann anblei ben. " ) ;

}

else i f ( UsedActi on(eActPull) | | UsedActi on(eActPush) )

{

Wai t(5) ;

Abbildung 3

Page 13: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

13

www.maniac­mansion­mania.com

Inventargegenstände

Wie du vielleicht schon im Skript gesehen hast,war da noch keine Funktion zum nehmen desLaptops darin, lediglich ein Kommentar "insInventar" - aber so einfach ist das schließlichnicht.Du kopierst dir also als erstes wieder dieseGrafik (wenn du mal selbst eine Zeichnest - siesollte 31x19 Pixel groß sein, theoretisch möglichwären aber auch 38x22 Pixel) in dieZwischenablage und öffnest dann oben rechts in

AGS den Baum "Inventory Items", worindu siehst, dass bereits eineFernbedienung definiert wurde. Alsoklickst du rechts auf "Inventory Items"

Abbildung 4

player. Say("Ich verrücke i hn j etzt ni cht. " ) ;

}

else Unhandled() ;

}

Wenn Dave für verschiedene Aktionen an verschiedene Orte gehen soll, was in einigen Sonderfällen passieren kann,kann man das if mit der Position auch stattdessen in alle UsedAction-ifs einbauen, natürlich entsprechend mitangepassten Positionen. Hier ein gekürztes Beispiel. Beim benutzen geht er statt zum Laptop zur Tür:i f ( UsedActi on(eActLookAt) )

{

i f ( any_cli ck_move(187, 122, eDi rUp) )

{

Wai t(5) ;

player. Say("Mei n neuer Laptop. " ) ;

}

}

else i f ( UsedActi on(eActUse) )

{

i f (any_cli ck_move(273, 125, eDi rRi ght) )

{

Wai t(5) ;

player. Say("Dafür habe i ch j etzt kei ne Zei t. " ) ;

}

}

else i f ( any_cli ck_move(187, 122, eDi rUp) ) Unhandled() ;

Page 14: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

14 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

und dann auf "New inventory item".Auch hier musst du also wieder auf Image gehen und im Spritefenster in den Ordner "Inventar" gehen, dort das Spriteeinfügen und auswählen. Die Beschreibung ("Laptop>u", zu diesem ">u" später mehr) und der Name ("iLaptop") solltenatürlich auch gesetzt werden.Die Aktionen müssen wieder über den Blitz eingefügt werden. Der Unterschied hierbei ist, dass wir mehrere Funktionenaktivieren müssen, da es bei Inventargegenständen kein "Any click" gibt. Also erstellst du als erstes die "Look atinventory" Funktion:

Wai t(5) ;

player. Say("Es läuft ei ne Kommandozei le. " ) ;

Dann die "Other click on inventory" Funktion. Hierbei ist wichtig, dass statt "Unhandled" zum Schluss"Unhandled_Inventory" verwendet wird, da wir hier ja einen Inventargegenstand vorliegen haben:

i f ( UsedActi on(eActOpen) )

{

Wai t(5) ;

player. Say("Er i st berei ts aufgeklappt. " ) ;

}

else i f ( UsedActi on(eActClose) )

{

Wai t(5) ;

player. Say("Der kann anblei ben. " ) ;

}

else Unhandled_Inventory() ;

Und zu guter Letzt kommen wir nochmal zum ">u" zurück. Inventargegenstände sind ja immer mit dem Benutze-Befehlvorausgewählt. Warum habe ich also trotzdem nochmal dieses Kürzel drangehängt? Ganz einfach: Wir wollen denLaptop vielleicht später nochmal alleine benutzen, ohne zweiten Inventargegenstand. Und deshalb bedeutet das ">u" beiInventargegenständen, dass das "Benutze mit" wieder zu "Benutze" wird. Dies machst du bei diesem Fall im "Useinventory on this item" Skript (Wenn rulaman es geändert hat, bitte hier Interact on this item verwenden!):

i f ( UsedActi on(eActUse) )

{

Wai t(5) ;

player. Say("Vi ellei cht woanders. " ) ;

}

else Unhandled_Inventory() ;

Man kann noch weitere else ifs für andere Inventagegenstände definieren, also wenn zum Beispiel ein USB-Stick mit demLaptop benutzt werden soll sähe das etwa so aus:

Page 15: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

15

www.maniac­mansion­mania.com

i f ( UsedActi on(eActUse) )

{

Wai t(5) ;

player. Say("Vi ellei cht woanders. " ) ;

}

else i f ( player. Acti veInventory == i USBSti ck )

{

Wai t(5) ;

player. Say("Ich stecke den Sti ck mal rei n . . . " ) ;

}

else Unhandled_Inventory() ;

Natürlich haben wir jetzt aber noch das wichtigste vergessen. Denn immernoch ist in der "Any Click" Routine vomObjekt unser langweiliger Kommentar zu sehen, den du jetzt noch mit folgendem ersetzt, damit das Objekt verschwindetund in unser Inventar wandert, damit wir die ganzen definierten Funktionen auch verwenden können:

oLaptop. Vi si ble = false;

PlaySound(4) ;

player. AddInventory(i Laptop) ;

Kaum hat das Jahr begonnen, da wirdschon eine MMM-Episode zum Ad-venture des Jahres gewählt. Siehehierzu auch den offiziellen Pressetext:(JPJFs Episode "DER ALLTÄGLICHEWAHNSINN" hat bei derLeserbefragung des Online-Portalswww.adventure-treff.de den 1. Platzbeim Fanadventure des Jahres 2012belegt! Dabei konnte diese MMM-Folge satte 42,6% der von den Usernabgegebenen Stimmen für sichverbuchen. Glückwunsch an JPJF undCo-Autor Rayman für dieses tolleErgebnis!)

Die Kopfnuss

Das Wort bezeichnet eine Finteschlau gemacht mit Druckertinteoder auch die bunte Prachtdie jedem Gärtner Freude machtLösung der letzten Ausgabe:Fall / Fall (Leo)

Page 16: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

16 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

RezeptionBetrete das Hotel und nach derEinleitung gehst du in den erstenStock ins Zimmer hinten rechts undöffnest die Schublade am Spiegel-schrank. Du erhältst einenSchraubendreher.Weiter geht es in den zweiten Stock.Da gehst du in das Zimmer hintenlinks und ziehst am Vorhang undbekommst ein Seil. Dann gehst du indas Zimmer vorne rechts und öffnestdie Schublade, du bekommst eineSteckdose. Dann gehst du gerade ausin die Suite, schaust dir den Kaminan und erhältst ein Brecheisen,nimmst den Eimer beim Bett mit undbenutzt zweimal den Kamin. VomDach nimmst du die Plastikflaschemit und gehst runter in die Biblio-thek.

Die BibliothekAus der Bibliothek nimmst du dir dieSprungfeder mit und schaust dir aufdem Boden das vordere Buch an. Nungehst du wieder in den Flur und dann

ins Café. Dort öffnest du den Schrankvorne links und nimmst denHeizlüfter mit und vom Schrank dasSalz.Weiter geht es in die Küche, dabenutzt du die Sprungfeder mit demKühlschrank und ziehst am selbigem.Nimm das Kabel mit und gehe wiederin die Bibliothek. Da ziehst du an derlosen Tapete, benutzt die Steckdosemit den Kabel. Dann benutzt du den

Schraubendreher mit der Steckdoseund danach das Kabel mit derSteckdose.

DraußenNun begibst du dich nach draußen,wo du den Heizlüfter mit dem Kabelverbindest und den Heizlüfterbenutzt. Nimm die Schaufel undbenutze sie mit der Klappe, dann dasBrecheisen und öffnest die Klappe.Im Keller schaust du unter demSchrank, du erhältst Handschuhe diedu sogleich benutzt um an denSchlüssel zu gelangen. Wieder rauszum Häuschen und benutze dieSchlüssel mit dem Vorhängeschloss,öffne die Tür und nimm die Dose unddas Wappen mit.Jetzt gehst du in die Küche, nimmstden Topf vom Haken und benutztdiesen mit dem Herd, öffne denBackofen und benutze denDosenöffner mit der Dose, schütte dieSuppe in den Topf und benutze denHerd. Nun kannst du versuchen denTopf zu nehmen, was dir aber nichtgelingt.

Lösung - Episode 87: Das Geheimnisdes Blakes Hotel von Ronville

Lösung - Episode 87: Das Geheimnis des Blakes Hotel von RonvilleSonntag, 01. Juli 2012 – ZAK

Page 17: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

17

www.maniac­mansion­mania.com

Wieder die BibliothekGehe in die Bibliothek und benutzedas hintere Buch vom Boden, gehewieder in die Küche und siehe da, dieSuppe ist verbrannt. Nun gehst duraus in den Flur, weiter ins Büro,benutzt das Wappen mit dem Holz-schild. Gehe in den Geheimgang,nimm die Dose hinter dem Schrankmit. Wieder zurück in der Küche, öff-nest du den Backofen und danach mitdem Dosenöffner die Dose, schüttedie Suppe in den Topf, schalte denHerd an und nimm den Topf mit.Nun ziehst du am Eimer benutzt denHenkel mit dem Topf und begibstdich in den Keller. Benutzte den Topfmit der Suppe am Haken und esöffnet sich ein Geheimgang, gehe inden Gang, weiter durch zum

nächsten Gang und benutze zweimalden Wagon.

HöhleIn der nächsten Höhle nimmst du dirden Trichter (links neben dem Fass)mit und schaust dir in der nächstenHöhle die Pflanzen an und begibstdich wieder in die Bibliothek. Dortbenutzt du das vordere Buch vomBoden und gehst in die Küche.In der Küche benutzt du den Eimermit der Spüle, benutzt denWasserhahn, dann die leere Dose mitdem Wasser, nimmst dir den Essigund benutzt diesen mit der leerenDose, dann den Essig mit dem Eimer.Dieselbe Prozedur machst du mitdem Rum, Salz und dem Wasser.Dann benutzt du die Handschuhe

und benutzt dann die Plastikflaschemit dem Pflanzengift.Nun gehst du wieder in den Keller,benutzt da die Schlüssel mit demSchrank welchen du nun öffnenkannst und bekommst einenZerstäuber. Nun benutzt du denTrichter mit dem Zerstäuber, danndie Plastikflasche mit demPflanzengift an dem Zerstäuber mitdem Trichter und gehst wieder in dieHöhle mit den Pflanzen und benutztden gefüllten Zerstäuber mit denPflanzen und kommst in eine weitereHöhle.Da benutzt du das Seil mit der Ketteund benutzt danach das Seil. Nunbenutzt du das Brecheisen mit demMedaillon. Nun begibst du dichzurück zur Rezeption und benutzt dasMedaillon mit dem Tresen.

Lösung - Episode 81:Bernard bricht aus

Lösung - Episode 81: Bernard bricht ausMittwoch, 06. Januar 2013 – RulamanBernard wurde mal wieder in seinem Zimmer eingesperrt. Dabei muss er doch dringend zur Eierkopf Preisverleihung.Also … nichts wie raus, aus dem Zimmer und dem Haus.

Bernards ZimmerDer einfachste Weg ein Zimmer zuverlassen führt immer über die Tür.Also versuchen wir diese doch malzu öffnen. Pech – ein Sicherheits-schloss. Also Suchen wir weiter imZimmer. In einer Schublade ist leidernichts, die andere ist verschlossen.Schauen wir doch mal unter das Bett(Schau, Nimm). Wir erhalten einenLukenöffner. Auf die Tür angewandtsagt er uns, dass wir die Tür nur mitdem passenden Schlüssel aufbekom-men. Und dass sich der im Zimmerbefindet, ist unwahrscheinlich. Alsomüssen wir einen anderen Weg ausdem Zimmer suchen. Das Laken unddas Kissen nehmen wir mal vom Bettmit, wobei wir letzteres gleich maluntersuchen (Schau).Das Fenster eignet sich doch prima,um als Fluchweg zu dienen. Also

schlagen wir die Scheibe doch ein-fach mit dem Lukenöffner ein. DaBernard nicht aus dem Fenster sprin-gen will, benutzen wir das Bettlaken.Wir schneiden es mit dem Taschen-messer in kleine Streifen und Ber-nard macht sofort ein Fluchtseildaraus.Leider ist das Seil nicht fest genug.Wir müssen es verstärken. Außerdemwäre es doch ratsam, den Eierkopf-preis vom Vorjahr mitzunehmen.Quasi als Beleg. Zum Glück ist er nurangeklebt. Die Klebestreifen nehmenwir natürlich mit und benutzen siemit dem Seil. Jetzt können wir dasSeil mit dem Fenster benutzen unddas Seil erneut alleine benutzen umdas Zimmer zu verlassen.

Garage

Da Bernard nicht nach links gehenmöchte und rechts nichts mehr ist.schauen wir doch einfach mal in dieGarage.Dort nehmen wir das Glas und denBehälter. Die Flüssigkeit im Glasschüttet Bernard einfach aus. DenBehälter müssen wir leider mit demTaschenmesser öffnen. Dafür erhal-ten wir einen Schlüssel. Mit diesemöffnen wir die Tür und gehen durch.Wir finden unser Fahrrad, das aberleider abgesperrt wurde. Wieder zu-rück in der Garage suchen wir dasRegal weiter ab und finden doch tat-sächlich eine Tüte Chips hinter demPapierstapel.War da nicht eine Mauseloch? Ver-suchen wir doch mal unser Glück.Leider klappt der Versuch die Chip-stüte mit dem Loch zu verwendennicht. Aber wenn wir die Chips in

Page 18: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

18 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

das Glas füllen und dann vor dasLoch halten, erhalten wir Bernard al-te Laborratte. Von dieser nimmt erselbstständig den Draht und lässt dieRatte wieder laufen. Dann verwen-den wir den Draht mit dem Schlossam Fahrrad und können zur Preisver-leihung fahren.

PreisverleihungLeider lässt uns die Dame nicht zurVerleihung, da unser Name nicht aufder Liste steht. Wir müssen also da-für Sorgen, dass er dort erscheint.Die Dame muss abgelenkt werden.Hatte sie nicht Hunger? Locken wirsie doch in die Kantine. Schauen wirerst einmal auf die Zettel an derWand. Dort erfahren wir, dass dieRezeptionistin gerne Fisch habenmöchte.Etwas weiter rechts finden wir einenVentilator. Der wäre doch geeignetum einen fischigen Geruch zu ver-breiten. Leider hat er kein Kabel.Aber die Lampe daneben. Diese neh-

men wir und berabeiten sie danachmit dem Taschenmesser. Danach be-nutzen wir das Kabel mit dem Venti-lator. Perfekt. Doch woherbekommen wir unseren Fischduft.Etwas weiter links war doch einMülleimer. Wir wühlen darin herumund entdecken eine Plastiktüte. Wirschauen sie an und merken, dass sie

nach Fisch riecht. Also auf zum Ven-tilator und drübergestülpt.Bernard trägt sich in die Liste ein und– Voilá.Der Rest ist selbstlaufend. Genießenwir die Show.

Das eigene Projekt sichernSonntag, 10. Februar 2013 – RulamanInstallation

Das eigene Projekt schreitet schnell voran. Es ist schon fast fertig.Nur noch eine Kleinigkeit und – Nein, Absturz und die Dateien sind hinüber. Die Backups im selben Verzeichnis sindunbrauchbar, da sie einen Zustand haben, der mit den neue Sprite-Dateien nichts anfangen können und das Backup istschon älter als ein Monat. Was wäre es jetzt schön, eine Sicherung zu haben, die vielleicht nur wenige Tage alt ist. Hiergreift ein Repository – Eine Art Archiv mit Historie.Ein solches Repository nimmt einem nicht die Arbeit des Sicherns ab. Sie bietet aber viele Vorteile, abseits der Siche-rungsfunktion. Durch die Historie, hat man jederzeit Zugriff auf seinen Entwicklungsverlauf. Man sieht, was man ge-macht hat. Man kann auf ältere Stände zurück und sich ansehen, was man verloren hat, falls etwas nicht mehrfunktionieren sollte.Wer sich bisher nicht abgeschreckt fühlt, der kann mit mir weiter auf eine Reise gehen, damit Fluchereien in Zukunftkürzer und weniger Intensiv ausfallen. – Nochmal. Ein Repository nimmt einem keine Arbeit ab. Im ersten Moment ge-neriert es scheinbar mehr Arbeit. Aber im Endeffekt wirdjeder, der sich darauf einlässt belohnt werden.Zuerst ladet ihr die Repo-Software TortoiseHg von [1] her-unter. Aktuell ist die Version 2.7 mit Mercurial Release2.4.2.Folgt den Anweisungen zur Installation und voilá – Fertig.Das System ist jetzt fertig und zum Einsatz bereit.

Sicherungsebenen

Repository um das aktuelle MMM-SpieleverzeichnisRepository auf externe Platte oder USB-Stick klonenRepository als privat im Internet sichern

Das eigene Projekt sichern – Repository

Page 19: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

19

www.maniac­mansion­mania.com

Begrifflichkeiten

Der Begriff Repository ist nicht mit einem speziellen Programm verknüft, sondern ist ein Oberbegriff für eine be-stimmte Arten von Software. Es gibt bestimmte Art von Repositories. Es gibt zentrale und dezentrale (Ich gehe hiernicht darauf ein). Dann gibt es verschiedene Repo-Systeme. Als da wären (Auszug) git, Mercurial, cvs, svn, rcs, …In diesem Tutorial geht es um das Repo-System Mercurial. Unter Windows vertreten durch TortoiseHg.

Arbeiten

Jetzt könnt ihr bereits mit dem WindowsExplorer (oder jedem anderen Datei-Ma-nager, der die Explorer-Shell-Erweite-rung unterstützt) in das Verzeichniswechseln, in dem ihr euer Spiel liegenhabt. Jetzt wäre eine gute Gelegenheitnochmals die letzte Sicherung zu ma-chen, bevor es ab in das Repo geht. Gehtdahin, wo sich auch die Datei Game.agfbefindet. Dort macht ihr einenRechtsklick und fahrt mit der Maus überTortoiseHg – danach auf Create Reposito-ry here. Und schon haben wir ein Repo-sitory. Allerdings noch ohne Inhalt.Wenn wir jetzt den Inhalt hinzufügenwürden, dann hätten wir alle Dateien imRepository, auch die, die wir nicht dorthaben wollen.Bei der Einrichtung eines Repos, haben wir TortoiseHg gesagt, dasswir eine spezielle Datei haben wollen (.hgignore). Dieser fügen wirnun ein paar Zeilen hinzu (siehe Kasten).In dieser Datei stehen Anweisungen, die TortoiseHg sagen, welcheDateien das Repo ignorieren soll. Zum einen wären das Dateien, dieim AudioCache-Verzeichnis stehen. Zum anderen Backup-Dateien undExecutables.So, jetzt geht es los. Wieder geht es über den Explorer: Rechtsklick und dann HgWorkbench (siehe Bild). Der Bildschirmsieht bei euch vielleicht etwas ander aus, weil der linke Teil fehlen mag, aber der restlicheTeil ist eh der wichtigste. Im oberen Teil seht ihr die Hostorie. Da noch nichts eingechecktwurde, steht hier nur ein Eintrag. Klickt diesen einmal an. Im unteren Teil des Fensters er-scheint nun eine Dateiliste, die alle Änderungen anzeigt. Neue Dateien, geänderte Dateien,gelöschte Dateien, … Nur durch die Farbe und einen Buchstaben davor unterschieden. DasFenster daneben ist zweigeteilt. Im oberen Teil steh die Nachricht, die ihr dem System mit-teilen müsst. Darunter sind die Unterschiede der aktuell gewählten Datei, zur Vorgänger-version. Schreibt also in den Teil mit der Nachricht folgendes: Erstcheckin. Wenn ich einneues Repo aus einem bereits bestehenden Spiel anlege, dann schreibe ich immer Ersteckin,da ich keine Hostorie habe. Sonst schreibe ich auch gerne: Übernahme aus Starterpack xy.Wenn ihr mit eurem Text zufrieden seit, dann klickt ihr auf Commit (Übernehmen) undhabt euren ersten Checkin-Vorgang erfolgreich absolviert.Wenn ihr euch um Festplattencrashs nicht kümmert, oder euch die egal sind, dann könntihr jetzt aufhören weiterzulesen. Vergesst aber nicht, immer wieder (am Besten einmal am

syntax: glob_Debug/*.exeAudioCache/backup_acsprset.sprCompiled/*.traCompiled/*.voxCompiled/*.exeGame.agf.userGame.agf.bakagssave.999*.exe

Page 20: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

20 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

[1]: http://tortoisehg.bitbucket.org/[2]: http://www.maniac-mansion-mania.de/forum/index.php?topic=2144.0

Tag, wenn ihr intensiv arbeitet, oder mindestens einmal in der Woche, wenn ihr daran gearbeitet habt, einzuchecken undeinen passenden Text zu finden.Sichern

Jetzt geht es daran, die Arbeit von vielen Eincheckvorgängen zu sichern. Sei es auf einen USB-Stick, oder auf eine exter-ne Festplatte. (Die MMM-Starterpacks sind z.B. auch im Internet verfügbar, falls ich mich nicht mehr darum kümmernkann.)Sucht euch auf einer externen Festplatte oder einem USB-Stick ein Verzeichnis, das ihr für eure Repositories hernehmenmöchtet. (D:\Repositores\) In diesem Verzeichnis erstellt ihr z.B. folgende Ordnerstruktur. \MMM\Games\EpisodeX\. Dorterstellt ihr wieder ein Repository. Dieses Mal aber ohne .hgignore. Nehmt dazu einfach den Haken raus. Merkt euch denPfad oder kopiert ihn (D:\Repositories\MMM\Games\EpisodeX).Jetzt wird die obere Leiste interessant. Die Symbole sind (von links nach rechts) ankommende Änderungen prüfen (zeigtan, was aus einem entfernten Repositoryübernommen würde), ankommende Änderungen übernehmen (eigene historiewird um neue Einträge ergänzt), ausgehende Änderungen Prüfen (schauen, welche neuen Einträge hochgeladen werdenwürden), Daten hochspielen (schreibt neue Einträge in das entfernte Repo).Die nächsten vier schalten teilweise in eineandere Ansicht um. Nur Ansicht, Commit,

Page 21: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

21

www.maniac­mansion­mania.com

Sync, Dateien im Repo, Suchen. Wir brauchen jetzt das dritte Symbol, der zweiten Gruppe (die zwei sich drehenden grü-nen Pfeile). Dort zeigt sich dann ein Text Remote Repository: Dieser, sowie das Feld darunter ist noch leer. Fügt dort denkopierten Pfad ein, der externen Festplatte, oder dem USB-Stick und drückt danach die Diskette am Ende der Zeile. Jetzthabe ihr beide Repos miteinander verbunden. Eure Daten könnt ihr nun hochladen (viertes Symbol der ersten Gruppe).Sollten noch Fragen sein, dann meldet euch einfach im Forum, oder schaut im Handbuch nach. Nach einer kleinen Ein-arbeitungszeit, wird euch die Arbeit mit dem Repo schnell von der Hand gehen.

1. Es wird immer nur die Interaction „Any click on …“ verwendet … keine anderen!2. Es gibt im Global Script definierte Funktionen, die in Interaction-Scripts verwendet werden können und die Scriptsteilweise wesentlich verkürzen:a) FaceDirectionAnstelle von FaceLocation kann FaceDirection verwendet werden, wenn der Character in eine bestimmte Richtung undnicht auf einen bestimmten Punkt schauen soll:Code:player. FaceDi recti on(eDi recti on di r) ;

Für dir sind folgende Werte möglich: eDi rUp, eDi rLeft, eDi rRi ght, eDi rDown

Hierdurch wird das Script auch leichter lesbar.b) EnterRoomAnstelle von NewRoom kann der Playercharacter mit EnterRoom in einen neuen Raum an eine bestimmte Stellegeschickt werden.Code:player. EnterRoom(i nt room, i nt x, i nt y, eDi recti on di r) ;

Für „dir“ werden die Konstanten von FaceDirection verwendet.c) any_click_moveDie folgende Funktion bewegt den PlayerCharacter; die weitere Ausführung des Scripts wird unterbrochen. DieseBewegung kann der Spieler durch Klicken mit der Maus abbrechen. Die Funktion gibt zurück, ob das Ziel erreicht oderabgebrochen wurde.Code:any_cli ck_move(i nt x, i nt y, eDi recti on di r) ;

Bewegung auf Walkable Area zu den angegebene Koordinaten.3. Scripts für die Interaction „any click on …“a) Ein Hotspot oder Objekt, zu dem nur hingelaufen werden kann, für alle anderen Interactionen wird Unhandled aufge-rufen:Code:i f ( any_cli ck_move(<x>, <y>, <di r>) == 0 )

{

Hilfreiche Funktionen in MMM

Page 22: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

22 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

Unhandled () ;

}

dir: siehe FaceDirection; die Werte in <> müssen natürlich ersetzt werden.b) Ein normaler Hotspot oder ein normales ObjektCode:

i f (any_cli ck_move(<x>, <y>, <di r>) )

{

i f (UsedActi on(eActWalkTo) )

{

//Wai t(5) ;

}

else i f (UsedActi on(eActLookAt) )

{

Wai t(5) ;

player. Say("") ;

}

else i f (UsedActi on(eActPi ckUp) )

{

Wai t(5) ;

player. Say("") ;

}

else i f (UsedActi on(eActUse) )

{

Wai t(5) ;

player. Say("") ;

}

else i f (UsedActi on(eActOpen) )

{

Wai t(5) ;

player. Say("") ;

}

else i f (UsedActi on(eActClose) )

{

Wai t(5) ;

player. Say("") ;

}

else i f (UsedActi on(eActPull) )

{

Wai t(5) ;

player. Say("") ;

Page 23: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

23

www.maniac­mansion­mania.com

}

else i f (UsedActi on(eActPush) )

{

Wai t(5) ;

player. Say("") ;

}

else i f (UsedActi on(eActUseInventory) )

{

Wai t(5) ;

player. Say("") ;

}

else Unhandled() ;

}

}

4. Den Türen (oder ähnlichen Arten von Raumwechsel) widme ich einen eigenen Punkt.Türen können entweder zu, offen oder verschlossen sein. Manche können einfach so geöffnet werden, für anderebraucht man einen Schlüssel. Diese Begriffe lassen sich auch umdefinieren: Ein Gartentor, das eingerostet ist und sichdaher nicht einfach so öffnen lässt ist verschlossen. Der Schlüssel ist vielleicht ein Ölkännchen.Grundsätzlich werden Türen im Hintergrund als geschlossen gezeichnet, ein darüber gelegtes Objekt zeigt die geöffneteTüre. Das Häkchen vor "Object is initially visible" wird entfernt, an die Bezeichnung der Türe in object name wird „>v“angehängt.Seit den neuen Starterpacks hat sich die Funktionsweise der Türen verändert – und vor allem – vereinfacht.Zunächst einmal ist in der Datei Doors.ash für jede Tür eine Zeile einzuführen. Und zwar in der enum eDoorNumCode:enum eDoorNum

{

eDoorNumHaustuer,

};

Hängt eure Tür einfach darunter (Komma nicht vergessen)Weiter geht es mit der Datei Doors.asc. In der Funktion void DoorSetup() wird für jede Tür ein passender Eintrag ge-macht. Die Positionen dürften selbsterklärend sein,.Code:

Door[eDoorNumHaustuer] . i _GlobalInt = eDoorClosed;

// Muster: eDoorClosed, eDoorOpen, eDoorLocked

Door[eDoorNumHaustuer] . l_Room = 5;

Door[eDoorNumHaustuer] . i _XPosi ti on = 402;

Door[eDoorNumHaustuer] . i _YPosi ti on = 98;

Page 24: Preis: 2,64$ #6€¦ · Endres’ Tutorial Teil 2 9 Lösung – Episode 87 16 Lösung – Episode 81 17 ... Scribus Made. Weihnachten ist da und wir blicken in diesem Heft zurück

24 MMM­Magazin

maniacmansionmaniawww.maniac­mansion­mania.com

Door[eDoorNumHaustuer] . l_Di recti on = eDi rUp;

Door[eDoorNumHaustuer] . l_NewRoom = 6;

Door[eDoorNumHaustuer] . i _NewXPosi ti on = 69;

Door[eDoorNumHaustuer] . i _NewYPosi ti on = 133;

Door[eDoorNumHaustuer] . l_NewDi recti on = eDi rRi ght;

Door[eDoorNumHaustuer] . s_LookAt = "Das i st di e Haustür. " ;

Door[eDoorNumHaustuer] . s_NewLookAt = "Di e Haustür. " ;

Dort wird für jede Tür eingetragen, wo der Spieler im entsprechenden Raum stehen muss, oder präziser gesagt, hinlau-fen muss, damit er in den neuen Raum an die Stelle gebracht wird.In der „any click on hotspot“-Interaktion von Hotspot 3 in Raum 2 wird je nach gewünschter Öffnungsart eines derfolgenden Scripts verwendet:a) Normale TüreDiese Türe lässt sich einfach von Hand öffnen und es ertönen die Standardsounds (2 beim Öffnen und 3 beim Schließen).Code:i f ( Door[eDoorNumKami n] . Cli ck() == 0 ) Unhandled() ;

b) Spezielle TürCode:i f ( Door[eDoorNumKueche] . Cli ckSpeci al(2, 3, 1000, 0) == 0 ) Unhandled() ;

Hier kann nun allerdings die Sounds angegeben werden. (2, 3) Mit key (1000) wird das InvItem bezeichnet, das die Türeöffnet, wenn sie verschlossen ist. Ist key=-1, dann kann die verschlossene Türe auch von Hand geöffnet werden. Wirdeine offene Türe geschlossen, dann bezeichnet closevalue (0) die Art: 0=zu, 2=verschlossen.Bsp.: Verschlossene TürDie Tür kann in Raum 2 mit dem Schlüssel 7 aufgeschlossen werden, einmal aufgeschlossen, bleibt sie unverschlossenund kann künftig von Hand geöffnet werden.Raum 2: Key = 7; closevalue = 0;Raum 5: normale TürBsp.: HaustüreZum Öffnen der Haustüre benötigt man in Raum 2 einen Schlüssel 7, in Raum 5 kann sie von Hand geöffnet werden:Raum 2: Key = 7; closevalue = 2Raum 5: Key = -1; closevalue = 2Bsp.: Tür ist nur einseitig öffenbar, bspw. weil auf der anderen Seite kein Türgriff ist.Raum 2: Key = -1; closevalue = 2Raum 5: normale Tür