Ergebnis 1 bis 20 von 296

Thema: Detail-Wissen und Geheimnise des RPG-Makers -vorallem für Erfahrene/Profis lehrreich

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    RPG_RT.exe - DebugParameter:

    TestPlay/!TestPlay, HideTitle, Window

    Das Verrückte daran:

    Oft gibt es auch noch NormalPlay, ShowTitle und FullScreen.
    Seltsamerweise kommen diese NICHT in der RPG_RT selbst vor.

    Anstatt...

    Code:
    RPG_RT.exe TestPlay ShowTitle Window
    ...wäre also eigentlich auch...

    Code:
    RPG_RT.exe TestPlay BlowTitel Window
    ...oder...

    Code:
    RPG_RT.exe TestPlay BoomTitll Window
    ...möglich, so wie ich das einschätze.

    Wer einen Hex-Editor zur Hand hat, kann auch die Parameter ändern.
    Sucht nach TestPlay und ihr seht "TestPlay", "HideTitle" und "Window",
    die ihr BESCHRÄNKT umändern könnt. Die neuen Parameter müssen die
    gleiche Zeichenlänge haben.
    Der einzige Nachteil: Ihr verderbt den Cheatern unter euren Spielern
    den Spass^^.

    ---------------------------------------------------------------------------------

    Font ohne FontChanger ändern (falls er nicht funktioniert)

    Ich hab vorhin gelesen, dass bei einem User Cherry's Font Changer
    nicht geht. Eine Alternative ist:

    Öffnet einen Hex-Editor und holt euch die RPG_RT.exe rein.
    Sofern es eine für uns gebräuchliche RPG_RT handelt, die
    RM2000 und RMG2000 benutzt, sucht nach einem der beiden
    Zeichenketten. Genau da wo die Fonts stehen, könnt ihr andere
    eintragen. Hier gilt wieder, die Zeichenlänge einzuhalten. Diesmal
    seit ihr aber nicht auf genau die selbe Länge, sondern nur maximal
    auf soviele Zeichen beschränkt. Alle Zeichen, die übrig bleiben,
    müsst ihr im Hex-Bereich mit 20 überscheiben (Leerzeichen).

    Die andere Alternative, die ich nur ganz nebenbei erwähne:
    Das RM2K Utility besitzt ein FontChanger-Plugin, damit funktioniert
    das ganze ebenfalls. (Download)

    ---------------------------------------------------------------------------------

    Schwarzer Bildschirm nach Teleport

    Es ist mir 2004 mal aufgefallen, erinnere mich jetzt aber wieder dran.
    Unter bestimmten Umständen kann nach einem Teleport der Bildschirm
    schwarz sein, falls eine Ausblendung eingestellt ist (als nicht "Nicht löschen").

    Kleine Sache zwischendurch:
    Ich habe NICHT den Bildschirm vorher auf 0%,0%,0%,100% verdunkelt.
    In diesem Fall hätte ich die Message Box trotzdem gesehen.

    Getestet bei:
    Maker: RM2003
    RPG_RT-Version: 1.05
    Ausgeführter Eventtyp: Parallel Process
    Erster Befehl nach Teleport: Show Message
    Standort des Befehls: Ein Parallel Process Event auf der nächsten Map

    Sobald das Show Message mit Enter/Z/Space/Escape/0/Einfg/...
    weggedrückt wurde, wird der Bildschirm schlagartig "normal"
    (die Map erscheint) und der weitere Spielverlauf ist wieder richtig.

    ---------------------------------------------------------------------------------

    Macke in Ineluki's Patch

    Bei manchen PCs (z.B. meinem) kann es vorkommen, dass wenn eine link.wav
    im Titlescreen benutzt wird, die RPG_RT.exe sich aufhängt und ne Weile
    den User beschäftigen kann, sie wieder zu schliessen, ausser, er war so
    schlau, es im Fenstermodus zu starten^^.

    ---------------------------------------------------------------------------------

    Aufbau einer LcfMapUnit

    Aufbau:
    OFFSET: Bezeichnung (Datenformat); Standardwert; Bemerkungen

    0x01: Chipset-ID (Integer); 1 bis 5000?; -
    0x02: Breite (Integer); 20; 20 bis 500; -
    0x03: Höhe (Integer); 15; 15 bis 500; -
    0x0A: blabla (Strings); ???; (Zeichenkettenlänge) + Zeichenkette (Standardkette: "LcfMapUnit")
    0x0B: Scrolltyp(Integer); (Keiner); 0: Kein Loop, 1: Nur Horizontal, 2: Nur Vertikal, 3: Beide Richtungen
    0x1F: Panorama benutzen (Integer); 0; 0: Nicht benutzen; 1: Benutzen
    0x20: Panorama-Name; (String); (Keiner); -
    0x21: Horizontal scrollen (Integer); 0; 0: Nicht benutzen, 1: Benutzen
    0x22: Vertikal scrollen (Integer); 0; 0: Nicht benutzen, 1: Benutzen
    0x23: Horizontal automatisch scrollen (Integer); 0; 0: Kein Auto-Scrollen, 1: Auto-Scrollen
    0x24: Horizontaler Auto-Scroll (Integer); 0; -8 bis 8
    0x25: Vertikal automatisch scrollen (Integer); 0; 0: Kein Auto-Scrollen, 1: Auto-Scrollen
    0x26: Vertikaler Auto-Scroll (Integer); 0; -8 bis 8
    0x47: ????? (2 Byte, kein Integer, unsigned short)
    0x48: ????? (2 Byte, kein Integer, unsigned short)
    0x51: ????? (2 dimensional Arrangement)
    0x5B: ????? (Integer)


    Wer die letzten 4 kennt, ruhig sagen^^


    ---------------------------------------------------------------------------------

    Reihenfolge der Grafikormatserkennung

    Habt ihr mehrere Dateien mit gleichem Namen in einem Ressourcen-Ordner,
    werden die Dateiformate in der Reihenfolge erkannt:
    1.: BMP
    2.: PNG
    3.: XYZ
    (der Maker zeigt nur in Ressourcenlisten das erstbeste an!)

    Das gleiche gilt für das RTP:
    1. BMP <RTP>
    2. PNG <RTP>
    3. XYZ <RTP>
    (der Maker zeigt auch hier nur in Ressourcenlisten das erstbeste an!)
    Eigentlich sollte es hier nicht auftreten, ausser ihr pfuscht am RTP rum.

    Geändert von MagicMaker (29.01.2008 um 14:58 Uhr)

  2. #2
    @MagicMaker:

    Aufbau der LcfMapUnit? Spitze, danke! Hast du noch mehr derartiges auf Lager?? Und wo hast du das her? Selbst rausgefunden?

    Wegen "ZeigTitel" statt "ShowTitle" und so: jap. genau. Übrigens getestet.

    Das mit "NormalPlay" wusste ich nicht. Hat offenbar den selben Effekt wie "!TestPlay".

    Zitat Zitat von MagicMaker
    Genau da wo die Fonts stehen, könnt ihr andere
    eintragen. Hier gilt wieder, die Zeichenlänge einzuhalten. Diesmal
    seit ihr aber nicht auf genau die selbe Länge, sondern nur maximal
    auf soviele Zeichen beschränkt. Alle Zeichen, die übrig bleiben,
    müsst ihr im Hex-Bereich mit 00 überscheiben.
    Stimmt nicht ganz

    Es passen MEHR Zeichen rein, als drin war. Es sollten nur die letzten zwei NULL-Bytes nicht überschrieben werden.

    Bei einer 2k-EXE sollten 10 Bytes bei RM2000 und 14 bei RMG2000 reinpassen.

    mfG Cherry

  3. #3
    Zitat Zitat
    Alle Zeichen, die übrig bleiben, müsst ihr im Hex-Bereich mit 00 überscheiben.
    Ich korrigiere mich, überschreibt sie mit dem Hexwert 20 (Leerzeichen)

    ~Zeichenzahl: Ja ok daran hatte ich nicht gedacht. Das ist noch vom
    japanischen Original so wies mir scheint.

    ---------------------------------------------------------------------------------

    LcfMapUnit

    Nochmal zu 0x0A:
    Hex: 0A 4C 63 66 4D 61 70 55 6E 69 74
    Das 0A ganz vorne bestimmt, wie lang die Zeichenkette sein muss.
    Also hier 0A (entspricht 10; L-c-f-M-a-p-U-n-i-t = 10 Zeichen).

    Vieles kriegt man selber raus. Ich hab mich aber mal für mein fehlendes Zeug
    bei der RPG2KDev-Seite von sue445 erkundigt.

    0x47 | 下層マップ | 型が「2バイト符号無し整数(unsigned short)」で要素数が「マップの幅×高さ」の配列 | (省略無し) | 左上(0,0)から順に格納されている
    0x48 | 上層マップ | 型が「2バイト符号無し整数(unsigned short)」で要素数が「マップの幅×高さ」の配列 | (省略無し) | 左上(0,0)から順に格納されている
    0x51 | マップイベント | 2次元配列
    0x5B | マップの保存回数 | 整数 | セーブデータロード時にここが変更されていると、「イベント開始条件」が「定期的に並列処理する」のイベントを最初から実行する
    Ist japanisch, bin zum Übersetzen zu faul.

    ---------------------------------------------------------------------------------

    Header von XYZ-Files (Offset; Länge; Inhalt):

    0x00; 0x04; Identifikation (XYZ1)
    0x04; 0x02; Bildbreite
    0x06; 0x02; Bildhöhe

    ---------------------------------------------------------------------------------

    Mehr als 9999 Events verwenden

    Öffnet RPG2000.exe mit einem HexEditor.
    Sucht nach der Zeichenkette "EV%.4d"

    Die 4 ändert ihr in die Stellenzahl um, die ihr wollt.
    Getestet mit: "%.6d", Maker funktioniert weiterhin.
    Wobei es reicht, 5 zu nehmen. Bei dem Maximum von
    500x500 sind 25000 Events eh das Grösstmögliche.

    Insgesamt spuckt der Editor 3 Ergebnisse aus, ihr müsst es
    bei allen ändern.

    ---------------------------------------------------------------------------------

    MapEvent-Aufbau

    OFFSET: Bezeichnung (Datenformat); Standardwert; Bemerkungen
    0x01: Eventname (String); EV%.4d; bis zu 20 Zeichen
    0x02: X-Koordinate (Integer); 0; -
    0x03: Y-Koordinate (Integer); 0; -
    0x04: ?????
    0x05: [Daten der Eventseiten]

    Eventseiten-Daten (unvollständig)

    OFFSET: Bezeichnung (Datenformat); Standardwert; Bemerkungen
    0x02: [Startbedingung]
    0x15: Dateiname der Laufgrafik (String); keiner; -
    0x16: ID der Laufgrafik aus dem Chipset (Integer); 0; ...
    0x17: Richtung der Grafik (Integer); 2; 0=Hoch, 1=Rechts, 2=Runter, 3=Links
    0x18: Laufframe der Richtung (Integer); 1; 0=Links, 1=Mitte, 2=Rechts
    0x19: Transparent [unsicher] (Flag); 0; -
    0x1F: Bewegungstyp (Integer); 0; 0=Still stehen, 1: Zuall, 2: Hoch-Runter, 3: Links-Rechts, 4: Held verfolgen, 5: Vor Held fliehen, 6: Definierte Route
    0x20: Bewegungsfrequenz (Integer); 0; 1 bis 8

    Startbedingungen

    OFFSET: Bezeichnung (Datenformat); Standardwert; Bemerkungen
    0x01: Bedingungen (Integer, 6Bit Flag); 0; Bit 0: Erster Switch; Bit 1: Zweiter Switch; Bit 2: Variable, Bit 3: Item besitzen, Bit 4: Held x in Truppe, Bit 5: Timer entspricht...
    0x02: Switch1-ID (Integer); 1; -
    0x03: Switch2-ID (Integer); 1; -
    0x04: Variablen-ID (Integer); 1; -
    0x05: Variablenwert >= (Integer); 0; -
    0x06: Item-ID (Integer); 1; -
    0x07: Held-ID (Integer); 1; -
    0x08: Timerstand in Sekunden (Integer); 0; -

    Geändert von MagicMaker (29.01.2008 um 16:06 Uhr)

  4. #4
    thx, das erspart mir viel Arbeit!

    >>> so wird der PP auch on-the-fly Events verändern können!
    Das mit "1. Byte zeigt Länge" habe ich schon bemerkt beim auslesen der Hero-Names aus dem RAM.

    mfG Cherry

  5. #5
    Während ich beim bearbeiten aus meiner Session gekickt wurde, schreibst du wieder, passt mir auch, dann kommt der Edit hier rein.

    ---------------------------------------------------------------------------------

    Datenbank-Tab "Helden" (unvollständig)

    0x01: Heldenname (String); keiner; -
    0x02: Beruf (String); keiner; -
    0x03: Dateiname der Laufgrafik (String); keiner; -
    0x04: Position im Charset (Integer); 0; 1 bis 7 (Oben: 0, 1, 2, 3; Unten: 4, 5, 6, 7)
    0x05: Transparenz (Flag); 0; 0=Nein, 1=Ja
    0x07: Startlevel (Integer); 1; 1 bis Maximallevel
    0x08: Maximallevel (Integer); 2000: 50, 2003: 99; -
    0x09: ?????
    0x0A: ?????
    0x0F: Faceset-Datei (String); keiner; -
    0x10: Face-Position (Integer); 0; 1 bis 15, Reihenfolge wie bei Charset
    0x15: Zwei Waffen (Flag); 0; 0=Nein, 1=Ja
    0x16: Feste Ausrüstung (Flag); 0; 0=Nein, 1=Ja
    0x17: Automatisch kämpfen (Flag); 0; 0=Nein, 1=Ja
    0x18: Starke Abwehr (Flag); 0; 0=Nein, 1=Ja

    ---------------------------------------------------------------------------------

    Wichtig ausserdem zu vielem: Credit to sue445

  6. #6
    ...wobei "String" in Wirklichkeit ein Integer ist, und zwar ein Pointer zu einer String-Struktur (1. Byte Länge, 2. - x. Byte String)

  7. #7
    Datenbank-Tab "Helden" (ETWAS vollständiger)

    0x01: Heldenname (String); keiner; -
    0x02: Beruf (String); keiner; -
    0x03: Dateiname der Laufgrafik (String); keiner; -
    0x04: Position im Charset (Integer); 0; 1 bis 7 (Oben: 0, 1, 2, 3; Unten: 4, 5, 6, 7)
    0x05: Transparenz (Flag); 0; 0=Nein, 1=Ja
    0x07: Startlevel (Integer); 1; 1 bis Maximallevel
    0x08: Maximallevel (Integer); 2000: 50, 2003: 99; -
    0x09: ?????
    0x0A: ?????
    0x0F: Faceset-Datei (String); keiner; -
    0x10: Face-Position (Integer); 0; 1 bis 15, Reihenfolge wie bei Charset
    0x15: Zwei Waffen (Flag); 0; 0=Nein, 1=Ja
    0x16: Feste Ausrüstung (Flag); 0; 0=Nein, 1=Ja
    0x17: Automatisch kämpfen (Flag); 0; 0=Nein, 1=Ja
    0x18: Starke Abwehr (Flag); 0; 0=Nein, 1=Ja
    0x1F: 各レベルごとのステータス (型が「2バイト符号無し整数(unsigned short)」で要素数が[6][最高レベル]の2次元配列) (省略無し) unsigned short status[type][lv];
    [type] 0=MaxHP, 1=最大MP, 2=Angriff, 3=Abwehr 4=Intelligenz, 5=Tempo
    Levels 2000: 0 bis 49 (=50)
    Levels 2003: 0 bis 98 (=99)

    0x29: Erfahrungskurve <Basis> (Integer); -, -
    0x2A: Erfahrungskurve <Erhöhung> (Integer); -, -
    0x2B: Erfahrungskurve <Korrektur> (Integer); -, -
    0x33: Startausrüstung (型が「2バイト符号無し整数(unsigned short)」で要素数が[5]の1次元配列) (省略無し) 配列番号はそれぞれ; 0=武器; 1=盾;2=防具;3=兜;4=装飾品)
    0x38: 素手で攻撃した時の戦闘アニメ (Integer)
    0x39: ????? (Integer)
    0x3E: ????? (Integer)
    0x42: Hat was mit Skills zu tun (Integer)
    0x43: Ebenfalls (?????)
    0x47: Etwas über Statuseffekte (Integer)
    0x48: Auch das hier (?????)
    0x49: Attribute-Zueg (Integer)
    0x4A: Auch hier (?????)
    0x50: Kampfkommandos????? (Type "4-byte integer (int)" is the number of elements in a one-dimensional array of 6)


    ---------------------------------------------------------------------------------

    LcfMapTree

    0x0A: Zeichenkette "LcfMapTree" (davor die Länge dieser Kette als Hex [0A])

    Einzelne Maps

    0x01: Mapname (String)
    0x02: Map-ID (Integer)
    0x04: Encounter-Flag (Integer); keiner; 1=Normale Map, 2=Gebiet (AREA)
    0x0B: BGM (Integer); keiner; 0=Übergeordnete Map, 1=Keine; 2=Eigene
    0x0C: BGM-Dateiname (String); keiner; "(OFF)" = Musik aus
    0x15: Kampfhintergrund (Integer); keiner; 0=Übergeordnete Map, 1=Keine; 2=Eigene
    0x16: Kampfhinterund-Dateiname (String); keiner; -
    0x1F: Teleport (Integer); keiner; 0=Übergeordnete Map, 1=Keine; 2=Eigene
    0x20: Flucht (Integer); keiner; 0=Übergeordnete Map, 1=Keine; 2=Eigene
    0x21: Speichern (Speichern); keiner; 0=Übergeordnete Map, 1=Keine; 2=Eigene
    0x29: [Encounter-Gegnergruppen]
    0x2C: Schrittzahl (Integer); 25; 0 bis 999
    0x33: UNBEKANNT - 0x10 Byte lang...

    Encounter-Gegnergruppen

    0x01: Gruppen-ID (Integer); keiner; 1 bis [5000?]

    ---------------------------------------------------------------------------------

    IDs der einzelnen Tiles im Chipset

    Bild dazu:
    http://imagesload.net/daten_no/12016...ts-TileIDs.png
    Achtung! Nicht grade ein kleines Bild xD.

    Kann man ja mal gebrauchen.
    PS: Es ist noch nicht ganz fertig. Blöcke D1~12, E (Magenta) und F (Grün)
    sind drin.

    Zu vielem was ich poste: Credit to sue445

    Es fehlen noch: A1, A2, B, C1, C2, C3

    Geändert von MagicMaker (31.01.2008 um 17:35 Uhr)

  8. #8
    Hi people, I'm sorry but I don't speak German.

    More about LMT file format:

    0x0A+"LcfMapTree" header

    Rembember: All integers are in BER format

    0x01: Map name
    0x02: Parent Map ID
    0x03: Tree depth
    0x04: 0=root,1=map,2=area
    0x05: horizontal scrollbar position
    0x06: vertical scrollbar position
    0x07: has child
    0x0B: BGM: 0=from parent map, 1=don't change, 2=use specified
    0x0C: BGM block: 1=BGM file name, 2=fade in, 3=volume, 4=tempo, 5=balance (millisecond values)
    0x15: battle background: 0=from parent map, 1=from terrain data,2=use specified
    0x16: battle background file name
    0x1F: teleport 0=from parent map, 1=can, 2=cannot
    0x20: scape 0=from parent map, 1=can, 2=cannot
    0x21: save 0=from parent map, 1=can, 2=cannot
    0x29: monster parties to encounter
    0x2C: encounter steps
    0x33: area coordinates
    0x5B: number of times saved (used for trial version )

    Special events: Party and vehicle data:
    You have already documented right

    End of file: Tree data order and selected editor branch ^^



    Credits: WhoopA, sue445, rmcollegial project, delaPipol, Lobomon

    We are making a free (GPL) cross-platform RPG Maker 2000/2003 compatible clone in SDL, if you are interested, please look at http://easyrpg.sourceforge.net/ or contact to me .
    An game editor using wxWidgets will be in the future, too.

    We already have working stdout data readers for LDB, LMU and LMT. We have a working graphical LMU reader in SDL, by Damizean and Lobomon.

    More info about stdout implementation and downloads at http://www.easy-rpg.com/forums/showt...tpost&tid=1119

    Greets!

Berechtigungen

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