Flammenrä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 nur wieder gelandet? Mitten in einem Dungeon scheint es nicht weiter zu gehen, die Tür ist versperrt!
Um was geht es in diesem Tutorial?
Links und rechts befinden sich je zwei Feuerschalen auf dem Boden. Zudem vier blaue und ein roter Schalter. Die Schalter regulieren die Luftzufuhr zu den Flammen. Jedes Mal, wenn man der Charakter auf einem Schalter steht, verändert sich das Flammenbild. Der rote Schalter dient dazu die Flammen zu löschen. Das Ziel für den Spieler ist es heraus zu finden, welche Schalter man drücken muss, um alle Flammen auf dieselbe Größe zu bekommen.
Benötigtes Script
Ladet euch zuerst den Script für die Licht Effekte herunter.
Link zum Script CSCA Light Effects von Casper Gaming: https://www.rpgmakercentral.com/topic/8589- csca-light-effects/
Wichtig: Die beiliegende Licht Grafikdatei einbinden unter: \Name eures Projekts\Graphics\Pictures
Anmerkung: Das Licht-Script wurde für eine optische Verschönerung benutzt und funktioniert nur im RPG Maker VX Ace. Für andere Maker gibt es ebenfalls Lichtscript. Wollt ihr kein Licht-Script nutzen oder nutzt einen anderen Maker, überspringt die Tutorialteile mit dem Script und nutzt nicht die Script-Befehle.
Das Script und die ersten Lampen
Das Erste, was wir brauchen, ist ein Dungeon, ob kompliziert, ob einfach. Es ist euch überlassen. Hier seht ihr meinen Dungeon in der Grundgestalt. Ohne Events und all den Schnickschnack:
Das Erste, was wir nun tun, ist den Script einzubauen. Dazu geht ihr auf das kleine Symbol in der Symbolleiste, was ich euch markiert habe. Es nennt sich Script Editor und ist ebenfalls über die Taste F11 zu erreichen.
Es öffnet sich ein neues Fenster. Lasst euch jetzt nicht gleich abschrecken, ich erkläre alles Schritt für Schritt! Wir scrollen ganz nach unten, bis wir auf der linken Seite den Eintrag „Materials“ finden. Hier klicken wir mit der rechten Maustaste auf „Insert here“ ein kleines Fenster öffnet sich, wo wir Einfügen auswählen.
Zwischen „Materials“ und „Insert here“ wird nun ein Leerbereich geschaffen. Etwas weiter unten findet ihr den Eintrag „Name:“ und ein kleines Feld rechts daneben. Hier wird der Script benannt. Wie ihr ihn nennt ist egal, es hat keine Auswirkungen auf den Script und dient nur zur Übersicht. Der Script, den ich euch in einem anderen Reiter hier im Tutorial schon eingetragen habe, wird nun einfach wie ein normales Textdokument komplett kopiert. Klickt in den rechten großen weißen Bereich des Scriptfensters und fügt den Text ein. Wahlweise über „STRG+V“ oder über die rechte Maustaste und da auf Einfügen gehen.
Zur Kontrolle, das Script fängt an mit:
=begin
CSCA Light Effects
Und endet mit:
end
end
Bisher war es ja noch ganz einfach oder? Zwischendurch klicken wir unten rechts auf Übernehmen, um unseren bisherigen Fortschritt im Script Editor zu speichern. Nun wird es aber schwieriger. Ich verliere ein paar Worte über den Script. Dieser ist eigentlich sehr einfach gestrickt. Er arbeitet rein über Schalter. In Zeile 38 und 39 wird der Aufbau des Scripts erklärt, den wir ab Zeile 88 einstellen können.
Wie schon im oberen Bild zu sehen, haben wir mehrere Einstellmöglichkeiten die der Reihe nach wären:
name | Der Name des Lichteffektes, den wir später aufrufen, z. B. „GROUND1“ oder „LIGHT2“. |
graphic | Der Name der Grafikdatei für den Lichtkreis. Bitte noch einmal unter Script nachsehen. Da habe ich erklärt, wie ihr die Grafikdatei eintragen müsst. Der Name hier muss mit dem Namen der Grafikdatei identisch sein. |
zoom_x | Die Größe des Lichtkreises auf der X-Achse (horizontal). Umso größer die Zahl, umso größer der Lichtkreis. Mehr als 6 habe ich bisher nicht genutzt. |
zoom_y | Die Größe des Lichtkreises auf der Y-Achse (vertikal). Umso größer die Zahl, umso größer der Lichtkreis. Mehr als 6 habe ich bisher nicht genutzt. |
opacity | Die Deckkraft des Lichtes. Umso kleiner der Wert, u so geringer die Deckkraft. 255 ist der maximale Wert, dabei ist die Deckkraft 100%. |
blend_type | Für was der Blend Typ zuständig ist, kann ich euch nicht sagen. Noch nie gebraucht, noch nie genutzt. |
ton | Drei Zahlen, hier stellt ihr die RPG-Farben eures Kreises ein. Diese Farben stimmen im Übrigen nicht mit normalen RPG-Farben überein! Wenn ihr eine Farbe sucht, öffnet euch am Besten ein neues Event. Geht da auf Bildschirm färben und sucht euch eine Farbe aus. Notiert die drei oder vier Werte und tragt sie dann im Script ein. |
switch | Etwas sehr Wichtiges! Dies ist der Schalter, mit dem das Licht ein- und ausgeschaltet werden kann, z. B. ist hier die Zahl 23 der Schalter Nr. 23 in eurem Event. Ist der Schalter auf AN, ist das Licht an. Ist der Schalter auf AUS, ist das Licht aus. Tipp: Ihr könnt mehreren Lichtern den gleichen Schalter geben. Es braucht also nicht jedes Licht einen eigenen Schalter. |
rand_opacity, adjust_X, adjust_y und custom_ z | Diese 4 Werte fasse ich einmal zusammen. Zum einen kann ich euch nicht sagen, für was sie da sind, zum anderen noch nie gebraucht. |
Effects | Ganz am Anfang jeder Zeile findet ihr den Namen Effects und eine Zahl dahinter. Diese Zahl muss immer fortlaufend sein. Eine Zahl darf nie doppelt sein! |
Noch eine kleine Erklärung im Allgemeinen:
Jede Zeile beinhaltet eine Lichtquelle mit verschiedenen Eigenschaften. Oben findet ihr eine Erklärung für die vorgegebenen Lichter.
EFFEK1 – LIGHT1 ist ein kleines weißes Licht.
EFFEKT9 – GROUND3 ist ein kleines rotes Licht.
Nun werden wir an diesen Werten Mal ein klein wenig herumspielen. Eigentlich nur an zwei Werten, wir wollen ja klein anfangen.
Wir gehen in folgende Zeile: „EFFECTS[5] = [„TORCH2“, „Light“, 6, 6, 150, 1, Tone.new(255,-100,- 255), 6, 10, 0, 0, 1000]“
Das Licht ist uns zu groß mit X=6 und Y=6. Darum ändern wir dies in X=4 und Y=4. Zudem ist uns der Schalter 6 nicht genehm. Ich möchte, dass Schalter 3 für dieses Licht zuständig ist. Drum wird die Zahl auf 3 geändert.
Nun müsste eure Zeile so aussehen: „EFFECTS[5] = [„TORCH2“, „Light“, 4, 4, 150, 1, Tone.new(255,- 100,-255), 3, 10, 0, 0, 1000]“
Wir merken uns den Namen „TORCH2“, den Namen der Grafik „Light“ und die Nummer des Schalters „3“.
Wir gehen rechts unten auf OK und das Fenster wird geschlossen.
Geschafft! Nun wird es wieder etwas einfacher. Wir setzen uns ein Event in den Raum und gehen bei der Grafik des Events unter „!Other2“und wählen uns die Fackel aus.
Als Optionen stellen wir ein:
Stepping Animation
Drehung Blockieren
Ansonsten brauchen wir nichts ändern. Im Inhalt des Events legen wir uns einen Kommentar an. Diesen findet ihr auf der ersten Seite für Eventbefehle ganz links unten.
Hier schreiben wir nun folgendes hinein:
LIGHT: TORCH2
Müsste euch ja bekannt vorkommen, oder? Es stammt aus der Zeile, die wir uns gemerkt haben. „Light“ ist die Grafikdatei und „TORCH2“ die Einstellung der Lampe. Das war auch schon der gesamte Zauber der Event-Datei für ein Licht. Wir haben so zu sagen die Glühbirne in die Fassung geschraubt.
Klickt rechts unten auf OK und kopiert dieses Event noch ein paar Mal, um den Dungeon etwas aus zu leuchten. Bei mir sieht es nun so aus:
Weiter geht es! Wenn es in einen Dungeon geht, werdet ihr ja sicherlich den Befehl „Bildschirm färben“ benutzen, damit es im Dungeon nicht taghell ist. Damit es etwas schöner aussieht und der Übergang von außen zum Dungeon fließend ist, macht man dies am besten zusammen mit dem Teleport. Dieses Event wird außerhalb der jetzigen Map gesetzt, von wo ihr her kommt. Ich nehme an ein schöner taghell erleuchteter Wald.
Die erste Zeile ist der Standard-Sound
Die zweite Zeile blendet auf komplett schwarz ab
Die dritte Zeile teleportiert den Spieler in den Dungeon
Achtung: Bei Überblendung bei der Teleportersteuerung „Kein“ einstellen.
Somit hätten wir jetzt den Teleport zum Raum geschaffen. Würde man jetzt den Teleport nutzen, wäre es stockfinster. Ist ja auch logisch. Wir haben gesagt die Bildschirmfarbe auf komplett schwarz stellen.
Darum brauchen wir jetzt das erste Event in unserem Dungeon!
Im Übrigen werde ich jetzt nicht jeden Mausklick einzeln erklären. Das würde den Rahmen bei Weitem sprengen. Ich werde kleine Events im Ganzen präsentieren und erklären. Größere Events in Stücken aufzeigen und erklären.
Wir brauchen, sobald der Spieler auf die Karte kommt, ein Event, was sofort reagiert. Deshalb wird es hier ein Autostart-Event.
Das Erste, was geschehen muss, ist die Färbung des Bildschirms. Dafür nutzen wir folgende Werte:
Ton: -100 -100 -100 0
Wartezeit: 20 Frames
Bis hier alles normal.
Jetzt schalten wir die Lichter der Fackeln an. Wie wir uns erinnern, ist dafür Schalter 3 zuständig. Darum Schalter 3 benannt und auf AN gestellt.
Das Nächste ist ein Scriptcode, den ihr eintragen müsst. Dieser ist für Folgendes zuständig:
Ein Event kann, wie ihr wisst, mehrere Seiten haben (Reiter). Vorhin haben wir ein Licht mit einen Kommentarbefehl aufgerufen. Nun könnte ich auf jede Eventseite einen Lichtkommentar machen. Damit wenn wir die verschiedenen Eventseiten aufrufen auch das richtige Licht angezeigt wird, kann man die Lichtquellen über diesen Scriptbefehl aktualisieren.
Der Script Befehl lautet: $game_map.csca_light_need_refresh = true
Als Letztes kommt der Befehl „Event (vorübergehend) entfernen“. Das Event wird also hier beendet und wird erst wieder neu gestartet, wenn der Spieler die Karte erneut betritt.
Nun testen wir mal das Ganze. Wenn alles gut gelaufen ist, müsste es im Spiel nun so aussehen.
Die Flammenschalen
Kommen wir zum nächsten Punkt des Tutorials – die Flammenschalen. Sicher werdet ihr am Anfang des Tutorials die Schalen gesehen haben. Diese gibt es so im Maker nicht, darum hier die Schalen als Download:
Die Grafikdatei ist dem Tutorial in einer Zip-Datei beigelegt. Die Datei ist passend für den RPG Maker VX Ace und darf nur mit einer RPG Maker VX Ace Lizenz verwendet werden!
Diese Grafikdatei müsst ihr einbinden unter: \Name eures Projekts\Graphics\Charakters
Fertig? Dann geht es sofort weiter. Auf der Karte habt ihr ja gesehen, dass ich links und rechts zwei kleine Inseln gemacht habe. Wie ihr euch erinnert, stehen da die Feuerschalen. Je zwei links und zwei rechts. Wir werden nun die Feuerschale ganz links als erstes eventen.
Event Flamme 1 – Reiter 1
Wir erstellen uns ein neues Event welches wir „Flamme 1“ nennen.
Als Bedingung erstellen wir uns eine neue Variable, die wir „Flamme 1“ nennen. Die Größe der Variable ist auf der ersten Reiterseite 0!
Als Grafik nutzen wir die leere Flammenschale aus der Datei, die ihr gerade in euer Projekt eingebaut habt.
Als Optionen stellen wir ein:
Stepping-Animation
Drehung blockieren
Event Flamme 1 – Reiter 2
Als Bedingung setzen wir die Variable, die wir „Flamme 1“ nannten, auf die Größe 1.
Als Grafik nutzen wir die Flammenschale mit dem kleinen roten Glühen.
Als Kommentar setzen wir hier: „LIGHT: Orange1“
Als Optionen stellen wir ein:
Stepping-Animation
Drehung blockieren
Event Flamme 1 – Reiter 3
Als Bedingung setzen wir die Variable, die wir „Flamme 1“ nannten, auf die Größe 2.
Als Grafik nutzen wir die Flammenschale mit der gelben Flamme.
Als Kommentar setzen wir hier: „LIGHT: Gelb1“
Als Optionen stellen wir ein:
Stepping-Animation
Drehung blockieren
Event Flamme 1 – Reiter 4
Als Bedingung setzen wir die Variable, die wir „Flamme 1“ nannten, auf die Größe 3.
Als Grafik nutzen wir die Flammenschale mit der grünen Flamme.
Als Kommentar setzen wir hier: „LIGHT: Gruen1“
Als Optionen stellen wir ein:
Stepping-Animation
Drehung blockieren
Event Flamme 1 – Reiter 5
Als Bedingung setzen wir die Variable, die wir „Flamme 1“ nannten, auf die Größe 4.
Als Grafik nutzen wir die Flammenschale mit der blauen Flamme.
Als Kommentar setzen wir hier: „LIGHT: Blau1“
Als Optionen stellen wir ein:
Stepping-Animation
Drehung blockieren
Damit sind wir hier fertig und klicken auf OK.
Moment, werden jetzt einige sagen, die Kommentare wurden zwar jetzt eingetragen, aber die waren doch überhaupt nicht im Script drin!
Richtig, dazu aber gleich mehr, es folgt noch ein weiterer Schritt bis dahin.
Wir haben bisher nur ein Flammenevent erzeugt, jedoch brauchen wir noch drei weitere.
Wir haben gerade eben das Event „Flamme 1“ ganz links auf der Insel erstellt, das Event rechts daneben nennen wir „Flamme 2“.
Auf der rechten Inseln nennen wir die Flamme links „Flamme 3“ und rechts daneben „Flamme 4“.
Alle Events an irgendein Platz? Dann geht es sofort weiter, denn es sind an den Events „Flamme 2“, „Flamme 3“ und „Flamme 4“ ein paar wenige Änderungen vor zu nehmen. Wie ihr wisst, haben wir ja beim Event „Flamme 1“ die Bedingung „Variable Flamme 1“eingetragen. Dies müssen wir nun bei den Events „Flamme 2“, „Flamme 3“ und „Flamme 4“ ändern.
Wir ändern beim Event „Flamme 2“ die Bedingung „Variable Flamme 1“ auf „Variable Flamme 2“. Wir legen also eine neue Variable an. Dies macht ihr in jeder Reiterebene des Events „Flamme 2“ so.
Die Zahlen bleiben überall erhalten und werden nicht verändert!
Ebenfalls sind die Kommentare im Event „Flamme2“ etwas zu verändert. Statt der 1 im Kommentar wird eine 2 eingetragen.
Ein Beispiel:
Ihr ahnt vielleicht schon, was nun kommt:
Dasselbe, was wir nun beim Event „Flamme 2“ gemacht haben, wiederholen wir nun bei den Events „Flamme 3“ und „Flamme 4“. Dabei werden noch zwei weitere Variablen erzeugt, „Variable Flamme 3“ und „Variable Flamme 4“.
Jetzt kommen wir zu dem Punkt, der vielleicht erst einmal aufhorchen ließ. Wir haben ja in jedem Event auf mehreren Reitern verteilt Lichtkommentare gesetzt, die es nicht gab. Das holen wir jetzt nach. Wir öffnen noch einmal den Script-Editor und gehen noch einmal in den Licht-Script und fügen Folgendes unter den bestehenden Lichtern ein:
EFFECTS[14] = ["GROUND6", "Light", 3, 3, 150, 1, Tone.new(255,-100,-255), 37, 10, 0, 0, 1000]
EFFECTS[15] = ["Orange1", "Light", 2, 2, 150, 1, Tone.new(255,-255,-255,255), 4, 10, 0, 0, 1000]
EFFECTS[16] = ["Gelb1", "Light", 2, 2, 150, 1, Tone.new(255,-100,-255), 5, 10, 0, 0, 1000]
EFFECTS[17] = ["Gruen1", "Light", 2, 2, 150, 1, Tone.new(-255,255,-255,100), 6, 10, 0, 0, 1000]
EFFECTS[18] = ["Blau1", "Light", 2, 2, 150, 1, Tone.new(-255,255,255,100), 7, 10, 0, 0, 1000]
EFFECTS[19] = ["Orange2", "Light", 2, 1, 150, 1, Tone.new(255,-255,-255,255), 8, 10, 0, 0, 1000]
EFFECTS[20] = ["Gelb2", "Light", 2, 2, 150, 1, Tone.new(255,-100,-255), 9, 10, 0, 0, 1000]
EFFECTS[21] = ["Gruen2", "Light", 2, 2, 150, 1, Tone.new(-255,255,-255,100), 10, 10, 0, 0, 1000]
EFFECTS[22] = ["Blau2", "Light", 2, 2, 150, 1, Tone.new(-255,255,255,100), 11, 10, 0, 0, 1000]
EFFECTS[23] = ["Orange3", "Light", 2, 2, 150, 1, Tone.new(255,-255,-255,255), 12, 10, 0, 0, 1000]
EFFECTS[24] = ["Gelb3", "Light", 2, 2, 150, 1, Tone.new(255,-100,-255), 13, 10, 0, 0, 1000]
EFFECTS[25] = ["Gruen3", "Light", 2, 2, 150, 1, Tone.new(-255,255,-255,100), 14, 10, 0, 0, 1000]
EFFECTS[26] = ["Blau3", "Light", 2, 2, 150, 1, Tone.new(-255,255,255,100), 15, 10, 0, 0, 1000]
EFFECTS[27] = ["Orange4", "Light", 2, 2, 150, 1, Tone.new(255,-255,-255,255), 16, 10, 0, 0, 1000]
EFFECTS[28] = ["Gelb4", "Light", 2, 2, 150, 1, Tone.new(255,-100,-255), 17, 10, 0, 0, 1000]
EFFECTS[29] = ["Gruen4", "Light", 2, 2, 150, 1, Tone.new(-255,255,-255,100), 18, 10, 0, 0, 1000]
EFFECTS[30] = ["Blau4", "Light", 2, 2, 150, 1, Tone.new(-255,255,255,100), 19, 10, 0, 0, 1000]
Dies sind die Lichter für die verschiedenen Flammen. Ein blauer Schein für ein blaues Feuer, ein roter Schein für ein rotes Feuer ect. Was die einzelnen Werte zu bedeuten haben, hatte ich ja schon erzählt, darum rolle ich es nicht noch einmal auf.
Lasst euch nicht von „Effekt 14“ stören, den brauchen wir nicht. Ist noch übrig von meinem testen. Kann es aber auch nicht einfach entfernen, da, wie ich schon sagte, die Effekt-Zahlen fortlaufend sein müssen.
Bei euch müsste es nun so aussehen:
Speichert und beendet den Script-Editor.