Ergebnis 1 bis 3 von 3

Thema: [Rm2k Script] Magic Message System

  1. #1

    [Rm2k Script] Magic Message System

    Magic Message System
    - ein Script für den Rm2k -

    Beschreibung
    Das Schreiben von Dialogen unterliegt im RPG-Maker durch das vierzeilige "Show Message"-Fenster einigen Beschränkungen. Zum Einen beherrscht der RPG-Maker keine automatischen Zeilenumbrüche, sodass man das Ende jeder Zeile selbst abschätzen muss. Gerade beim Verwenden von Textbefehlen wie \C[n] oder \S[n] ist das oftmals schwierig und bedarf häufiger Testläufe und Feinjustierungen. Zum Anderen müssen längere Dialoge durch das 4-Zeilen-Limit auf viele Textboxen aufgeteilt werden, wobei nachträgliche Textänderungen oftmals die Anpassung aller darauffolgenden Zeilen und Textboxen notwendig machen. Zuguterletzt existiert keine Option, Text zentriert anzeigen zu lassen, sodass man ihn mühsam manuell einrücken muss. All diese Faktoren machen das Schreiben von Dialogen zu einem frustrierenden Prozess.

    Im Optimalfall sollte es möglich sein, Dialoge als kontinuierlichen Text zu verfassen, den der RPG-Maker automatisch auf mehrere Zeilen und Textboxen aufteilt und auf Wunsch einrückt. Genau diese Aufgaben soll das vorliegende Script erfüllen. Mit dem Magic Message System gibt man den Namen des Sprechers zwischen spitzen Klammern an und schreibt den dazugehörigen Text einfach darunter. Der Text wird automatisch auf mehrere Zeilen und, wenn nötig, Textboxen aufgeteilt. Mit besonderen Textbefehlen lässt sich zudem die Ausrichtung des Texts festlegen.

    Schauen wir uns folgendes Textbeispiel an:

    Code:
    <NAME:Don Miguel>
    Hello there!
    <NEXT>
    My name is Don Miguel.
    You might remember me from your childhood.
    I'm the Russian guy who translated RPG Tsukuru 2000 from Japanese into English so that everyone from Germany to Brazil could use this magnificent piece of software we all came to love as RPG Maker 2000!
    Als erstes wird der Name des Sprechers als "Don Miguel" festgelegt, der in der ersten Zeile jeder Textbox erscheint. Darunter ist eine kurze Zeile Text angegeben. Darauf folgt der Befehl "<NEXT>", der eine neue Textbox beginnen lässt, in der der restliche Text angezeigt wird. Der restliche Text wird sowohl mit manuell eingefügten als auch automatischen Zeilenumbrüchen ausgegeben. Die letzte Zeile ist dabei so lang, dass sie auf 6 Zeilen in 2 Textboxen aufgeteilt wird.

    So sieht das Ganze dann im Spiel aus:



    Im hier gezeigten Beispiel kommt nur ein Sprecher vor, aber es lassen sich problemlos weitere Sprecher durch weitere <NAME> Tags hinzufügen. Der Länge des Dialogs sind keine Grenzen gesetzt.

    Klassische Textbefehle
    Da das Standard-Textsystem des RPG-Makers für die Ausgabe genutzt wird, funktionieren nachwievor (fast) alle herkömmlichen Textbefehle. Dazu zählen die Folgenden:
    • \C[x] Textfarbe (Werte: 0-19)
    • \S[x] Geschwindigkeit (Werte: 0-20, wobei 0 am schnellsten ist)
    • \N[x] Name von Held X
    • \V[x] Wert von Variable X
    • \$ Geldfenster anzeigen
    • \! Textausgabe anhalten bis Enter gedrückt wird
    • \. 1/4 Wartezeit
    • \| 1 volle Wartezeit
    • \^ Nachricht endet automatisch
    • \> \< Text zwischen \> und \< wird sofort dargestellt
    • \\ Zeigt ein ""

    Der einzige Befehl, der nicht mehr funktioniert, ist "\_" zur Darstellung eines halben Leerzeichens. Das liegt an einer Limitation des DestinyPatcher MessageLinks, der das Zeichen schlicht nicht ausgibt.

    MessageLink Textbefehle
    Die durch den DestinyPatcher eingeführten Datentypen (String, Float, Dword) lassen sich analog zur \V[x] Schreibweise für Variablen ausgeben:
    • \A[x] Inhalt von String x
    • \D[x] Wert von Dword x
    • \F[x] Wert von Float x

    Neue Textbefehle
    Textausrichtung
    Das Script führt neue Textbefehle ein, mit denen sich die Textausrichtung steuern lässt. Dafür stehen folgende Befehle zur Verfügung:
    • <LEFT>
    • <CENTER>
    • <RIGHT>

    Sämtlicher Text, der sich hinter einem solchen Befehl befindet, wird mit der entsprechenden Ausrichtung angezeigt.

    Namensanzeige
    Der in der ersten Zeile einer Textbox dargestellte Name lässt sich mit folgenden Befehlen festlegen:
    • <NAME:Yoda>
    • <NAME:$1>
    • <NAME:NONE>

    Mit der ersten Variante kann man direkt einen Namen wie "Yoda" angeben. Alternativ kann der Platzhalter "$1" verwendet werden, um den Namen von Held 1 anzuzeigen (funktioniert natürlich auch mit anderen Helden). Wenn man keinen Namen mehr anzeigen will, gibt man als Namen "NONE" an.

    Faceset-Steuerung
    Das aktuell verwendete Faceset lässt sich direkt aus dem Text heraus steuern. Mit folgenden Befehlen lässt sich das angezeigte Faceset konfigurieren:
    • <FACE:filename,position>
    • <FACE:$1>
    • <FACE:NONE>

    In der ersten Variante gibt man den Dateinamen des Facesets (ohne Dateiendung) an, gefolgt von einem Komma und der Position innerhalb des Facesets. Die einzelnen Faces sind dabei folgendermaßen nummeriert:



    Das gezeigte Faceset heißt "People1". Um das Gesicht des alten Opas anzuzeigen, würde man also <FACE:People1,7> schreiben.

    Als weitere Möglichkeit kann man den Platzhalter "$1" zu verwenden, um das Gesicht des ersten Helden anzuzeigen. In diesem Fall entfällt die Positionsangabe innerhalb des Facesets, da diese für den Helden ja feststeht. Wenn man kein Faceset mehr anzeigen will, verwendet man den Befehl <FACE:NONE>.

    Standardgemäß werden Faces auf der linken Seite der Textbox ungespiegelt dargestellt. Will man das Face auf der rechten Seite darstellen und/oder spiegeln, kann man die optionalen Parameter "RIGHT" und "FLIP" anhängen. Die Befehle würden dann beispielsweise so aussehen:
    • <FACE:filename,position,RIGHT,FLIP>
    • <FACE:$1,FLIP,RIGHT>

    Die Reihenfolge der optionalen Parameter ist beliebig und es ist auch möglich, nur einen zu verwenden.

    Neue Textbox starten
    Um eine neue Textbox zu beginnen, bevor die aktuelle voll ist, stehen folgende Befehle zur Verfügung:
    • <NEXT>
    • <CLEAR>

    Mit "<NEXT>" wird eine neue Textbox begonnen, wobei Namensanzeige, Faceset, Textfarbe- und geschwindigkeit beibehalten werden. Mit "<CLEAR>" wird eine neue Textbox begonnen, bei der diese Parameter alle zurückgesetzt werden.

    Standardeinstellungen
    Für die mit diesem Script angezeigten Texte lassen sich die Standard-Textfarbe und -Geschwindigkeit jeweils für normalen Text und die Namensanzeige konfigurieren. Zusätzlich lassen sich für den Namen ein Präfix und Suffix definieren. Standardgemäß ist als Suffix ":" eingestellt, wie auf den Screenshots hinter dem Namen zu sehen ist.

    Handhabung
    Um das Script zu nutzen, speichert man den darzustellenden Text im String a[800] und ruft dann ein CommonEvent auf:
    Code:
    <> Comment: $ a[800] = "Hello RPG Maker!";
    <> Call Event: Common Event "Show text"
    Der Text wird dann automatisch in so vielen Textboxen wie nötig dargestellt.

    Bei dem dargestellten Kommentar handelt es sich um ein DestinyScript, das durch den DestinyPatcher ausgeführt wird.

    Das Script einbinden
    Das Script lässt sich in jedes Rm2k-Projekt einbinden, das mit DestinyScript kompatibel ist. Dazu muss lediglich ein CommonEvent aus der Demo kopiert werden. Eine genaue Anleitung in englischer Sprache findet sich hier. Wer das Script nutzen will, sollte die Anleitung mindestens einmal durchlesen, da dort viele wichtige Details besprochen werden. Die Anleitung ist auf Englisch gehalten, damit das Script möglichst vielen Nutzern zugänglich wird.

    Kompatibilität
    Das Script ist mit allen RPG-Maker 2000-Spielen kompatibel, die mit Bananen-Joe's DestinyScript kompatibel sind. Soweit ich weiß trifft das auf alle Spiele zu, deren RPG_RT.exe mit dem RPG-Maker 2000 v1.07 erzeugt wurde. Mit der auf Steam erhältlichen Version des RPG-Maker 2000 ist der DestinyPatch nicht automatisch kompatibel. Man kann jedoch die RPG_RT.exe durch eine mit v1.07 erzeugte Version ersetzen. Dadurch gehen soweit ich weiß nur ein paar Funktionalitäten bei der Textausgabe im Kampfsystem verloren.

    Credits
    Wenn du das Script in deinem Spiel verwenden willst, erwähne bitte den Autor (Fauchi) und den Namen des Scripts (Magic Message System). Zusätzlich sollte Bananen-Joe für die Entwicklung des DestinyPatchers Erwähnung finden.

    Demo
    Eine Demo, in der das Script ausprobiert werden kann, steht unten zum Download bereit. Darin werden der automatische Zeilenumbruch, die Textausrichtung, Namensanzeige, Faceset-Steuerung und weitere Features demonstriert. Es lohnt sich außerdem, die Map zu erkunden, da diese ein paar Eastereggs enthält.

    Links


    Ich denke, durch das Script sollte das Dialogschreiben im Maker um einiges frustfreier werden. Probiert es mal aus und lasst mich eure Meinung hören.

    Geändert von Fauchi (13.05.2020 um 13:00 Uhr)

  2. #2
    Das Skript muss dringend für den RM2k3 her! Das wäre nämlich wirklich RICHTIG praktisch! Leider verwendet heutzutage kaum noch jemand den RM2k. Vielleicht lässt sich das ja auch ohne großen Aufwand für den 2k3 umsetzten

    LG,
    Mike

  3. #3
    Freut mich, dass es dir gefällt!

    Das Script für den Rm2k3 zu portieren ist gar nicht mal so einfach, da der DestinyPatcher nur den Rm2k unterstützt. Ein äquivalenter Patch für den Rm2k3 ist wohl DynRPG, mit dem ich mich leider gar nicht auskenne. Wenn man mit DynRPG Kommentarfelder einlesen und Textboxen ausgeben kann, sollte es aber prinzipiell möglich sein, das Script für den Rm2k3 nachzubauen. Das müsste allerdings jemand übernehmen, der sich mit DynRPG auskennt. Wenn sich dafür jemand finden ließe, wäre das super.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •