Plugins einbinden und nutzen [RPG Maker MZ]
Engine: Das Tutorial wurde mit dem RPG Maker MZ erstellt und funktoniert nur im RPG Maker MZ.
Rechte: Für kommerzielle und nicht-kommerzielle Verwendung im RPG Maker.
Credits: Game Alchemists - http://gamealchemists.com
Einleitung
In diesem Tutorial beschäftigen wir uns mit der Frage, wie man Plugins in sein Projekt einbinden und nutzt. Für unser Tutorial werden wir das Community Lightning von Terrax, iVillain, Aesica, Eliaquim, Alexandre, Nekohime1989 und Snaphat verwenden.
Download
Der Download ist fast bei jedem Plug-in anders. Mal ladet ihr ein Projekt herunter, mal nur eine JavaScript Datei. Mal im Dateianhang, mal von einem Hoster. Hier kann ich euch aber schlecht helfen, aber das bekommt ihr, denke ich hin. Bei diesem Tutorial laden wir ein Projekt von Github herunter. Dies ist sozusagen eine Webseite im Internet, um Code zu speichern und mit anderen zu teilen.
Geht auf den Downloadlink und ladet euch die 'Community_Lighting_MZ.js' herunter. 'JS' steht als Endung für JavaScript. Diese Datei werden wir in unser Projekt einbauen.
Um kurz und knapp zu verstehen, was eine JavaScript Datei ist. Stellt euch so eine Datei als eine Art Ansammlung von Befehlen vor, die man im Spiel aufrufen kann. In dieser JavaScript Datei zum Beispiel sind Befehle vorhanden, die Scene zu färben, Lichter zu erstellen, Licht flackern zu lassen und noch vieles mehr. Eine JavaScript Datei ist dabei kein eigenes Programm, kann also selbst nicht ausgeführt werden. Sie erweitert das Projekt nur um neue Funktionen, die ihr im Spiel erst selbst aufrufen müsst.
Eine Zeile weiter oben findet ihr 'CommunityLightingMZDemo.zip' Dies ist eine gepackte Projektdatei, in der ihr herum stöbern könnt und in der alle Funktionen einmal gezeigt werden. Auf dieses Projekt werde ich jedoch nicht eingehen. Hier möchte ich euch zeigen, wie man eine JavaScript Datei einbaut und wie man sie nutzt.
Einbinden unter Windows
Wie gesagt, ladet erst einmal die JavaScript Datei herunterladen. In Windows, in eurem vollständig gut aufgeräumten Downloadordner liegt sie nun ohne großes finden für uns bereit.
Kopiert die Datei und geht in Windows in euren Projektordner in den Unterordner 'js'.
In diesem Unterordner geht ihr nun in den Ordner 'plugins'.
Im Ordner 'plugins' kommen alle JavaScript Dateien, die ihr in euer Projekt einfügen woll. Derzeit sind schon vier Dateien enthalten. Diese werden beim Anlegen eines Projektes automatisch hinzugefügt.
Fügt nun die JavaScript Datei ein. Nun sollte es bei euch so aussehen.
Einbinden im RPG Maker MZ
Im RPG Maker MZ geht ihr nun in den Plug-in-Manager. In diesem Manager werden alle Plugins als Liste aufgelistet, die ihr in eurem Projekt eingebaut habt. Ihr könnt sie hier in eurem Projekt einfügen und entfernen, aktivieren und deaktivieren.
Derzeit ist in der Liste des Plug-in-Managers kein Plugin aktiv. Das ändern wir nun, in dem wir einen Doppelklick auf die blaue Leiste machen.
Es öffnet sich ein neues Feld. Dies ist die Übersicht eines einzigen Plug-in. Derzeit ist hier nichts ausgewählt. Geht auf das Dropdownfeld und alle Plug-in aus dem Windows Ordner von gerade eben werden angezeigt.
Wir wählen hier das 'Community_Lighting_MZ' Plug-in aus. Auf der rechten Seite habt ihr ein Scrollfenster. In diesem stehen alle Informationen, die ihr für ein Plug-in benötigt. Je nach Umfang des Plug-in kann die Beschreibung länger oder kürzer ausfallen. Mein Tipp an euch kopiert euch diesen Text aus dem Fenster heraus und fügt ihn euch zum lesen in ein Textprogramm ein. Bestätigt nun mit 'OK' eure Auswahl.
Ihr kommt in die vorherige Ansicht zurück. Gerade hatten wir festgestellt, dass nichts angezeigt wird und nun sind alle Bereich mit Informationen gefüllt.
Links oben habt ihr den Namen des Plug-in und den Autor bzw. die Autoren. Im Status könnt ihr das Plugin aktivieren und deaktivieren. Nützlich ist dies vor allem bei der Fehlersuche.
Etwas weiter unten habt ihr die Kurzinformation zum Plug-in. Hier werden meistens Informationen zum Versionsstand hinterlegt. Derzeit nutzen wir hier die Version 4.6.
Im Bereich Hilfe haben wir wieder die Übersicht die wir gerade eben hatten mit allen Informationen und Befehlen die in diesem Plug-in möglich sind.
Der wichtigste Bereich ist auf der rechten Seite zu finden, die 'Parameter'. Die 'Parameter' sind sozusagen die Basiseinstellungen des Plug-in. Hier kann man die Grundfunktionen festlegen. Zum Beispiel 'Daynight Cycle'.
Machen wir einen Doppelklick auf die Teile 'Daynight Cycle' können wir die Funktion aktivieren, deaktivieren und erfahren ihre genaue Funktion. Wir würden hier den Wert auf 'AUS' setzen und mit 'OK' bestätigen. Weiter unten finden wir den Befehl 'Player radius', diesen Wert setzen wir auf '0' (auf den Screenshots vergessen).
Die Parameterliste ist in diesem Plug-in sehr lang, aber es hat halt auch extrem viele tolle Funktionen. Wie ihr euch denken könnt, unterscheidet sich der Umfang je nach Plugin und es würde den Rahmen dieses Tutorials sprengen, jede Funktion von allen Seiten zu beleuchten.
Ich gebe ich hier den Tipp, dass ihr jedes Plug-in zuerst in einem extra Projekt testet. Hier könnt ihr jede Funktion austesten, ohn Angst haben zu müssen euer eigenes Projekt zu beschädigen. Zudem ist es auch sinnvoll, da man vorher nicht immer 100%ig weis, ob dieses Plug-in genau das macht, was man gerade sucht. Arbeitet euch in Ruhe durch die 'Hilfe'. Die Plug-in Entwickler beschreiben eigentlich immer sehr genau mit Beispielen, wie alles funktioniert. Wir können durch 'OK' nun diesen Bereich verlassen.
Und landen wieder in der Plug-in-Liste unseres Plug-in-Managers. Wir sehen hier in der Liste nun das erste hinterlegte Plug-in, welches seine Arbeit verrichten soll. Wir können den 'Status' sehen, den 'Namen' und die 'Kurzbeschreibung'.
Das Plug-in ist also bereit, unsere Befehle zu empfangen, denn Derzeit wird dieses Plugin nicht viel machen. Hier klicken wir auch wieder auf 'OK'.
Pluginbefehl
Im Moment macht unser Plug-in gar nichts. Wir müssen ihm nun "sagen" was gemacht werden soll. In unserem Beispiel werden wir die Scene färben und ein Lagerfeuer entzünden.
Wir erstellen uns nun ein Event, welches den Tintbefehl an das Plug-in sendet, sobald der Spieler die Karte betritt. In unserem Event stellen wir den Auslöser auf 'Parallelen Prozess' und als Inhalt gehen wir nun im 'Ereignisbefehle' Fenster in die dritte Reiterseite nach unten rechts auf 'Plug-inBefehl...'.
Wieder erscheint ein leeres Fenster.
Um den Befehl nutz nutzen, müssen wir nun im Dropdown-Feld unser Plug-in auswählen und klicken auf 'OK'.
Auf der rechten Seite können wir nun nach dem passenden Befehlsnamen suchen. Wir nehmen in der Auswahl 'Set Tint'.
Nun schauen wir uns den unteren Teil des 'Plug-in'Befehl' Fensters an, hier stehen 'Argumente'. Wir haben nun gesagt, dass wir mit 'Set Tint' die Scene färben wollen. Das ist schön und gut, aber das Plug-in kann ja nicht wissen was wir machen wollen. Soll die Scene blau, gelb, lila, pink, Morgenröte oder Abenddämmerung sein?
Dafür sind Argumente gut! Diese "sagen" zum Beispiel hier, das der Befehl 'Set Tint' ausgeführt werden soll, mit der 'Tint Color' '#888888'. 'Fade Speed' ist 0. Aber was bedeutet das?
Das erste Argument 'Tint Color' sagt aus, mit welcher Farbe die Scene gefärbt werden soll. Der Wert der dabei angegeben werden soll, ist ein 'Hashtag Farbwert'. Diesen könnt ihr recht einfach in einem Grafikprogramm ermitteln oder in einem Onlinefarbrad.
Das zweite Argument 'Fade Speed' sagt aus, wie schnell die Scene gefärbt werden soll. Macht ihr einen Doppelklick auf den Wert erfahrt ihr, dass eine Geschwindigkeit zwischen 0 und 20 gewählt werden kann. Dabei ist 0 sofortige Färbung und 20 eine sehr langsame Färbung.
Da auf unserer Scene Nacht sein soll, bleibt der Speed auf 0, denn wir wollen eine sofortige Färbung. Als Farbe geben wir den Wert '#585a8e' an.
Wir gehen auf 'OK' und kommen in unser Eventfenster zurück. Als nächstes wird noch der Befehl 'Ereignis löschen' eingefügt.
Was macht das Event nun? Durch den Parallelen Prozess wird das Event gestartet, sobald der Spieler die Map betritt, der Plug-in-Befehl 'Set Tint' wird ausgeführt und danach wird das Ereignis gelöscht, denn nach dem setzen der Farbe benötigen wir das Plugin nicht mehr. Das Event wird also durch 'Ereignis löschen' von der Map entfernt. Kommen wir wieder einmal auf diese Map ist das Event wieder da, wird wieder einmalig ausgeführt und wieder gelöscht. Es ist dafür da, dass bei jedem betreten der Map der Befehl einmalig ausgeführt wird.
Damit können wir dieses Event verlassen.
Wenn wir nun das Spiel anstellen, hätten wir einen schwarzen Bildschirm! Warum? Ganz einfach, wir haben nur gesagt, dass die Scene gefärbt werden soll. Das Plug-in benötigt jedoch min. eine Lichtquelle auf der Map um ordentlich zu arbeiten. Es muss dabei kein "echtes" Licht sein, es kann auch ein Fakelicht sein.
Fakelicht: <cl: light 0 #000000>
Licht unseres Lagerfeuers: <cl: fire 120 #ffaa55>
Diese Kommentare werden in ein Event eingebaut und zeigen dem Plug-in das hier ein Licht erzeugt werden soll.
Das erste Stück der Zeile dient rein zur Interpretation des Plug-in und darf nicht verändert werden.
'light' oder 'fire' stehen für den Typ des Lichts. 'light' ist eine Art Lampenlicht, 'fire' ist ein Licht wie ein Feuer, es wird flackern.
Die Zahl dahinter ist der Durchmesser des Lichts. Um so größer die Zahl, um so größer der Lichtkegel.
Danach folgt wieder ein Hasttag-Wert als Farbe, damit das Plugin weis, welche Farbe das Licht haben soll.
Am Ende kommt wieder die Spitze Klammer, die zur Interpretation des Plug-in dient, auch das darf nicht verändert werden.
Das kleine Stück Code kann nun an zwei Stellen im Event eingebaut werden. Entweder in den Hinweisbereich des Events. Es hat den Vorteil, dass es immer da ist, egal wie viele Eventseiten vorhanden sind.
Alternativ kann man es als Kommentar in eine Eventseite schreiben. Hierbei ist zu beachten, dass wenn die Eventseite gewechselt wird, der Kommentar nicht mehr aktiv ist. Man kann sich dies zu nutze machen, um die Färbung des Events zu ändern oder ein Licht zu deaktivieren.
Starten wir nun unser Projekt, sitzt Reid nun gemütlich in der Dunkelheit vor seinem Lagerfeuer.
Damit wären wir am Ende des Tutorials angekommen. Ich hoffe, ihr konntet etwas dazu lernen und falls ihr Fragen habt, scheut euch nicht, sie zu stellen!