das kommt daher, dass für die Konstante This Event zu Beginn der Eventausführung die ID des Events eingesetzt wird. Wenn jetzt das Event die ID 5 hat, und es wird nach einem Teleport irgendwas mit This Event ausgeführt, wird das auf das Event mit ID 5 auf der neuen Map angewandt. Hast du dort nur 4 oder weniger: Fehler. Irgendwie logisch!
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
ja, hast du. ich wollte sagen, dass wenn ein Event mit ID 8 ein Flash Sprite auf This Event nach einem Teleport das Event mit ID 8 auf der neuen Map Flashen lässt - also meist ein ganz anderes Event. Es sieht ziemlich blöd aus, wenn ein Teil eines Daches blinkt oder so, auch, wenn kein Error kommt ^^
mfG Cherry
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Mal was ganz anderes:
Mir ist aufgefallen das beim Laden eines Spielstandes das Spiel genau dort einsetzt wo im Event zum Speichern der Befehl "Call Save Menu" aufgerufen wurde. Das scherint aber nur bei Map Events zu gelten denn als ich in einem Common Event "Call Save Menu" ausgeführt habe wurden alle Ereignisse danach beim Laden des Spielstandes nicht mehr ausgeführt. Dabei wurde das Common Event von einem Map Event aus per Call aufgerufen.
Ich weiss nicht ob sowas schon bekannt war. Es ist in jedem Fall in so fern interessant da es einem die Möglichkeit bietet nach dem Laden eines Spielstandes einige Dinge durchführen zu lassen. Zu beachten dabei ist das diese Dinge auch ausgeführt werden wenn der Held speichert.
--Aktuelles Projekt
"Uns're Ordnung ist das Chaos!
Verändern heißt zerstör'n!
zu Caine
Ich tipp mal das das daran liegt, das das Common Event nur bis zum Call Save Menü und danach alles weiter führt. aber startet man das Spiel jetzt Neu so sieht der Maker das vielleicht als Ende des Events an. Oder du hast vielleicht etwas im event verändert und dann geladen, sodas der Maker das Event neu aufruft ( Den Fehler hat ich bei mir mal^^ )
Was die wenigsten wissen: mit
(das "!" ist das wichtigste), kann man das Spiel im Fenster starten, OHNE ein TestPlay zu machen (also F9 und so gehen dann nicht).
Bilderbewegung pausieren oder rückwärts:
mfG CherryZitat von Evilshenlong
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Um nochmal Caine Luvenos Thema aufzugreifen: Es ist mir ja auch schon passiert, dass (bei einem Map Event!), nach dem neu laden der "Call Save Menu" Befehl NOCHMAL ausgeführt wurde. Also wenn man ein Spiel geladen hat, gleich nochmal den Speicherbildschirm gesehen hat! Das passierte merkwürdigerweise nur, wenn zu dem Zeitpunkt des Speicherns die Variable 800 initialisert war (also ihr schon mal ein Wert zugewiesen wurde).
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Das hab ich auch bemerkt. Nur merkwürdigerweise trat das NICHT auf, wenn zum Zeitpunkt des Speichern der Vari 800 (und auch keiner höheren, sonst passiert das automatisch) noch KEIN Wert zugewiesen wurde (Achtung doppelte Verneinung).
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
@Cherry
Huch... Ist das ein Maker interner Fehler? Mir ist sowas auch schon woanders passiert *nick*
Ich hab eine Temp-Vari benötigt aber die wollte nich den Wert annehmen den ich ihr durch eine Berechnung zugeteilt hab. Als ich als Temp eine andere nahm, klappte alles normal^^
Sehr komsich...
Leider weiß ich nicht mehr welche Vari es war o.o''''
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...
...wäre also eigentlich auch...
...oder...
...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.
@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".
Stimmt nicht ganzZitat von MagicMaker
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
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Ich korrigiere mich, überschreibt sie mit dem Hexwert 20 (Leerzeichen)Zitat
~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; -
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
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
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
...wobei "String" in Wirklichkeit ein Integer ist, und zwar ein Pointer zu einer String-Struktur (1. Byte Länge, 2. - x. Byte String)
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
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
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!
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny: CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT