[RPG Maker MV] Balken-Anzeige erstellen

Tutorial für RPG Maker MV

 

Wolltet ihr schon immer eine eigene Anzeige erstellen?

Egal ob für die HP, Hunger, Stress, Karma oder Beziehungsbarometer.

Mit diesem kleinen Tutorial könnt ihr euch relativ einfach eigene Balken-Anzeigen (nicht im Menü integriert) erstellen.

 

 

:s_info: Diese Balken-Anzeigen können einen Wert von 0 bis 100% abbilden.

Schritt 1) Erstellen der Grafik

:s_pencil: Wir wollen einen einfachen farbigen Balken erstellen, der uns als Leiste dienen soll.

Den gleichen erstellen wir noch ein zweites mal, aber in anderer Farbe. Dies wird der Hintergrund des Balken werden, damit auch deutlich sichtbar wird, wie viel die eigentliche Leiste anzeigt.

:s_star: optional:

Wer möchte, kann sich als drittes noch einen Rahmen und oder eine Beschriftung erstellen, die man dann darauf anzeigen lassen kann.

Beispiel:

 Leiste für die Lebenspunkte (HP)

 Hintergrund für die HP

 Leiste für die Magiepunkte (Mana)

 Hintergrund für das Mana

 Rahmen

Für unseren Test werden wir ein einfaches Hungersystem basteln und nehmen dafür ganz einfache Balken, wie die für die HP.

 

 

Schritt 2) Einbau im Maker

Wir benötigen 1 Event, dass irgendwann das ganze System auslöst und für den Start konfiguriert.

Im Test erstelle ich dafür einen NPC, mit dem ich das System zum Test an- und ausschalten kann.

Außerdem werden wir zunächst 2 Schalter und 1 Variable benötigen.

Die Zahl in der Variable „Hunger“ stellt die Sättigung unseres Helden da. (:s_star: Und kann z.B. durch den Verzehr von Items beeinflusst werden.) Zunächst soll der Held satt sein, also die Leiste zu 100% voll sein, darum stellen wir den Wert auf 100.

Wir brauchen ein Gew. Ereignis in der Datenbank des Spiels, welches das System und die Anzeige steuert.

Ein Schalter „Needsystem“ steuert das komplette System und lässt das Gew. Ereignis parallel im Spiel mitlaufen. Der andere steuert die „Anzeige“ und sorgt dafür, dass wenn das System abgeschaltet wird, die Bilder der Anzeige auch gelöscht werden, ehe das System aus geht.

So kann man die Balken z.B. während einer Cutszene ausblenden.

Das etwas kniffelige an diesem Gew. Ereignis ist der Skript-Code-Block, der erforderlich ist. Den Befehl, um den folgenden Code einzugeben, findet ihr auf der 3. Seite der Eventbefehle:

var ID = 2; //Nummer des Bildes einsetzen
var name = 'Hunger'; //Dateinamen des Bildes in 'x' einsetzen
var origin = 0; //Ursprung
var x = 50; //X-Koordinate
var y = 50; //Y-Koordinate
var scalex = $gameVariables.value(1); //Breite des Bildes (Variable ID)
var scaley = 100; //Höhe des Bildes
var opacity = 255; //Deckkraft (0 für unsichtbar, 255 für volle Deckkraft)
var blendmode = 0; //Mischmodus
$gameScreen.showPicture(ID, name, origin, x, y, scalex, scaley, opacity, blendmode);

Mit diesem Code könnt ihr ein Bild anzeigen und seine Breite (var scalex) an eine Variable koppeln, die im Maker als % angegeben wird.

Somit wird das Bild automatisch an den Wert in der Variable „Hunger“ angepasst. Hat der Held also nur noch 20% Sättigung, ist auch der Balken nur 20% so breit, wie die eigentliche Leiste.

Ihr könnt euch für den Test z.B. ein NPC-Monster erstellen, welches beim anklicken den Hungerwert um einige Punkte senkt. So könnt ihr testen, ob das System auch funktioniert.

Damit ist das grundlegende System bereits fertig einsatzbereit.

 

 

Schritt 3) :s_star: optional: Berechnung bei sich verändernden Werten

Sollten sich die Werte eures Helden ändern können, z.B. dass er mit nur 10 Hungerpunkten startet und durch Training in der Lage sein soll, länger auszuhalten, also mehr Hungerpunkte zu haben, müssen wir ein wenig was am System verändern und eine Berechnung der Anzeige hinzufügen.

Dafür benötigen wir 2 weitere, also insgesamt 3 Variablen mit denen wir eine 3-Satz-Berechnung ausführen können.

Variable 1 = Maximale Hungerpunkte „MaxHunger“

Variable 2 = aktuelle Hungerpunkte „Hunger“

Variable 3 = Prozent der Anzeige „Anzeige“

Die Berechnung der „Anzeige“ muss vor dem Skript-Block eingefügt werden! Und die Variable für die Breite innerhalb des Skripts muss auf Variable 3 geändert werden.

Die Einstellung der maximalen Hungerpunkte (Variable 1) muss zusätzlich zunächst bei Spielstart erfolgen und wann immer sich der Wert verändern soll (z.B. durch LevelUp). Der aktuelle Hunger-Stand (Variable 2) ergibt sich im laufenden Spiel und ist der Wert, der durch z.B. Items beeinflusst wird.

:s_warning!: Die Darstellung des Balkens bleibt gleich, egal ob der Char jetzt 100 oder nur 10 Hungerpunkte maximal hat, es wird nur angezeigt, wie viel Prozent % davon gesättigt sind. Hat ein Char also 5 Hungerpunkte bei 10 als Maximum, wäre der Balken halbvoll, sprich 50%, bei 100 Hungerpunkten aber nur zu 5% voll und sähe entsprechend leer aus.

Zum Abschluss:

:s_heart: Danke an Grandro , der hier und da geholfen hat und dessen Skript-Code 100 einzelne Abfragen der Variable + entsprechende Bildanzeige einspart und diese Art der Balken-Darstellung sehr, sehr einfach gestaltet.