Beiträge von Kojote

    Also wie ich raus gefunden habe, funktioniert der Code oben im MV. Im MZ leider nicht mehr. Hab jetzt nen Plugin gefunden mit dem das geht, aber leider wieder ein Plugin mehr in der Liste. Was geht versuch ich immer mit Events oder Scripts zu lösen.

    Man müsste echt mal ne Austauschrunde mit den Resourcen machen. :D


    Ressourcen sind so echt das wichtigste was es für den Maker gibt und davon kann man prinzipiell nie genug haben. Wenn ich was finde, lade ich es immer gleich herunter. Vieles ist jetzt schon nicht mehr zugänglich. Durch Zufall vor ein paar Tagen die Ressourcen von whtDragon gefunden, alle Bildlinks DOWN. Echt ein Jammer! :(

    Ich soriere immer nach Künstler und dann in Unterordnern nach Charset, Picture, Tileset und so weiter. Hab gerade mal geschaut, meine Sammlung ist 3,37 GB groß mit 17.251 Dateien. :D


    Wobei ich bei dir schon gesehen habe, dass du ganz viele Tilesets und Co. hast, die nicht auf meiner Festplatte zu finden sind. Meine Sammelwut ist also noch nicht zu Ende. :( :D


    Du warst im Spielzeugdesign tätig? Was hast du denn da gemacht, jetzt bin ich neugierig!

    Es würde um die selbe Variable gehen, Maker ist der MZ. Habe gerade mal einen Test gemacht.


    Code
    [definition='2','0']Variable[/definition] 15 = 0.
    Danach [definition='2','0']Variable[/definition] 15 gesetzt auf den Wert 5.

    Anschließend den Code genutzt:

    Code
    function save () {
    var fs = require ("Variablen Test");
    fs.writeFileSync ("./ba", $gameVariables.value(15));
    }

    Funktioniert leider nicht.


    EDIT:


    Anscheinend muss man das so schreiben, fs ist keine Variable sondern von NodeJS ein Modul:

    Code
    function save () {
    var fs = require ("fs");
    fs.writeFileSync ("./ba", $gameVariables.value(15));
    }

    Funktioniert aber trotzdem net.

    Hi!


    Jetzt mal eine ganz verrückte Frage! Ist es möglich eine Variable oder einen Schalter zu speichern, die beim Laden nicht verloren geht?


    Beispiel:


    Variable A = 0.


    Ich speichere das Spiel.


    Jetzt ändere ich Variable A = 1 und lade danach das Spiel.


    Logischerweise ist nach dem Laden Variable A wieder 0, da das ändern nicht gespeichert wurde.


    Ist es möglich dies zu umgehen?


    Hier mal mein warming up von heute früh, hab mir nen Zeitlimit von einer Stunde gesetzt. Hab ne ganze Pinterestwand mit irgendwelchen Insekten oder Unterwasserwesen, die ich zum Üben benutze.

    Ich hoffe die Tierchen sind klein, im großen Maßstab will man denen sicherlich nicht begegnen.^^


    Ansonsten gefallen sie mir sehr gut! :D

    Bei Overlaymapping muss man eindeutig Kosten und Nutzen abwägen. Je nach dem wie viel Zeit man in sein Projekt investieren kann macht das schon ein wenig was aus.

    Wir haben uns bei unserem neuen Projekt so entschieden, dass wir normales Mapping nutzen um so gut vorran zu kommen und wir eventuell nachher die ein oder andere Karte noch einmal mit Overlay überarbeiten. Das erspart auch den Ärger, dass wenn man noch einmal eine Änderung vornimmt das im Maker in ein paar Minuten erledigt ist, im Overlay ein rießen Berg Arbeit wird.


    Wenn ich jetzt mal hoch rechte mit der letzten Overlaymap die ich machte. Alles in allem fast eine Woche Arbeit für eine Map. Bei 100 Maps, die bei einem großen Spiel schnell zusammen kommen sind das 100 Wochen. Das sind zwei Jahre Projektarbeit und das nur wenn ich das Tempo halte und nicht zwischendurch mal etwas anderes mache. Wenn man nun noch Planung und andere Sachen einrechnet, wäre ich mit Overlay bei einem 100 Maps Spiel bei gut und gern drei Jahren. 8o


    Rechne ich mal dagegen, dass ich eine "normale" Map in gut zwei Tagen fertig habe, wenn ich genau so viel Zeit rein stecke, brauche ich für das selbe Projekt "nur" ein Jahr.

    Kojote sieht wirklich gut aus, bin schon gespannt, wie es da weiter geht :)
    Das einzige, das mich an dem ganzen Screen stört, ist der "Sprechblasenpfeil", dass der nicht direkt an der Leiste von der Textbox anknüpft, sondern als eigenständiges Ding wirkt. Ist jetzt aber wirklich nur Nitpicking auf höchstem Niveau.


    lg Flipely

    Was meinst du genau damit? Wie dieser Pfeil an der Box hängt?

    Der Schadensmanager


    Tja, jetzt fahren zwar unsere Stacheln schön ein und aus, das bringt uns aber nicht viel. Wir müssen ja noch festlegen, wann der Spieler wo hin laufen kann, ohne das ihn etwas piekst und tötet bzw. er verletzt wird. Aus diesem Grund nutzen wir Regions IDs. Einige werden sich nun fragen: Was sind Region IDs? Das ist recht einfach zu erklären.


    Zwei der eingekreisten Symbole dürften euch bekannt vor kommen – „Karte“, „Events“ und gleich daneben ist „Regions“. Klickt mal drauf. Die Karte wird nun etwas blass und die Tilesets sind weg. Stattdessen sind da Nummern. Dies sind die Regions IDs. Klickt man sie an und „zeichnet“damit auf der Karte herum, legt man unsichtbare Markierungen aus. Diese nutzen wir nun zur Markierung, damit der Maker weiß, wo unser kleiner Protagonist steht.


    :pfeilblaurechts: Auf alle Flächen, wo Events des „Rasters I“ drauf sind, legen wir die Regions ID 1.

    :pfeilblaurechts: Auf alle Flächen, wo Events des „Rasters II“ drauf sind, legen wir die Regions ID 2.


    Nun müsste es so bei euch aussehen:



    Regions IDs gesetzt? Dann geht es nun zu den Events zurück.


    Wir brauchen ein neues Event mit dem Namen „Schadensmanager“.


    Einzige Einstellung:


    :pfeilblaurechts: Auslöser: Paralleler Prozess


    Nun zum Inhalt:


    :pfeilblaurechts: Warte = 2 Frames (wieder eine Sicherung gegen Lags)

    :pfeilblaurechts: Variable Koordinate Spieler X

    :pfeilblaurechts: Variable Koordinate Spieler Y

    :pfeilblaurechts: Variable Feld ID


    Dies sind die Variablen, die wir brauchen. Spieler X und Y einzustellen ist recht einfach. Am besten zu erklären mit einem Bild, hier als Beispiel für die X Koordinate. Y Funktioniert genauso:



    Feld ID Infos ruft man etwas anders ab. Feld ID Info ist auf Seite drei der Eventbefehle zu finden.


    :pfeilblaurechts: Wir setzen den Variablennamen ein

    :pfeilblaurechts: Info-Typ ist Region ID

    :pfeilblaurechts: Bestimmungsort wird durch die Variablen X und Y des Spielers ermittelt


    Wir fragen also ab, auf welchem Regions-ID-Feld der Spieler ist.



    Fertig sieht der ganze Spaß nun so aus:



    An dieser Stelle kommen wir nun zu den beiden Schaltern, die wir vorhin gesetzt haben. Ihr erinnert euch sicherlich an die Schalter „Raster I“ und „Raster II“.


    Wir hatten es so gemacht, dass der Schalter „Raster I“ an ist, wenn die Stacheln ausgefahren sind, dasselbe bei „Raster II“.


    Darum fragen wir nun ab:


    :pfeilblaurechts: Bedingung Schalter „Raster IAN?

    Wenn nein, passiert nichts wenn ja, beginnt die nächste Bedingung.


    :pfeilblaurechts: Bedingung Regions ID = 1?


    Genau hier für brauchten wir die Regions IDs! Ist die Regions ID nicht 1, passiert gar nichts. Wäre aber Regions ID so groß wie 1, wissen wir also, der Spieler steht auf Regions ID 1. Was bedeutet das?


    :achtung: Durch den Schalter „Raster I“ wissen wir bereits, dass die Speere ausgefahren sind. Dadurch, dass die Regions ID die Größe 1 hat, wissen wir auch, dass der Spieler auf einem Feld stehen muss, der zu „Raster I“ gehört, dessen Speere ja ausgefahren sind. Was passiert, wenn der Protagonist Bekanntschaft mit ein paar Speeren macht?


    Bei mir passiert folgendes:

    :pfeilblaurechts: Der SE Sound „Cry2“ wird abgespielt

    :pfeilblaurechts: Warte 50 Frames – muss hier sein, weil der Sound gar nicht abgespielt werden würde und der Maker weiter hetzt

    :pfeilblaurechts: Der Zustand des Spielers wird geändert in Tod – bedeutet Game Over!


    Das Selbe wiederholen wir bei „Regions ID = 2“ und Schalter „Raster 2“:



    Für die, die nicht wissen, wie man den Zustand des Spielers ändert:



    :achtung: Im übrigen kann man außer der gesamten Gruppe auch einstellen, dass nur ein Bestimmter aus der Gruppe stirbt, ich habe ich es jetzt so gelassen, da es egal ist.


    Speichert noch zum Schluss mit OK ab.


    Damit sind wir am Ende des Tutorials angelangt. Ich wünsche euch viel Spaß beim Nachbau! Für alle Detailverliebten, geht es im nächsten Kapitel noch ein wenig weiter.



    Ein klein wenig Detailverliebtheit


    Willkommen im Bereich für diejenigen, die detailverliebt sind!


    Messerscharfe Speere schießen aus dem Boden aber ... Moment mal! Die machen keine Geräusche? Unglaubwürdig, darum spielen wir noch einmal mit Regions IDs herum und erweitern unsere Karte damit noch etwas.


    :achtung: Mit den Regions IDs steuern wir unsere Geräusche, dabei gilt: Um so weiter weg, um so größer die Regions ID.



    Der nächste Schritt ist also ein neues Event, welches wir „Klingengeräusch“ nennen.


    :pfeilblaurechts: Bedingung: Ein neuer Schalter namens „Klingengeräusch 1“ – wir arbeiten hier mit zwei Geräuschen, einmal, wenn die Klingen ausgefahren werden (Schalter „Klingengeräusch 2“) und einmal, wenn die Klingen eingefahren werden (Schalter „Klingengeräusch 1“). Wo wir die Schalter setzen, erkläre ich gleich.

    :pfeilblaurechts: Auslöser: Paralleler Prozess


    Die Regions ID, die wir brauchen, wird ja schon im Event „Schadensmanager“ abgefragt, darauf können wir in diesem Event gleich aufbauen.


    Zum Inhalt:


    :pfeilblaurechts: Wir fragen ab: ist die Regions ID 1, also steht der Spieler auf einem Regions ID 1 Feld?


    Wenn nein, passiert nichts.


    Wenn ja, passiert folgendes:


    :pfeilblaurechts: Der SE Sound „Sword3“ wird abgespielt, Lautstärke 80%

    :pfeilblaurechts: Schalter „Klingengeräusch 1“ wird ausgeschaltet


    Aber warum?


    :achtung: Ganz einfach: Die Speere fahren zusammen aus, da brauchen wir nur ein Geräusch. Schalten wir nun diesen Schalter nicht aus, würde der SE durch den parallelen Prozess in jedem Frame neu abgespielt werden. Hört sich nicht sehr schön an und wir brauchen den Sound ja nur einmal.


    Andernfalls:


    :pfeilblaurechts: Wir fragen ab: ist die Regions ID 2, also steht der Spieler auf einem Regions ID 2 Feld? Wenn nein, passiert nichts.


    Wenn ja, passiert folgendes:


    :pfeilblaurechts: Der SE Sound „Sword3“ wird abgespielt, Lautstärke 80%

    :pfeilblaurechts: Schalter „Klingengeräusch 1“ wird ausgeschaltet


    Andernfalls:


    :pfeilblaurechts: Wir fragen ab: ist die Regions ID 3, also steht der Spieler auf einem Regions ID 3 Feld? Wenn nein, passiert nichts.


    Wenn ja, passiert folgendes:


    :pfeilblaurechts: Der SE Sound „Sword3“ wird abgespielt, Lautstärke 70%

    :pfeilblaurechts: Schalter „Klingengeräusch 1“ wird ausgeschaltet


    Andernfalls:


    :pfeilblaurechts: Wir fragen ab: ist die Regions ID 4, also steht der Spieler auf einem Regions ID 4 Feld?

    Wenn nein, passiert nichts.


    Wenn ja, passiert folgendes:


    :pfeilblaurechts: Der SE Sound „Sword3“ wird abgespielt, Lautstärke 60%

    :pfeilblaurechts: Schalter „Klingengeräusch 1“ wird ausgeschaltet


    etc.


    Danach müsste es bei euch so aussehen:



    Damit haben wir die erste Reiterseite fertig. Diese kopieren wir uns jetzt.


    Änderungen an der zweiten Reiterseite:


    :pfeilblaurechts: Bedingung: Ein neuer Schalter Namens „Klingengeräusch 2

    :pfeilblaurechts: Die Schalter im Inhalt die deaktiviert werden auf „Klingengeräusch 2“ ändern

    :pfeilblaurechts: Das SE Geräusch auf „Sword4“ ändern


    Fertig! Damit kann das Event mit OK geschlossen und gespeichert werden. Als letztes öffnen wir uns noch einmal das Event „Schadensmanager“. Hier werden wir nun nämlich festlegen, wann die Schalter „Klingengeräusch 1“ und „Klingengeräusch 2“ angeschaltet werden.


    Wir rufen uns kurz ins Gedächtnis:


    :achtung: Schalter „Klingengeräusch 1“ für das Geräusch, wenn die Speere in den Boden gehen

    :achtung: Schalter „Klingengeräusch 2“ für das Geräusch, wenn die Speere aus dem Boden kommen


    Schalter „Klingengeräusch 1“ gleich am Anfang anschalten, da als erstes die Speere eingefahren werden.



    Etwas weiter unten Schalter „Klingengeräusch 2“ anschalten, da die Speere aus dem Boden kommen.



    Noch viel weiter unten Schalter „Klingengeräusch 1“ gleich anschalten, da die Speere wieder eingefahren werden.



    Fast am Ende noch einmal Schalter „Klingengeräusch 2“ anschalten, da die Speere aus dem Boden kommen.



    Das war es schon. Von nun an gibt es auch Geräusche, wenn die Speere ein- und ausfahren.


    Damit endet dieses Tutorial. Ich wünsche euch viel Spaß beim nachbauen!

    Der Absturzmanager


    Damit wäre die Brückensteuerung fertig, aber dies bringt uns bis jetzt gar nichts. Denn wie ihr euch sicher erinnert haben wir ja ganz am Anfang die Begehbarkeit geändert, so dass der Spieler über den schwarzen Bereich unter der Brücke laufen kann.


    Bisher ist es so, dass der Spieler überall im Bereich der Brücke stehen kann, egal ob unter ihm ein Brückenteil ist. Dies wollen wir jetzt ändern und zwar mit Regions IDs. Eine nähere Erläuterung zu Regions IDs werde ich jetzt nicht aufzeigen. Wie man Regions IDs nutzt erwarte ich jetzt einfach mal auf dem Schwierigkeitsgrad dieses Tutorials. Andernfalls seht in meinen Tutorials „Stachelfallen-Rätsel“ und „Flammen-Rätsel“ nach, da habe ich zu diesem Thema denke ich ausreichend geschrieben.


    Bei mir sehen meine Regions IDs so aus:




    Unter jedes Stück Brücke muss eine Regions ID, ausser bei m Anfang und Ende hier verschwindet die Brücke ja nicht.


    :achtung: Da der Spieler auch nur in diesem kleinen Bereich den schwarzen Bereich betreten kann, werden wir es auch nur hier möglich machen, dass der Spieler in die Tiefe fällt. Alle anderen schwarzen Bereiche können nicht betreten werden.

    :achtung: Alternativ hätte man auch alles schwarz betretbar machen können. Dann müssten wir aber alles mit Regions IDs am Rand des schwarzen Feldes voll pflastern. Da ich es aber so einfach wie möglich halten will und es nur noch mehr Eventerei geworden wäre hab ich es so gemacht.


    Aber kommen wir zurück zum oberen Bild. Ihr seht das es eine Merkwürdigkeit gibt! Am Anfang ist es bei Regions ID 10 bis 14 eine ganze Reihe mit einer ID belegt. Später hat jedes Feld eine eigene ID. Warum?


    Ganz einfach: Bei den Regions IDs 10 - 14 handelt es sich um Brückenteile die immer zusammen aktiviert oder deaktiviert werden.


    Haben wir aber solche Fälle in dem nur ein Brückenteil verschwindet, können wir diesen Mechanismus nicht anwenden.


    Ein Beispiel:


    Wir aktivieren den Schalter „Reihe 7. Alle drei Events wären aktiv, über die gesamte Breite ist die Regions ID.


    Wir würden Abfragen:

    :pfeilblaurechts: Ist der Schalter 7 AN?

    :pfeilblaurechts: Wenn JA fragen wir ab: Ist der Spieler auf einer Regions ID die unter der Reihe 7 ist?


    Wenn Ja ist alles OK, wenn nein würde der Spieler in den Abgrund sausen.


    Nun das Problem!


    Ändern wir die Voraussetzungen und sagen Schalter „Reihe 7 L M“ ist AN, es sind nur die Events „Reihe 7 I“ und „Reihe 7 II“ an und wir haben immer noch über die gesamte Breite nur eine Regions ID.


    Wir würden Abfragen:

    :pfeilblaurechts: Ist der Schalter 7 L M AN?

    :pfeilblaurechts: Wenn JA fragen wir ab: Ist der Spieler auf einer Regions ID die unter den Events „Reihe 7 I“ und „Reihe 7 II“ ist?


    Wenn der Spieler auf „Reihe 7 I“ und „Reihe 7 II“ steht ist alles in Ordnung, dann stimmt es ja auch.


    :achtung: Aber was wenn der Spieler auf dem nicht aktiven Event „Reihe 7 III“ steht? Der Maker wüsste gar nicht was er machen sollte, somit könnte der Spieler einfach da stehen bleiben, ohne das etwas passiert. Drum müssen wir es aufschlüsseln!


    Wir würden Abfragen:

    :pfeilblaurechts: Ist der Schalter 7 L M AN?

    :pfeilblaurechts: Wenn JA fragen wir ab: Ist der Spieler auf einer Regions ID die unter dem Event „Reihe 7 I“ ist?

    :pfeilblaurechts: Wenn JA ist alles in Ordnung!

    :pfeilblaurechts: Wenn Nein fragen wir ab: Ist der Spieler auf einer Regions ID die unter dem Event „Reihe 7 II“ ist?

    :pfeilblaurechts: Wenn JA ist alles in Ordnung! Andernfalls muss der Spieler logischerweise auf einem Feld stehen, auf dem zur Zeit kein Brückenteil aktiv ist, was bedeuten würde er steht im schwarzen Bereich und dies bedeutet Game Over für ihn.


    :wichtig: Bitte lasst euch beim nächsten Schritt nicht verwirren. Da fragen wir zuerst die Regions ID des Spielers ab und dann erst ob ein Schalter da ist. Gerade eben habe ich es nur anderes herum aufgebaut, damit man besser versteht wo das Problem liegt. Kommen wir nun zu einem neuen Event mit dem Namen „Absturzmanager“.


    Einzustellen wäre:

    :pfeilblaurechts: Auslöser: Paralleler Prozess


    Dies wäre schon alles, nun aber zum Inhalt der es etwas in sich hat.


    :achtung: Wir müssten normalerweise hier jetzt die X und Y Koordinaten, sowie die Regions ID Abfrage des Spielers einbauen. Da ich aber diese Variablen aus einem anderen Teil des Tutorials nutze, brauche ich sie hier nicht noch einmal auslesen. Dies machen wir schon in einem Event was zum Stachelfallenrätsel gehört.


    :pfeilblaurechts: Wait 2 Frames - unsere Standardwartezeit gegen Lags.

    :pfeilblaurechts: Wir fragen ab: Ist die Regions ID 10? Wenn nein geht es einfach so weiter.

    :pfeilblaurechts: Wenn Ja muss der Spieler auf diesem Regions ID feld stehen. Darum fragen wir weiter ab: Ist der Schalter „Reihe 2“ an, unter dem die Regions ID 10 ist? Wenn Ja ist alles in Ordnung, der Spieler steht brav auf der Brücke.


    Wenn Nein, steht der Spieler nicht auf der Brücke und es folgt:

    :pfeilblaurechts: Musikeffekt SE „Fall“ wird abgespielt.

    :pfeilblaurechts: Wir schalten den Spieler auf unsichtbar (er ist ja nicht mehr zu sehen da er herunter gefallen ist).

    :pfeilblaurechts: Warte 40 Frames, damit der Maker nicht weiter hetzt und genug Zeit ist um den SE ab zu spielen.

    :pfeilblaurechts: Der Zustand wird geändert: + Tod


    Da der Spieler nun Tod ist, würde nun automatisch der Game Over Bildschirm kommen.



    Aber es gibt ja noch mehr Regions IDs die der Spieler betreten kann:



    Etwas haarig wird es nun bei den einzelnen ID Feldern, da sind Größe Abfragen vonnöten wenn verschieden Schalter aktiv sein können.


    Nehmen wir z.B. die Regions ID 23.


    Wir sehen hier drei mögliche Zustände:

    :pfeilblaurechts: Schalter „Reih 9“ kann angeschalten sein, dann wären die Events „Reihe 9 I“, „Reihe 9 II“ und „Reihe 9 III“ eingeschalten

    :pfeilblaurechts: Schalter „Reih 9 L R“ kann angeschalten sein, dann wären die Events „Reihe 9 I“ und „Reihe 9 III“ eingeschalten

    :pfeilblaurechts: Schalter „Reih 9 R“ kann angeschalten sein, dann wäre das Event „Reihe 9 I“ eingeschalten


    Wir würden Abfragen:

    :pfeilblaurechts: Ist die Regions ID des Spielers 23?

    :pfeilblaurechts: Wenn Ja, fragen wir ab, ist der Schalter „Reihe 9“ eingeschalten?

    Wenn JA, alles in Ordnung!

    :pfeilblaurechts: Wenn Nein, fragen wir ab, ist der Schalter „Reihe 9 L R“ eingeschalten?

    Wenn Ja, alles in Ordnung!

    :pfeilblaurechts: Wenn Nein, fragen wir ab, ist der Schalter „Reihe 9 R“ eingeschalten?

    Wenn Ja, alles in Ordnung!

    :pfeilblaurechts: Wenn Nein, dann muss es unter dem Spieler sehr schwarz sein, denn da ist keine Brücke und er stürzt in die Tiefe!



    Ihr müsst nun alle Regions ID`s nach einander durch gehen und genau so abfragen. Vergesst dabei keine Schalter, dies ist das wichtigste!


    Damit wäre dieser Teil des Rätsels fertig und lass euch jetzt einmal in Ruhe eure Regions IDs durch gehen.



    Der Schalter


    Der wohl kürzeste Teil des gesamten Rätsels. Da wir bei der Steuerung mit einem parallelen Prozess arbeiten, würde die Brücke sofort anfangen los zu legen, wenn wir die Karte betreten. Aus diesem Grund haben wir uns aber eine Bedingung eingebaut, wie ihr euch sicherlich erinnert, nämlich den Schalter „Brückenschalter“. Dieser muss erst einmal angeschalten sein, damit die Brücke los legt und darum kümmern wir uns nun.


    Wir brauchen ein neues Event mit einem Schalter. Den setzen wir uns neben die Brücke und nenen ihn „Brückenschalter“.


    Einzustellen ist:

    :pfeilblaurechts: Ebenenpriorität: Auf Spielerebene

    :pfeilblaurechts: Auslöser: Aktionstaste

    :pfeilblaurechts: Grafik ist ein Hebelschalter dessen Hebel ganz links ist

    :pfeilblaurechts: Als Option stellen wir ein


    Als Inhalt kommt nur:

    :pfeilblaurechts: Schalter „Schalter Brücke = AN

    :pfeilblaurechts: Eigenschalter A = AN


    Dies wäre auch schon alles für diese Eventseite.



    Und los geht es mit der Brücke! Aber was jetzt, wir haben es nicht rechtzeitig auf die Brücke geschafft und sie legt ohne uns los?

    Dann brauchen wir einen Neustart der Brücke, aus diesem Grund legen wir uns eine zweite Reiterseite an.


    Kopiert am besten wieder die Reiterseite 1 und ändert folgendes:

    :pfeilblaurechts: Grafik ändern zum gleichen Schalter, nur der Hebel ist nun ganz rechts

    :pfeilblaurechts: Bedingung auf Eigenschalter (im engl. Self Switch) A = AN


    Der Inhalt wird komplett gelöscht und wird durch folgendes ersetzt:

    :pfeilblaurechts: Schalter „Schalter Brücke“ AUS - damit stoppen wir die Brücke

    :pfeilblaurechts: Da ja schon ein paar Schalter der Brücke an- und ausgeschalten wurden, müssen wir diese Schalterstellungen auch alle rückgängig machen und nutzen dazu gleich einmal einen Schalter Massenbefehl. Mit diesem kann man Schalter von einem bestimmten Schalter bis zu einem anderen bestimmten Schalter umstellen. Bei mir wären es die Schalter 32 bis 56 die für die Brückensteuerung zuständig sind. Anweisung wäre natürlich alle ausschalten.

    :pfeilblaurechts: Eigenschalter A = AUS - damit kommen wir zurück zur ersten Reiterseite und können von neuen den Hebel umlegen



    Damit wären wir am Ende des Tutorials angelangt.


    Ich wünsche euch viel Spaß beim nachbauen!

    Stachelfallenrätsel-Tutorial


    Engine: Das Tutorial wurde mit dem RPG Maker VX Ace erstellt, funktioniert jedoch mit jedem anderen RPG Maker.

    Rechte: Für kommerzielle und nicht-kommerzielle Verwendung im RPG Maker.

    Credits: Game Alchemists - http://gamealchemists.com



    Einleitung



    Wo ist Laurenz denn jetzt nur wieder gelandet? Merkwürdige Löcher im Boden ... eigenartig!


    Was nun?


    Schauen wir uns die Sache doch einmal genauer an.



    Hier scheint ein gefährlicher Weg anzufangen – spitze Stacheln schießen aus dem Boden, bereit, Laurenz zu Schaschlik zu verarbeiten! Ein spannendes Geschicklichkeitsspiel.


    Um was geht es in diesem Tutorial?


    In diesem Tutorial befassen wir uns mit einem Fallen-Rätsel. Wir haben eine Fläche vor uns, gespickt mit Speeren die aus dem Boden kommen. Jedoch tun sie dies nicht willkürlich! Wer den Weg hindurch findet, hat das Rätsel gelöst und überlebt diese Aufgabe.



    Die Stachelfallen


    Kommen wir zum ersten Punkt des Tutorials – den Stacheln. Zuerst brauchen wir unsere Grundkarte, bei mir sieht sie so aus.


    :wichtig: Beachtet bitte, dass der Durchgang für unser Rätsel immer eine ungerade Anzahl an Feldern breit sein muss! Bei mir ist der Durchgang sieben Felder breit.



    Im Bereich des Durchgangs werden wir nun unsere Stacheln einbringen.


    :achtung: Schon einmal zum Vormerken: Die Stacheln werden in einem Raster aufgelegt. Es gibt zwei Gruppen. Eine Stachelgruppe, die gerade eingefahren ist (nennen wir sie schwarze Gruppe) und eine Gruppe, die gerade ausgefahren ist (nennen wir sie weiße Gruppe). Zwischen dem Wechsel der Gruppen besteht eine Pause, in der sich der Spieler sicher bewegen kann. Hier eine Veranschaulichung, damit ihr seht, auf was es hinausläuft.



    Aber nun der Reihe nach. Wir legen unser erstes Event an. Wie ihr seht, sind die eigentlichen Events, die man sieht, sehr schlicht gehalten. Wir erzeugen uns also ein Event und nennen es „Raster I 1“.


    :achtung: Zur Erklärung: Römisch 1 ist die Gruppenzugehörigkeit. Römisch 1 ist die schwarze Gruppe, Römisch 2, zu der wir gleich kommen, ist die weiße Gruppe. Die Zahl dahinter symbolisiert die Nummer des Events in der Gruppe.


    Die Einstellungen:


    :pfeilblaurechts: Ebenen-Priorität: Unter Spielerebene

    :pfeilblaurechts: Auslöser: Aktionstaste

    :pfeilblaurechts: Als Grafik nutzen wir die vorhandenen Stacheln, die es schon im Maker gibt. Fündig werdet ihr unter „!Other1“.


    Ich habe euch auf dem Bild hervorgehoben, welche Grafik ihr nutzen müsst, nämlich die eingefahrenen Stacheln.



    Klickt auf OK , dann sind wir hier schon fertig!


    Nun müssen wir die Stacheln im Gang immer abwechselnd verteilen. Eine Stachelfalle, ein Platz frei, eine Stachelfalle, wieder ein Platz frei... Dabei müsst ihr die Löcher im Boden nicht mit Stacheln belegen. Ich hoffe, ihr könnt das Raster und den Sinn des Rasters erkennen.


    :wichtig: Wichtig: Ihr müsst die Nummern bei den Stacheln ebenfalls umbenennen, um den Überblick zu behalten. Wie ich schon erklärte, ist Römisch 1 die Gruppe und die Zahl dahinter die Nummer des Events in dieser Gruppe. Zur Erklärung habe ich euch die ersten Events im Bild benannt.



    Fertig? Gut dann wären wir schon mit der schwarzen Gruppe fertig, kommen wir zur weißen Gruppe.


    Am leichtesten ist es, ihr kopiert euch ein schwarzes Event und nennt es um in „Raster II 1“.


    Änderung:


    :pfeilblaurechts: Die Grafik wird geändert, denn die weiße Gruppe hat schon die ausgefahrenen Stacheln.



    Nun machen wir das Gleiche noch einmal, wie mit der schwarzen Gruppe. Abwechselnd werden nun die Events der weißen Gruppe zwischen die schon anwesenden schwarzen Events eingefügt. Dabei wieder die Bodenöffnungen auslassen. Nun müsste es so bei euch aussehen.


    :wichtig: Nicht das Umbenennen der Events vergessen. Wir machen dies wie bei der weißen Gruppe. Das Römisch II bleibt erhalten und die Zahl dahinter steigt mit jedem Event an.



    Damit wäre dieser Teil geschafft. Die Stacheln sind platziert, nun kommt die Steuerung der Stacheln an die Reihe.



    Die Stachelfallensteuerung


    Wir brauchen ein Event, welches als paralleler Prozess fungiert und die Stacheln steuert. Ein neues Event muss also her, welches wir „Stachelsteuerung“ nennen.


    Einzige Einstellung:


    :pfeilblaurechts: Auslöser: Paralleler Prozess


    Die Stacheln werden also dauerhaft ein und ausfahren. Fangen wir mit dem ersten Schritt an. Als erstes werden wir die Stacheln, die ausgefahren sind, sprich, die weiße Gruppe, einfahren. Dies regeln wir über Bewegungsrouten.


    Diese lauten:


    :pfeilblaurechts: Drehung rechts

    :pfeilblaurechts: Warte 2 Frames

    :pfeilblaurechts: Drehung links

    :pfeilblaurechts: Warte 2 Frames

    :pfeilblaurechts: Drehung unten


    Hier kommt nun die gute und kluge Vorsicht zum Vorschein. Gut das wir die Stacheln mit Zahlen benannt haben, nun können wir der Reihe nach durchgehen und fangen mit „Raster II 1“ an.



    Um besser zu verstehen, wie die Bewegungsroute funktioniert, hier mal die Veranschaulichung. Die Grafiken der Stacheln funktionieren wie die der Charaktere.



    Damit hätten wir aber erst den Stachel „Raster II 1“ eingefahren. Wir wollen aber alle der Gruppe römisch II einfahren. Darum die Bewegungsroute auch für die anderen Events der Gruppe einstellen.



    :wichtig: Damit die Speere alle gleichzeitig aus dem Boden kommen, wenden wir einen kleinen Trick an. Alle Bewegungsrouten bekommen nur die Option „Überspringen, wenn Bewegung nicht möglich“, außer die letzte Bewegungsroute, diese bekommt als Zusatz noch den Befehl „Warten bis abgeschlossen“. Würde dieser Wartebefehl nicht da sein, würde der Maker das gesamte Event sprichwörtlich runter rasseln, ohne zu warten, ob die Speere ein- oder ausgefahren sind. Es würde nur ein sinnloses Flackern der Speere entstehen und das wollen wir ja nicht.


    So, sieht ja schon recht komplex aus oder?


    Aus diesem Grund greifen wir beim nächsten Schritt in diesem Event schon ein wenig vor. Wir setzen einen Schalter mit dem Namen „Raster II“ und stellen diesen auf „AUS“. Bei der Begründung zu diesem Schalter greife ich auch schon ein wenig vor, aber habe mich entschieden, es hier schon einzubauen, da Anfänger vielleicht bei der Länge des Events eh schon genug damit zu tun haben, den Überblick zu behalten.


    Wir werden später abfragen, welche Gruppe aktiv ist – die weiße oder die schwarze Gruppe.


    :pfeilblaurechts: Ist die weiße Gruppe aktiv, sprich der Schalter „Raster IAN, sind deren Speere ausgefahren. Sind die Speere eingefahren, ist die Gruppe inaktiv, der Schalter „Raster I“ ist AUS.

    :pfeilblaurechts: Ist die schwarze Gruppe aktiv, sprich der Schalter „Raster IIAN, sind deren Speere ausgefahren. Sind die Speere eingefahren, ist die Gruppe inaktiv, der Schalter „Raster II“ ist AUS.


    Da wir die Speere gerade eingefahren haben, ist die Gruppe „Raster II“ also ab sofort inaktiv, der Schalter muss also AUS sein. Ich hoffe, dies war einigermaßen verständlich.


    Ich hoffe, dies war einigermaßen verständlich.


    :pfeilblaurechts: Als nächstes erzeugen wir uns eine Trennlinie mit der Kommentarfunktion, diese dient nur der Optik und der Auflockerung. Sie soll uns als Markierung dienen, die uns sagt, eine Rastergruppe hat gerade etwas getan.


    :pfeilblaurechts: Wait 50 Frames – dies ist die Wartezeit, in der der Spieler sich bewegen kann, ohne dass ihm etwas passiert, beide Stachelgruppen sind inaktiv. Über diesen Wartebefehl kann man übrigens auch den Schwierigkeitsgrad steuern. Um so höher die Framezahl, um so länger wird gewartet bis der nächste Befehl beginnt.


    :achtung: Es gilt = 60 Frames = 1 Sekunde


    :pfeilblaurechts: Noch einmal eine Trennlinie


    :pfeilblaurechts: Als letztes ein neuer Schalter nämlich „Raster I“ ist AN


    Der nächste Punkt ist nun, dass alle Stacheln von „Raster I“ aktiv werden, sprich aus dem Boden kommen und der Spieler verletzt werden kann.



    Aber wir müssen nicht nur über den Schalter sagen, dass die „Raster I“ aktiv wird, wir müssen auch die Stacheln dieser Gruppe ausfahren. Dies machen wir wieder mit Bewegungsroute.


    Die Bewegungsroute würde lauten:


    :pfeilblaurechts: Drehung links

    :pfeilblaurechts: Warte 2 Frames

    :pfeilblaurechts: Drehung rechts

    :pfeilblaurechts: Warte 2 Frames

    :pfeilblaurechts: Drehung hoch



    Also genau das umgekehrte, was wir vorhin machten. Wir fangen dieses Mal mit dem Event „Raster I 1“ an.


    Wiederholt die Bewegungsroute nun bei allen Events der „Raster I“ und ihr müsstet dieses Ergebnis erhalten.


    :wichtig: Achtung: Beachtet bitte, dass wieder überall nur „Überspringen“ eingetragen ist und erst beim letzten Event noch der Zusatz „Warte“ hinzukommt!



    Die Hälfte haben wir schon!


    Die Stacheln der schwarzen Gruppe mit dem Namen „Raster I“ sind nun ausgefahren. Hier verweilen sie auch kurz.


    :pfeilblaurechts: Ein kleiner Kommentar mit einer Trennlinie für die bessere Übersicht

    :pfeilblaurechts: Warte 50 Frames – so lange bleiben die Stacheln draußen

    :pfeilblaurechts: Noch ein Kommentar mit Trennlinie



    Aber irgendwann müssen die Stacheln ja mal wieder zurück dahin, wo sie her kamen. Wir schieben also die Stacheln zurück in die Erde – und wie machen wir dies? Mit Bewegungsrouten! Dazu nutzen wir wieder die Bewegungsrouten, die wir als erstes genutzt haben.


    :pfeilblaurechts: Drehung rechts

    :pfeilblaurechts: Warte 2 Frames

    :pfeilblaurechts: Drehung links

    :pfeilblaurechts: Warte 2 Frames

    :pfeilblaurechts: Drehung unten


    Dieses Mal wenden wir diese Bewegungsroute aber auf alle Events des „Rasters I“ an.



    :wichtig: Achtung: Beachtet bitte, dass wieder überall nur „Überspringen“ eingetragen ist und erst beim letzten Event noch der Zusatz „Warte“ hinzukommt!


    Damit wären wir fast fertig, ihr habt es gleich geschafft!


    Da die Stacheln eingefahren sind, geht für den Spieler auch keine Gefahr mehr von ihnen aus, darum kommen nun wieder ein paar Schalter auf uns zu.


    :pfeilblaurechts: Schalter „Raster I“ wird ausgeschaltet, da die Speere ja eingefahren, sprich inaktiv sind

    :pfeilblaurechts: Wieder mal eine Trennlinie

    :pfeilblaurechts: Warte 50 Frames – hier kann sich der Spieler wieder sicher bewegen

    :pfeilblaurechts: Noch eine Trennlinie

    :pfeilblaurechts: Schalter „Raster II“ wird angeschaltet, da diese Stacheln nun wieder ausgefahren werden.



    Um den Kreis zu schließen, müssen wir nun nur noch die Events von „Raster II“ wieder ausfahren und ihr ahnt was kommt ...



    Damit wären wir bei diesem Event fast fertig. Das Einzige, was nun noch kommt, ist:


    :pfeilblaurechts: Wieder mal eine Trennlinie

    :pfeilblaurechts: Warte 50 Frames – hier kann sich der Spieler wieder bewegen

    :pfeilblaurechts: Noch eine Trennlinie



    Fertig! Nach dem Warte-Befehl fängt das Event bedingt durch den parallelen Prozess wieder von vorn an.


    Was wir jetzt getan haben, ist kurz zusammengefasst:


    :pfeilblaurechts:Raster II“ eingefahren

    :pfeilblaurechts: 50 Frames Wartezeit eingesetzt in der sich der Spieler bewegen kann

    :pfeilblaurechts:Raster I“ ausgefahren

    :pfeilblaurechts: 50 Frames Wartezeit in der die Stacheln von „Raster I“ draußen verweilen

    :pfeilblaurechts: „Raster I“ eingefahren

    :pfeilblaurechts: 50 Frames Wartezeit eingesetzt in der sich der Spieler bewegen kann

    :pfeilblaurechts: „Raster II“ ausgefahren

    :pfeilblaurechts: 50 Frames Wartezeit in der die Stacheln von „Raster 2“ draußen verweilen


    Wir haben also für die Rastergruppe 1 und 2 einen kompletten Durchgang erstellt und dem Maker gesagt, wie sie sich bewegen sollen. Dank der Wartebefehle am Ende jedes Durchgangs haben wir die Garantie, dass die Gruppe immer gemeinsam ein- und ausfährt.

    Unsichtare Weg-Tutorial


    Engine: Das Tutorial wurde mit dem RPG Maker VX Ace erstellt, funktioniert jedoch mit jedem anderen RPG Maker.

    Rechte: Für kommerzielle und nicht-kommerzielle Verwendung im RPG Maker.

    Credits: Game Alchemists - http://gamealchemists.com



    Einleitung



    Wo ist unser kleiner Protagonist denn jetzt schon wieder gelandet? Bezieungsweise: Wer hat die Brücke geklaut?


    Schauen wir uns die Sache doch einmal genauer an! Juhu! Ein Schalter - gleich mal drücken!



    Hier wird aber unser Protagonist gequält! Nur einzelne Teil der Brücke erscheinen und verschwinden wieder, hier ist Reaktionsgeschwindigkeit gefragt!



    Um was geht es in diesem Tutorial?


    In diesem Tutorial befassen wir uns mit einer Art Rektionsgeschwindigkeits-Rätsel.

    Wir haben einen dunklen Abgrund vor uns und einen großen Schalter, drücken wir ihn, wir kurzzeitig ein neues Stück der Brücke sichtbar.


    Auf dieses müssen wir uns stellen. Einen Moment später wird vor uns ein neues Teilstück der Brücke sichtbar. Wir machen noch einen Schritt nach vorn und dies war gut, denn das Stück Brücke auf dem wir gerade eben noch standen ist nun wieder weg.


    Ohje, wir stehen auf einen kleinen Stück Brücke im nirgendwo, jetzt können wir nur noch hoffen heil ans andere Ende zu kommen.



    Der Grundaufbau


    So, schauen wir uns zu erst einmal den Grundaufbau der Map an, denn hier sind schon die ersten kleinen Tricks und Kniffe an zu wenden.



    Wie ihr seht haben wir ein großes schwarzes Loch in der Mitte der Map. Dieses Loch wurde mit diesem Tileset erstellt:



    Ich habe gleich mal mit Datenbank aufgezeigt. Wie ihr seht ist in der Begehbarkeit ein großes X eingetragen. Was dies bedeutet ist, dass der Spieler diesen Bereich nicht betreten kann! Selbst wenn ein Event auf diesem Bereich ist, welches auf „Unter Spielerebene“ steht, könnte der Spieler es trotzdem nicht betreten.

    Wie bekommen wir es nun hin, dass unser Spieler trotzdem über diesen dunklen Untergrund gehen kann?


    Ganz einfach: Wir trixen ein wenig!


    Tragt durch anklicken in dem rot Markierten Teil ein O statt ein X ein. Der Pfeil zeigt an, um welches teil es sich in der Auswahl handelt.



    Verlasst nun die Datenbank, zeit etwas zu zeichnen. Wir nehmen uns das kleine Stück Grafik welches ich oben markierte und zeichnen den markierten Bereich aus, den ich euch gleich aufzeige. Beim zeichnen achtet ihr bitte darauf, dass ihr die „UMSCHALTTASTE“ auf der Tastatur gedrückt haltet.



    Was dies bewirkt merkt ihr sofort, der Bereich bleibt schwarz aber warum?


    Der Bereich bleibt in Wirklichkeit nicht schwarz, ihr wendet schon die richtige Grafik an. Der Trick ist, dass die Kanten beim drücken der „Umschalttaste“ nicht mit gezeichnet wird. Wenn wir Erfolg haben sehen wir hier eine Kante.


    :wichtig: Im übrigen war die Kante bei mir schon die ganze Zeit nicht da, da ich vergessen habe, diesen Schritt bei mir rückgängig zu machen.



    Damit kann der Spieler nun über diese Fläche laufen, testet es ruhig einmal aus.



    Die Brücke


    Im nächsten Schritt brauchen wir erst einmal eine neue Grafik. Denn im Maker gibt es keine Brücke die drei Felder breit ist. Drum hat Kojote mal etwas vorbereitet:

    platten.png


    :pfeilblaurechts: Diese Grafikdatei müsst ihr einbinden unter: /Name eures Projekts/Graphics/Charakters


    Fertig? Dann geht es sofort weiter.


    Wir erstellen uns ein neues Event, unser Brückenanfangsstück. Der Name ist „Reihe 1 I“.


    :wichtig: Dies bedeutet folgendes: Die 1 steht für die erste Reihe unserer Brücke. Das römisch 1 bedeutet es handelt sich dabei um das erste Teilstück dieses Brückenteils.


    Viel einzustellen gibt es in diesem Event nicht:

    :pfeilblaurechts: Ebenen Priorität: Unter Spielerebene

    :pfeilblaurechts: Auslöser: Aktionstaste

    :pfeilblaurechts: Grafik nutzen wir den Teil des Stegs ganz links



    Wir kopieren uns dieses Event und setzen die Kopie rechts neben dieses Event.


    Was wird geändert:

    :pfeilblaurechts: Den Namen ändern wir in „Reihe 1 II

    :pfeilblaurechts: Die Grafik ändern wir in das Mittelstück der Brücke


    Aussehen müsste es bei euch so:



    Wir kopieren uns das Event nochmals und setzen die Kopie rechts neben das zweite Event.


    Was wird geändert:

    :pfeilblaurechts: Den Namen ändern wir in „Reihe 1 III

    :pfeilblaurechts: Die Grafik ändern wir in das rechte Stück der Brücke


    Aussehen müsste es bei euch so:



    Im Gesamtbild würde es nun so aussehen:



    Damit wäre die erste Reihe geschafft. Dies ist noch eine ganz normale Reihe, ohne irgend etwas, denn sie wird immer sichtbar sein.


    Kommen wir nun zur Reihe 2. Am besten ihr kopiert euch die erste Reihe.


    Zu ändern wäre folgendes:

    :pfeilblaurechts: Wir ändern die Reihennummer um. Statt „Reihe 1 I“ würde „Reihe 2 I stehen, statt „Reihe 1 II“ würde „Reihe 2 II“, ect.

    :pfeilblaurechts: Als Bedingung setzen wir nun einen neuen Schalter, den wir „Reihe 2“ nennen.


    Damit hätten wir es schon, so müsste es nun bei euch aussehen:





    Damit wäre Reihe 2 auch fertig.


    :pfeilblaurechts: Dieses Prinzip setzen wir nun fort bis Reihe 13.


    :wichtig: Bitte denkt daran immer die Schalter zu ändern und auch die Namen.


    Noch einmal als Hilfe die Reihe 3:





    Seit ihr bei Reihe 13 angekommen? Gut, dann nehmen wir uns Reihe 14 vor.


    :pfeilblaurechts: Dazu kopieren wir ganz einfach Reihe 1, denn Reihe 14 wird auch immer sichtbar sein.





    Bei euch müsste es nun so aussehen:




    Die Brückensteuerung


    Ab nächstes brauchen wir ein Event was die ganzen Schalter steuert, welche wir uns gerade so mühevoll eingerichtet haben.


    Darum ein neues Event mit dem Namen „Brückensteuerung“.

    :pfeilblaurechts: Bedingung: Ein neuer Schalter Namens „Brückensteuerung

    :pfeilblaurechts: Auslöser: Paralleler Prozess


    Dies war es schon für die normalen Einstellungen. Kommen wir nun zum Inhalt.


    Hier sehen die Einstellung folgender maßen aus:


    :pfeilblaurechts: Warte 80 Frames. Da wenn wir die Brückensteuerung aktivieren, sofort das erste neue Brückenstück zu sehen ist, starten wir erst einmal mit einem Wartebefehl, dass der Spieler auch genug Zeit hat zu reagieren und vom Schalter, den wir später einbauen zur Brücke zu gehen.

    :pfeilblaurechts: Schalter „Reihe 2 wird angeschalten


    Als nächstes kommt ein kleiner optischer Hinkucker. Um den Spieler darauf vor zu bereiten in welche Richtung es weiter geht, werden wir ein kleines Flackern der Reihe erzeugen, die wir dem Spieler als nächstes zum betreten anbieten. Geregelt wird dies mit der Bewegungsrouteneinstellung „Deckkraft ändern.

    Dies müssen wir bei allen drei Events der Reihe machen, also bei Event Reihe 1 I, „Reihe 1 II“ sowie „Reihe 1 III.


    :wichtig: Damit uns der Maker nicht einfach weiter rennt, kommt bei den Events „Reihe 1 I und „Reihe 1 II die Option „Überspringen, wenn Bewegung nicht möglich hin. Bei Event „Reihe 1 III kommt also Zusatz noch hin „Warten bis abgeschlossen.



    Nun haben wir zwei Reihen der Brücke da, wir wollen die erste Reihe stehen lassen. Aus diesem Grund erschaffen wir nun Reihe 3.


    :pfeilblaurechts: Damit wir etwas den Überblick behalten, erzeugen wir uns mit Hilfe der Kommentarfunktion erst einmal eine Trennlinie.

    :pfeilblaurechts: Warte 20 Frames - dies ist die Zeit die verstreichen muss, bis die nächste Reihe der Brücke auftaucht.

    :pfeilblaurechts: Schalter „Reihe 3“ wird angeschalten.

    :pfeilblaurechts: Wir erzeugen wieder für die drei Events der „Reihe 3“ ein Flackern.



    :achtung: Lasst euch bitte nicht von Reiterkarte 2 irritieren! Ich mache die Screenshots hier mit der fertigen Version des Events und da bin ich schon einen Schritt weiter. Ignoriert den Reiter 2, auf den kommen wir noch später zu sprechen.


    Damit hätten wir auch Reihe 3 erzeugt. Nun wollen wir ja aber nicht Reihe für Reihe erschaffen, sondern den Spieler etwas ärgern!

    Aus diesem Grunde werden wir nun dem Spieler Reihe 2 wieder weg nehmen!


    :pfeilblaurechts: Warte 20 Frames - dies ist die Zeit in der beide Brückenteile vorhanden sind

    :pfeilblaurechts: Wir erzeugen jetzt für die drei Events der „Reihe 2“ wieder ein ein Flackern

    :pfeilblaurechts: Ist das Flackern abgeschlossen wird Schalter „Reihe 2“ ausgeschalten

    :pfeilblaurechts: Eine Trennlinie


    Damit hätten wir unsere erste Gruppe geschaffen. Gruppen nenne ich sie deswegen weil sie zusammen arbeiten.


    Sie agieren immer folgendermaßen:

    :pfeilblaurechts: Warte 20 Frames die Wartezeit bis eine neue Gruppe anfängt zu arbeiten

    :pfeilblaurechts: Brücken X wird angeschalten

    :pfeilblaurechts: Ein Flackern wird für Brückenteil X initiiert

    :pfeilblaurechts: Warte 20 Frames - dies ist die Zeit in der beide Brückenteile vorhanden sind

    :pfeilblaurechts: Ein Flackern wird für Brückenteil Y initiiert, auf dem der Spieler gerade steht

    :pfeilblaurechts: Brücke Y wird ausgeschalten


    :wichtig: So funktioniert jede Gruppe, dies solltet ihr im Hinterkopf behalten. Es ist extrem wichtig, sonst kommt ihr durch einander, denn das Event wird noch sehr lang!

    So würde „Gruppe 3-2“ aussehen:


    :wichtig: Dabei bedeutet die erste Zahl die Reihe die eingeschalten wird und die zweite Zahl die Reihe die ausgeschalten wird.



    So würde „Gruppe 4-3“ aussehen:



    :pfeilblaurechts: Dies würde jetzt bis „Gruppe 6-5“ so weiter gehen.


    Jetzt ging es lange genug nach vorn, warum nicht auch einmal plötzlich in die falsche Richtung, um den Spieler etwas zu ärgern.


    Wir erzeugen die „Gruppe 5-6“, würde bedeuten, die Reihe hinter dem Spieler würde aktiviert werden und es würde wie gewohnt die Reihe verschwinden, auf der er steht.



    Kinderkram! Wir können doch noch viel mehr machen! Warum nur vor und zurück, wollen wir einmal richtig gemein sein?


    Wir haben ein Brückenstück aus drei Teilen, warum nicht einmal ein oder zwei Teile verschwinden lassen. Dazu brauchen wir nur hier und da eine neue Eventseite.


    Aber der Reihe nach! Schauen wir uns im nächsten Bild einmal „Reihe 7“ an. Fällt euch etwas auf?


    Ich denke schon, denn hier lassen wir nur das Event „Reihe 7 I“ und „Reihe 7 III“ Blinkern. Damit weiß der Spieler, dass diese beiden Teile gleich verschwinden werden.


    :pfeilblaurechts: Und was machen wir, wir schalten wirklich „Reihe 7“ ab! Jedoch nicht ohne vorher noch eine neue an zu schalten, nämlich „Reihe 7 M“!



    Doch was bedeutet „Reihe 7 M“?


    Dies ist ein kleiner Vermerk zur besseren Übersicht „Reihe 7 M“ bedeutet, dass in dieser Reihe nur das mittlerste Event aktiviert wird.


    :achtung: Nun werden einige sagen, wart mal! Diesen Schalter haben wir vorhin doch gar nicht gesetzt!


    Richtig, darum holen wir dies auch jetz nach. Wir gehen noch einmal in die Reihe 7 und suchen uns das mittlerste Event heraus und erstellen eine zweite Reiterebene.

    Am besten wir kopieren die erste Reiterseite.


    Änderungen:

    :pfeilblaurechts: Die Bedingung wird geändert auf Schalter „Reihe 7 M“.

    :pfeilblaurechts: Grafik ändern in das kleine einzelne Brückenstück.



    Bei der nächsten Gruppe wäre dann logischerweise der Schalter „Reihe 7 M“ aus zu schalten und das Blinken wäre nur für das mittlere Event zu setzen.


    An dieser Stelle würde ich nun mit diesem Teil des Tutorials aufhören.

    Meiner Meinung nach würde es keinen Sinn machen hier weiter zu machen. Das Prinzip der Technik bleibt immer das selbe.


    Es wird in einer Gruppe immer wieder etwas eingeschalten und ausgeschalten. Ob nun eine ganze Reihe ausgeschalten wird, ob nur ein Teil oder mehrere seih dahin gestellt. Noch mehr Beispiele hier aufzeigen macht keinen Sinn und würde den Rahmen des Tutorials hier sprengen. Wenn ihr es euch anschauen wollt, ladet euch einfach die Demo zum Tutorial herunter.


    Einzig ein was möchte ich euch noch zeigen, nämlich den Schluss des Events.


    :pfeilblaurechts: Am Schluss wird die letzte Reihe mit „Schalter 13“ (bei euch könnte es ein anderer Schalter sein) bei mir ausgeschalten und durch einen Eigenschalter A = AN wird die Brückensteuerung ausgeschalten.


    :wichtig: Wie ihr merkt funktioniert diese Brückensteuerung nur in eine Richtung. Jedoch hindert euch nichts daran sie zu erweitern und nach einer kurzen Pause in entgegengesetzer Richtung durchlaufen zu lassen.


    Bodenfallenrätsel-Tutorial


    Engine: Das Tutorial wurde mit dem RPG Maker MV erstellt und funktioniert in dieser Form auch nur im RPG Maker MV, adaptionen sind natürlich möglich.

    Rechte: Für kommerzielle und nicht-kommerzielle Verwendung im RPG Maker.

    Credits: Game Alchemists - http://gamealchemists.com



    Einleitung



    Kennen wir diesen kleinen Herrn nicht von irgendwo her? Eigentlich nein... er ist der neue Protagonist meiner Tutorial-Reihe für den RPG Maker MV.


    Laurenz Jr. ist in einem Dungeon angekommen, doch was ist das? Merkwürdige Bodenplatten! Besonders vertrauenserweckend sehen dies nicht aus!


    Probieren wir einfach einen Sprung aus und ...



    Aha! Einige Bodentafeln scheinen nicht sicher zu sein! Bestimmt sind einige Symbole sicher und einige nicht. Laurenz Jr. muss also von einer richtigen Bodenplatte zur nächsten springen!


    Um was geht es in diesem Tutorial?


    In diesem Tutorial befassen wir uns mit einem Bodenfallenrätsel. Auf dem Boden sind mehrere Tafeln verteilt, einige werden begehbar sein, andere werden den Protagonisten Unheil bringen. Des weiteren werde ich in diesem Tutorial viele grundlegende Maker-Befehle ausführlich erklären.



    Das Plugin


    Für dieses Tutorial benötigen wir ein Plugin. Es ist das MouseSystemEx Plugin von TDDP.



    Was ist ein Plug-in?


    Ein Plug-in ist eine Ergänzung des RPG Maker MV.


    Er bietet Neuerungen und Funktionen, die der RPG Maker MV standardmäßig nicht mitbringen.



    Woher bekomme ich das Plug-in?


    Der RPG Maker MV kommt mit einer ganzen Reihe an Zusätzen daher, die der Anwender meistens gar nicht bemerkt bzw. kennt. Grund dafür ist, dass die Daten an einem ziemlich merkwürdigen Ort gespeichert werden, die normalerweise kein Anwender aufsucht.


    Daher geht bitte in folgendes Verzeichnis:


    :pfeilblaurechts: c:\Programme(x86)\Steam\steamapps\common\RPG Maker MV\dlc\RPGmakerWeb_plugins\Galenmereth


    In diesem Ordner findet ihr das Plugin: TDDP_MouseSystemEx


    Es ist eine Java Script File die ihr nun kopiert.


    Geht nun in euer RPG Maker MV Projekt, normalerweise sollte dies zu finden sein unter:


    :pfeilblaurechts: Bibliotheken\Dokumente\Eigene Dokumente\Games\NAME EURES PROJEKTES


    In eurem Projekt geht ihr in den Ordner js, in diesem Ordner wiederum geht ihr in den Ordner plugins. In diesen fügt ihr nun das Plug-in ein.


    Öffnet nun den RPG Maker MV und startet euer Projekt und öffnet den Plug-in-Manager:



    Klickt im neuen Menü in die obere Zeile und öffne damit das neue Auswahlfenster. Unter Name sucht ihr das neue Plug-in:



    Wählt das Plug-in aus und betätigt zwei Mal die OK-Taste, um den Plug-in-Manager zu schließen. Weitere Einstellungen müsst ihr hier nicht machen.


    Damit wäre nun euer Projekt mit dem neuen Plug-in ausgestattet.



    Die Karte und das erste Event


    Das nächste, was wir benötigen ist eine passende Map:



    Wie ihr seht ist meine Karte recht einfach gehalten, eine Steinbrücke, ein Eingang und ein kleiner Bereich, links wo später die Belohnung liegt. Zwischen den Fackeln werden die Bodenplatten liegen.


    :wichtig: Wichtig ist hier, dass ihr euch eine Karte erschafft, bei der es keinem Weg gibt, mit der man die Bodenplatten umgehen kann.


    Wenn die Map fertig ist, muss die Karte im Bereich der zukünftigen Bodenplatten mit sogenannten Regions IDs versehen werden:



    :pfeilblaurechts: Die Regions IDs sind wichtig und notwenig, damit wir später in Erfahrung bringen können wo genau der Spieler ist.


    :achtung: Im übrigen werden die Regions IDs im Spiel nicht angezeigt, es sind unsichtbare Markierungen.


    Wenn ihr nicht wisst, wo die Regions IDs sind, diese sind neben den normalen Tilesets (A, B, C, D, E) zu finden:



    Doch woher wissen wir, auf welchem Feld der Protagonist später ist bzw. auf welcher Regions IDs der Protagonist steht?


    Wir brauchen als erstes ein neues Event, welches wir Datensammler nennen.


    Es enthält folgende Eigenschaft:


    :pfeilblaurechts: Paralleler Prozess



    Doppelklickt nun auf die oberste Zeile des Inhalts oder klickt im Inhalt auf die rechte Maustaste und dort auf Neu.


    Im neu erschienen Ereignisbefehle-Fenster geht ihr auf Variablen steuern... :



    In der Variablen Steuerung geht ihr ganz oben auf Einzeln:



    :pfeilblaurechts: Im neuen Fenster tragt ihr folgenden Namen ein: Spieler X


    Abschließend übernehmt ihr das gesamte durch Klicken auf OK:


    Im nächsten Schritt werden die Spielerdaten in der Variablen Steuerung ausgelesen:



    Tragt unter Charakter den Spieler ein und der Auslesefaktor soll Karte X sein. Hiermit können wir die X-Koordinate des Spielers auslesen. Anschließend gehen wir auf OK:



    Bei euch müsste es nun so aussehen:



    Dasselbe macht ihr nun mit der Y-Koordinate:



    Fertig? Dann werden wir nun aus der X und Y- Koordinate die Regions ID berechnen, in dem wir wieder ins Ereignisbefehle-Fenster gehen.


    Dieses Mal suchen wir den dritten Reiter auf und klicken in diesem Bereich auf Speicherortinfo aufrufen...:



    In der Speicherortinfo haben wir nun gleich mehrere Dinge einzustellen:


    :pfeilblaurechts: Erzeugt eine neue Variable mit dem Namen Spieler Regions ID und tragt diese unter Variable ein

    :pfeilblaurechts: Stellt den Infotyp auf Regions-ID

    :pfeilblaurechts: Bezeichnung mit Variablen X stellt ihr auf unsere Variable Spieler X

    :pfeilblaurechts: Bezeichnung mit Variablen Y stellt ihr auf unsere Variable Spieler Y



    Schließt alles wieder durch die Bestätigung mit OK.


    Hiermit wird nun dauerhaft abgefragt, auf welchem Regions ID Feld sich der Spieler befindet. Damit der Maker jedoch auch einmal eine kleine „Verschnaufpause“ bei der Abfrage gegönnt wird, erstellen wir noch ein Warte-Frame, welches 1/60 einer Sekunde anhält, bevor es die Daten wieder aktualisiert.



    Das fertig Event, welches ihr nun schließen könnt:




    Die Steuerevents


    In diesem des Tutorial werden wir nun festlegen, wie sich der Protagonist bewegen kann.


    Hier einmal eine Übersicht, welchen Bewegungsbereich der Spieler haben wird:



    Da wir nun wissen, in welchem Bereich sich der Protagonist bewegen kann, legen wir nun fest, welches der Felder der Protagonist später betreten kann und welches besser nicht.


    Ich habe mir für die Markierung aus dem Tileset den roten und blauen Teppich genommen und Markierungen auf den Boden gebracht. Alles was nun rot zu sehen ist, wird später tödlich sein, alles was blau ist, wird später begehbar sein:



    An dieser Stelle wird es etwas komplizierter, lasst euch also nicht verwirren! Wir erschaffen unser zuallererst ein Event auf Regions ID 2.


    :wichtig: Wichtig: Auf Regions ID 1 und 58 kommen keine Events, sie dienen nur zur Kontrolle wo der Spieler ist.


    Wir erstellen uns also ein Event auf Regions ID 2 und nennen es Bodentafel 2. (habe ich so benannt um die gleiche Zahl wie bei den Regions IDs zu haben)


    Dieses Event hat nun folgende Eigenschaften:


    :pfeilblaurechts: Unter Hinweis, rechts neben dem Eventnamen schreibt ihr: click_activate!

    :pfeilblaurechts: Optionen: Gehen und Richtung Fixieren

    :pfeilblaurechts: Priorität: Unter Charakter

    :pfeilblaurechts: Auslöser: Aktionstaste


    :achtung: Ihr fragt euch nun sicher, was wir da in den Hinweis geschrieben haben. Ganz einfach, normalerweise funktioniert ein Event im RPG Maker MV so: Man klickt ein Event an, der Protagonist läuft zu diesem Event, erst dann wird es ausgeführt. Dies wollen wir aber gerade nicht! Unsere Events sollen aus der Distanz aktiviert werden, dafür haben wir als erstes das MouseSystemEx Plugin eingebaut, dieser Befehl im Hinweis ist ein Teil dieses Plug-in.



    Bisher ja ganz einfach, nun beginnt aber die Denksportaufgabe. Wenn wir auf ein Event klicken, soll der Spieler aus einem bestimmten Bereich auf dieses Event geholt werden. Diesen Bereich in Form eines Sterns haben wir weiter oben im ersten Bild festgelegt. Deshalb müssen wir nun im Event Bodentafel 2 abfragen, ob der Spieler innerhalb des Einzugsbereiches dieses Events ist.


    Um es euch etwas verständlicher zu machen, hier einmal der Einzugsbereich von Event 2:



    Wie ihr seht, liegt Event 2 in der Mitte, der Einzugsbereich ist durch die schwarzen Außenkanten ersichtlich.


    Würde der Protagonist nun entweder auf Regions ID 1, 3, 4, 5, 6 oder 9 stehen, wäre er im Einzugsbereich der Regions ID 2. Klickt man nun auf das Event, welches auf Regions ID 2 liegt und steht der Spieler auf den besagten Regions IDs, würde der Spieler nun auf das Feld der Regions ID 2 springen.


    Noch ein Beispiel:



    Hier wäre nun Regions ID 18 der Mittelpunkt. Klickt der Protagonist auf das Event, welches auf Regions ID 18 liegt, würde er auf dieses Feld springen, wenn er auf den Regions IDs: 10, 13, 14, 15, 16, 17, 19, 21, 22, 23 oder 26 steht.


    Also müssen wir bei unserem Event 2, mit dem Namen Bodentafel 2, abfragen, ob der Protagonist sich auf den Regions ID 1, 3, 4, 5, 6 oder 9 steht.


    Wir gehen also in unser Event und öffnen die Ereignisbefehle und wählen uns die Bedingte Verzweigung aus:



    Hier tragen wir folgendes ein:


    :pfeilblaurechts: Variable 0003 Spieler Regions ID als Bedingung soll gleich sein einer Konstante (eine Konstante ist eine feste Zahl, in unserem Fall die Zahl der Regions ID)

    :pfeilblaurechts: Es muss eine Else-Verzweigung erstellt werden (Else bedeutet „andernfalls“ – falls also die erste Bedingung nicht erfüllt ist, mach etwas anderes)



    Das ganze müsste bei euch so aussehen:



    :achtung: Zur Erinnerung: Wir müssen abfragen, ob der Spieler auf den Regions IDs 1, 3, 4, 5, 6 oder 9 steht. Die 1 wäre fertig, folgen nun noch die anderen Zahlen, genau so, wie wir es gerade eben schon gemacht haben:



    So weit, so gut, jetzt nützen uns jedoch die Bedingungsabfragen nichts, wenn wir nicht festlegen, was passiert, wenn die Bedingung der Abfrage zutrifft, also z.B. der Spieler wirklich auf Regions ID 1 steht und Event 2, Bodenplatte 2 angeklickt wird. Im Gedächtnis ist bestimmt hängen geblieben, dass wir den Protagonisten auf das Event holen wollen, welches er anklickt, falls er in Reichweite ist, doch wie machen wir dies? Ganz einfach, mit Bewegungsrouten! Mit Bewegungsrouten können wir den Protagonisten ganz einfach steuern. Die Einstellung dafür, findet ihr wie immer in den Ereignisbefehlen:



    Wir tragen also in den Bewegungsrouteneinstellung folgendes ein:


    :pfeilblaurechts: Der Spieler soll sich bewegen

    :pfeilblaurechts: Die Optionen Weiter, wenn Bewegung unmöglich und Warten auf Schluss sind aktiviert

    :pfeilblaurechts: Die Bewegungsart soll Springen sein



    Aber was tragen wir nun bei X und Y ein? Ich hoffe ihr habt Mathematik in der Schule nicht ganz gehasst, aber leider brauchen wir es. X und Y benutzen wir schon die gesamte Zeit und dürften euch aus dem Koordinaten System bekannt vorkommen:



    Dabei ist die linke obere Ecke die Position 0 | 0, also der Ursprungsort der Koordinaten, dies bedeutet:


    :pfeilblaurechts: Um so weiter man nach rechts geht, um so größer wird X

    :pfeilblaurechts: Um so weiter man nach unten geht, um so größer wird Y


    Im umgekehrten Fall, würde dies bedeuten:


    :pfeilblaurechts: Um so weiter man nach links geht, um so kleiner wird X

    :pfeilblaurechts: Um so weiter man nach oben geht, um so kleiner wird Y


    Da wir dies nun wissen und wollen den Protagonisten von Regions ID 1 auf Regions ID 2 bekommen, welche XY- Änderung ergibt sich?


    Ganz einfach: Der Protagonist geht eine Zeile nach unten, würde bedeuten Y + 1 und der Spieler geht eine Zeile nach links, würde bedeuten X – 1!


    Wie würde es bei den anderen Zahlen aussehen?


    Regions ID 3: Der Protagonist geht eine Zeile nach unten, also nur Y + 1.

    Regions ID 4: Der Protagonist geht eine Zeile nach oben, also Y – 1 und eine Zeile nach rechts, also X + 1.

    Regions ID 5: Der Protagonist geht eine Zeile nach rechts, also nur X + 1.

    Regions ID 6: Der Protagonist geht eine Zeile nach unten, also Y+ 1 und eine Zeile nach rechts, also X + 1.

    Regions ID 9: Der Protagonist geht zwei Zeilen nach rechts, also nur X + 2.


    Damit hätten wir schon sämtliche Lösungen für das Event 2, Bodenplatte 2 gefunden:



    Würde also der Protagonist nun auf einer Regions ID sein, die im Einzugsbereich vom Event 2, Bodenplatte 2 ist, und würde der Spieler dieses Event anklicken, würde er durch die Bewegungsroute auf dieses Event kommen, bzw. auf Regions ID 2. Sollte der Protagonist nicht auf einer zugehörigen Regions ID sein und das Event starten, wäre keine der aufgelisteten Bedingungen erfüllt und somit würde auch nichts passieren.


    An diesem Punkt fängt für euch die eigentliche Arbeit erst einmal an! Das was wir bei Event 2, Bodenplatte 2 gemacht haben, muss nun noch bei Event 3 bis 57 gemacht werden!


    :achtung: Zur Arbeitserleichterung erstellt ihr am besten von euren Regions ID Feldern einen Screenshot und ebenso eine Markierungshilfe, wie ich sie verwendete, um euch zu zeigen, welche Felder in Reichweite eines bestimmten Feldes sind.


    Die Belohnung nach der harten Arbeit dürfe bei euch nun so aussehen:



    :achtung: Eine Kleinigkeit in diesem Bereich fehlt aber noch! Ist der Protagonist allein, ist diese Steuerung, wie sie nun existiert kein Problem und fertig. Wollt ihr jedoch eine größere Gruppe über diese Brücke führen, benötigt es eine kleine Änderung. Denn sollte der Protagonist springen und hat mehrere Mitstreiter, werden die Mistreiter nicht auf derselben Kachel landen wie der Protagonist, sondern auf Kacheln hinter dem Spieler. Etwas unschön, vor allem wenn einer der Mitstreiter auf einer Kachel landet, die normalerweise tödlich ist, jedoch nichts passiert.


    Keine Panik, dafür gibt es eine einfache Lösung, beim Start jedes Events führen wir am Anfang den Befehl Gefolge sammeln aus. Dieser ist in den Ereignisbefehlen zu finden:



    Ist dieser Befehl aktiv, wird bei dem Sprung der Protagonist und sein Gefolge auf derselben Kachel stehen. Der Befehl wirkt aber nur bei diesem einen Event, aus diesem Grund muss er in jedes Event eingebaut werden.