Ergebnis 1 bis 1 von 1

Thema: [Rm2k Script] Dynamic Charsets

  1. #1

    [Rm2k Script] Dynamic Charsets

    Dynamic Charsets
    - ein Script für den Rm2k -



    Beschreibung
    Der eine oder andere wird sich bereits hin und wieder gewünscht haben, während des Spiels die Grafik des Helden frei anpassen zu können. Sei es, um das Outfit zu ändern oder die ausgerüstete Waffe sichtbar zu machen. Bisher musste man für jede erdenkliche Kombination eine vorgefertigte Grafik erstellen. Damit soll jetzt Schluss sein.

    Dank Bananen-Joe's DestinyPatcher ist es möglich, die Spielgrafiken zu manipulieren und damit dynamische Charaktergrafiken zu erzeugen. Auf dieser Grundlage habe ich ein Script entworfen, das die Nutzung dieser Funktionalität möglichst leicht zugänglich machen soll.

    Dadurch ist es nun möglich, live im Spiel Charsets nach folgendem Schema aus einzelnen Templates zusammenzusetzen:



    Dabei sollte besonders betont werden, dass die Templates durch dieses Script nicht über Pictures angezeigt und ein Charset simuliert wird, sondern die Templates temporär auf das Charset gezeichnet werden! Dadurch verhält sich das dynamisch erzeugte Charset wie jedes andere RPG-Maker-Charset, wird also durch höherliegende Tiles und Events auf der Map verdeckt.

    Handhabung
    Um das Script zu nutzen, ist lediglich folgender Eventcode nötig, den ich gleich ausführlich erklären werde:
    Code:
    <> Change Variable: [4021] = 10001
    <> Comment: $
    :        a[900] = "BodyStandard";
    :        a[901] = "HeadAlex";
    :        a[905] = "HairAlexBrown";
    :        a[909] = "ClothesAlex";
    <> Call Event: Common Event "Draw character"
    In Variable #4021 gibt man die ID des Events an, dessen Grafik verändert werden soll. Die EventID 10001 entspricht der des Helden. Hiermit wird also die Heldengrafik verändert.

    Darunter ist in einem Kommentarfeld ein DestinyScript eingefügt (DestinyScripts erkennt man daran, dass sie mit '$' beginnen). Darin wird den Strings mit den IDs 900, 901, 905 und 909 jeweils ein Wert zugewiesen (in DestinyScript befinden sich alle Strings im Array a[ ]). Bei dem Wert handelt es sich um den Dateinamen des Templates, das man nutzen möchte. Die String IDs geben an, um welchen Layer es sich handelt (Körper, Kopf, Haare, Kleidung, etc. - dazu gleich mehr!).

    Zuguterletzt wird ein CommonEvent aufgerufen, das die angegebenen Templates auf die Grafik des angegebenen Events zeichnet.

    Layers
    Das Script bietet 20 funktional verschiedene Layer, für die jeweils ein Template angegeben werden kann:
    • 900. Körper
    • 901. Kopf
    • 902. Ohren
    • 903. Augen
    • 904. Brille
    • 905. Haare
    • 906. Bart
    • 907. Kopfbedeckung
    • 908. Halskette
    • 909. Kleidung
    • 910. Hose
    • 911. Gürtel
    • 912. Schuhe
    • 913. Mantel
    • 914. Umhang
    • 915. Handschuhe
    • 916. Gegenstand in der linken Hand (Waffe, Schild, etc.)
    • 917. Gegenstand in der rechten Hand (Waffe, Schild, etc.)
    • 918. Rückenanhängsel 1 (Flügel, Schwanz, Rucksack, etc.)
    • 919. Rückenanhängsel 2 (Flügel, Schwanz, Rucksack, etc.)

    Bei der vor jedem Layer stehenden Zahl handelt es sich um die ID des Strings, in dem der Dateiname des zu verwendenden Templates angegeben wird. Wenn man die Liste mit dem oben angegebenen Eventcode vergleicht, sollte das verständlich werden.

    Die Layer sind funktional unterschiedlich, da sie beim Zeichnen unterschiedliche Prioritäten besitzen. Wenn der Charakter einen Rucksack trägt und nach unten schaut, soll der Rucksack hinter dem Charakter angezeigt werden, muss also als erstes gezeichnet werden. Wenn der Charakter jedoch nach oben schaut, soll der Rucksack über dem Charakter angezeigt, also als letztes gezeichnet werden. Jedoch werden nicht alle Prioritäten einfach umgekehrt. Die Kleidung eines Charakters soll z.B. immer über dem Körper angezeigt werden, egal in welche Richtung er schaut.

    Das Script einbinden
    Das Script lässt sich in jedes Rm2k-Projekt einbinden, das mit DestinyScript kompatibel ist. Dazu müssen lediglich 1-2 CommonEvents 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 (Dynamic Charsets). 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 lassen sich verschiedene Kleidung, Frisuren, Hüte, Ausrüstung und dergleichen kombinieren. Wer einen Blick in den Picture-Ordner wirft, wird dort die zugrundeliegenden Templates finden.

    Links


    Für den Download müsst ihr ein bisschen Geduld mitbringen, da der Webspace recht lahm ist. Ich hoffe aber, dass die Geduld sich lohnt und würde mich über eure Rückmeldungen freuen.

    Geändert von Fauchi (12.05.2020 um 21:56 Uhr) Grund: Update auf Version 1.1

Stichworte

Berechtigungen

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