![]() |
|
RPG Maker Programme und Erweiterungen Ein Forum für Programme und Erweiterungen zum RPG Maker. |
![]() |
|
Themen-Optionen |
![]() |
#1 |
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Hallo Leute,
ich habe das letzte Jahr damit verbracht einen Patch für den RPG-Maker 2000 zu schreiben. Und jetzt wo er endlich fertig ist werde ich ihn nun veröffentlichen. Doch bevor ich mit einer Beschreibung loslege möchte ich noch kurz etwas zu dem anderen Patch erwähnen, der neulich auf "den Markt" gekommen ist. Ich habe den anderen Patch zwar nicht getestet, etc. dennoch habe ich meinen in Ruhe weiter gemacht. Es wäre ja auch schwachsinnig meinen Patch nicht zu veröffentlichen, nur weil irgendjemand anderes einen ähnlichen Patch entwickelt hat. Daher stelle ich jetzt meinen Patch vor und biete jeden von euch die Chance für sich selbst zu entscheiden, welchen Patch er besser findet. Nun zu meinem Patch: Mein Patch habe ich DestinyPatch getauft. Er besteht aus dem DestinyPatcher (zum modifizieren der RPG_RT.exe) und der Destiny.dll (zum parsen einer vereinfachten Scriptsprache). Ihr könnt den Patch hier downloaden. [EDIT] Achtung: Falls ihr eine ältere Version des Patches besitzt (die gilt auch dann, wenn ihr nur die Install.exe runtergeladen habt): die Originalversion hat einige Fehler. So kann z.B. die Funktion Convert.String nicht richtig verwendet werden. Unter anderem war es nicht möglich mit dem Server-Objekt mehr als eine Verbindung anzunehmen und bei Windows XP mit SP1 lief die Mausabfrage nicht. Diese Probleme sind in der Destiny.dll 1.0.6 behoben, diese kann man hier herunterladen. In der nächsten Version sind die bekannten Fehler von vornherein raus. Des weiteren sollten, damit die Game.Load-Funktion und Picture.LoadFromFile-Funktion funktionieren, die Identify-Files des DestinyPatchers durch neue ersetzt werden. Die aktuellste Version der Identify-Files findest du hier. (Einfach den Inhalt des Zip-Archives in das Verzeichnis des DestinyPatchers extrahieren.) Ein weiterer Fehler ist in dem Multiplayer-Script des Beispielspiels! In dem "Kontrollevent" auf dem Multiplayer-Raum des Beispielspiels. Dort steht folgender Code: Code:
$Server.Listen(Convert.Dword(a[2]), 1, 0) Code:
$Server.Listen(Convert.Dword(a[2]), SOCK_DESTINY) Mein Patch erweitert den RPG-Maker 2000 zum einen um eine vereinfachte Scriptsprache, welche folgende Funktionen bietet: - Gleitkommaberechnung - Strings - Spiel speichern/laden/beenden - mathematische Funktionen - Stringfunktionen - Abfragefunktionen für Tastatur und Maus - Zeitabfragen - Helden bearbeiten (auch Namen und Rang) - Manipulation der Karte (auch einzelner Felder) - Manipulation der Events - Manipulation von Pictures (auch Pixelzeichnen und bereiche kopieren) - Kommunikation über Internet - Bearbeiten von Dateien und Ordnern Zum anderen kann man die RPG_RT.exe so manipulieren, dass diese andere Eigenschaften hat: - Aktivieren der Scriptsprache - Überspringen des Titelbildes - Ändern der F12-Taste - Festlegen in welchem Fenstermodus das Spiel startet (Normal, Fenster, Vollbild) - Ändern der Fenstertasten (F4, F5, Alt+Enter) - Weiterlaufen des Spiels auch bei Fokusverlust - Ändern der Bilderanzahl auf bis zu 100 - Berechnung der MoveWithMap-Eigenschaft wie beim RPG-Maker 2003 - Ändern der Tastenbelegung (hoch, runter, ...) - Deaktivieren des Testplays und dessen Tasten Wie die Manipulation der RPG_RT.exe (dies geschieht mit dem DestinyPatcher) und die Scriptsprache (dies geschieht mit der Destiny.dll) funktionieren steht in den jeweiligen Hilfedateien. Für die vereinfachte Scriptsprache wird der Kommentar-Befehl des RPG-Makers verwendet. Der DestinyPatch ist voll dokumentiert (deutsch) und beinhaltet ein Beispielspiel. Momentan funktioniert der Patch nur mit dem RPG-Maker 2000 (RPG_RT.exe Version 1.05 und 1.07) [EDIT] Hier kommt noch kurz eine kleine Anleitung, was ihr an eurem Maker ändern müsst, damit dieser korrekt funktioniert. Um die Pictures im Maker höher zu stellen braucht ihr den ResHacker! Öffnet die RPG2000.exe (oder RPG2003.exe) mit dem ResHacker. Geht dort links in der Baumansicht zu "RCData" und dann zu "TFormEvCmd11110". Das ist das Formular für das "ShowPicture". Dort gibt es ein Objekt, das folgendermaßen aufgebaut ist: Code:
object DialEdit1: TDialEdit [...] MaxValue = 20 [...] end Anschließend klickt ihr oben auf "Compile Script". Das Gleiche macht ihr für MovePicture (TFormEvCmd11120) und ErasePicture (TFormEvCmd11130). Wollt ihr das Kommentarfenster etwas größer haben um mehr Scriptcode eingeben zu können, dann müsst ihr als nächstes zu dem Formular "TFORMEVCMD12410". Fügt dort folgenden Code ein (gilt sowohl für 2000 als auch für 2003): Code:
inherited FormEvCmd12410: TFormEvCmd12410 Top = 105 Caption = 'Comment / Script' ClientHeight = 480 ClientWidth = 401 OldCreateOrder = True OnShow = FormShow PixelsPerInch = 96 TextHeight = 12 object TabControl1: TTabControl Left = 8 Top = 8 Width = 385 Height = 430 TabOrder = 0 TabStop = False object FixedMemo1: TFixedMemo Left = 8 Top = 10 Width = 368 Height = 409 Cursor = crIBeam Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'MS Sans Serif' Font.Style = [] ParentFont = False TabOrder = 0 OnCancel = FixedMemo1Cancel OnCtrlReturn = FixedMemo1CtrlReturn end end object ButtonOk: TButton Left = 112 Top = 446 Width = 89 Height = 25 Caption = '&Ok' Default = True ModalResult = 1 TabOrder = 1 OnClick = ButtonOkClick end object ButtonCancel: TButton Left = 208 Top = 446 Width = 89 Height = 25 Cancel = True Caption = '&Cancel' ModalResult = 2 TabOrder = 2 end object ButtonHelp: TButton Left = 304 Top = 446 Width = 89 Height = 25 Cancel = True Caption = '&Help' TabOrder = 3 OnClick = ButtonHelpClick end end Sollen nun die Kommentare nicht nach der vierten Zeile abgeschnitten werden, dann müsst ihr die Datei anschließend noch mit einem Hexeditor bearbeiten. Die Änderungen beim 2000er sind folgende: Code:
000DD391: FB 03 - zu - FB 7F 000DD3A5: BA 03 00 00 00 - zu - BA 7F 00 00 00 000DD3A0: 83 F8 03 - zu - 83 F8 7F 000DD3C4: BA 03 00 00 00 - zu - BA 7F 00 00 00 Code:
00109D18: 83 FB 03 - zu - 83 FB 7F 00109D28: 83 F8 03 - zu - 83 F8 7F 00109D2D: BA 03 00 00 - zu - BA 7F 00 00 00109D4C: BA 03 00 00 - zu - BA 7F 00 00 Aber nehmt die Änderungen mit dem Hexeditor nur dann vor, wenn die Bytes vorher das waren, was neben den Adressen (in dieser Anleitung hier) stand. Danach wären maximal 128 Zeilen Scriptcode möglich (so viel kann der Maker eh nicht anzeigen...) [/EDIT] So und jetzt bitte ich um etwas Resonanz! MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. Geändert von Bananen-Joe (29.11.2008 um 17:12 Uhr). Grund: Link auf neuere Version |
![]() |
![]() |
![]() |
#2 | |
23
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Zitat:
Ich geb jetzt kein Review bezüglich der Funktionen, denn die habe ich nicht getestet. Aber der Patcher weist eine tolle Benutzerfreundlichkeit und gelungene GUI auf. Noch dazu ist die Dokumentation sehr vollständig. Außerdem kann man dein Programm zwischen Deutsch und Englisch umschalten. Das simple Setup ist auch ganz nett. Ich weiß nicht, ob ich das Prog benutzen werde. Immerhin hab ich kein größeres Projekt mehr auf dem RM2k vor. Aber mal sehen, vielleicht ja doch ![]() Gute Arbeit jedenfalls. (Benutzerfreundlicher als alle meine Tools, mit den ganzen Icons ![]() Grüßle, derula
__________________
"So, und jetzt Schluss mit dem Lamentieren - lasst uns etwas Kunst machen!!!" - GS_Raphael |
|
![]() |
![]() |
![]() |
#3 |
The System of Art
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
|
![]() Wie sieht's eigentlich damit aus, diesen Patch auch für den RM2k3 verwenden zu können?
![]() LG Mike |
![]() |
![]() |
![]() |
#4 |
Administrator
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Schön das sich noch jemand die Mühe macht.
![]() |
![]() |
![]() |
![]() |
#5 | |
Thug Life
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 20.11.2006
Ort: Berlin
Alter: 29
Beiträge: 1.793
|
![]() Hört sich ganz gut an.
Habe mal ne' Frage bezüglich: Zitat:
|
|
![]() |
![]() |
![]() |
#6 | ||||
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Hallo und danke schonmal für die Rücksprache.
Zu euren Anmerkungen: Zitat:
Die Oberfläche des Programms kann zwar auf Englisch gestellt werden, tatsächlich existiert derzeit aber keine englische Dokumentation. Daher ist es momentan ein rein deutscher Patch, welcher die eingestellte Sprache des DestinyPatchers nicht speichert. Ob bzw. wann ich eine englische Doku verfasse ist noch unklar. Zitat:
Damit der Patch beim RPG 2K3 funktioniert müsste ich erst entsprechende Identifikationsdateien schreiben und ggf. die Destiny.dll leicht umändern. Da gibt es aber zwei Probleme: - zum einen müsste ich für jede Version der RPG-Maker 2003 RPG_RT.exe etwas entsprechendes schreiben und das dauert Wochen, da ich nicht so viel Freizeit habe. - zum anderen habe ich keinen RPG-Maker 2003 und verfüge somit über keine Vorlagen Daher sieht es damit momentan eher schlecht aus. Aber zumindest das Problem mit den nicht vorhandenen RPG_RT.exe sollte sich leicht beheben lassen... Zitat:
Mit Map.Width und Map.Height erhält man die Maße der Karte. Mit Map.Lower[0, 0] kann man auf das Lower-Chip an Position (0, 0) zugreifen. Somit wäre es möglich zur Laufzeit den Wert eines Feldes frei zu setzen. Mit dem Event-Objekt kann man die Position eines Events (auch zwischen Feldern) genau beschreiben. Mit dem Picture-Objekt kann man auf die Pixel z.B. so zugreifen: Picture[1].Pixel[2, 3] um auf den Pixel an Position (2, 3) zuzugreifen. Pixel haben natürlich einen Wert von 0-255 was dem jeweiligen Paletteneintrag entspricht. Mit Picture[1].CopyRect(...) kann man einen Bildbereich aus einem zweiten Picture (das nicht notwenderiger weise im sichtbaren Bereich des Bildschirms liegt) Teile kopieren. Somit könnte man z.B. Text zusammenstellen um Wörter auszugeben. Die Palette kann auch nachträglich geändert werden. Wenn du genaueres über die Funktionen wissen willst, dann lies dir bitte die entsprechenden Hilfedateien durch. MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
||||
![]() |
![]() |
![]() |
#7 |
Krieger
![]() Registriert seit: 18.02.2007
Beiträge: 340
|
![]() Yeah! Ein echt super gemachtes Tool.
Viel kann ich nochnicht sagen, hab grade erst installiert. Kleine Feinheit: Im Öffnen-Fenster würde ich an deiner Stelle "Anwendungen" statt "Exe-Dateien" schreiben^^ Ich habe es vielleicht überlesen, aber: Wie lange hast du daran gearbeitet?
__________________
~~~~~ |
![]() |
![]() |
![]() |
#8 | ||
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Zitat:
Aber ich werde deinen Tipp berücksichtigen. Zitat:
Aber um es kurz zu fassen: Ende 2005 bis Anfang 2006, Neustart Anfang 2007 und Abschluss Ende 2007 (Anfang 2008 nur Hilfedateien, etc.). Die meiste Zeit benötigte die Destiny.dll - der Patcher selbst hat nur 2-3 Monate gefressen. MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
||
![]() |
![]() |
![]() |
#9 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
|
![]() Neeeiiinn!!
Ich lahme Ente -.- Wenn ich in der letzten Zeit nur nicht so unmotiviert gewesen wäre... Aber Respekt, Bananen-Joe. Dein Name ist mir war mir völlig unbekannt und nun das... Wunderschöner Patch. Da seh ich sehr alt aus. Auf Wiedersehen... mfG Cherry
__________________
|
![]() |
![]() |
![]() |
#10 |
Neuling
![]() Registriert seit: 20.09.2005
Alter: 23
Beiträge: 26
|
![]() Wow, sehr geiles Tool. Respekt.
Allerdings werde ich nicht ganz schlau aus dieser Fehlermeldung: ![]() Weder gibt es hier eine Klammer (bis auf die eckige für die Variablennummer), noch wird eine benötigt - zumindest sagt das die Anleitung. Probably a bug? |
![]() |
![]() |
![]() |
#11 | ||
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Zitat:
Man weiß halt nie, wie viele die gleiche Idee haben... ...allerdings hatte ich vor 3 Jahren oder so mal angekündigt einen Patch zu schreiben. ![]() Zitat:
Die Fehlermeldung ist definitiv fehl am Platz, da es ein Syntaxfehler ist: Vor dem v darf kein Backslash (\) stehen. Ein Backslash vor einer Variable wird nur zur Nachrichtenausgabe verwendet. BTW: Ist der Screenshot abgeschnitten oder fehlt da wirklich ein Stück von dem Ok-Button? MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
||
![]() |
![]() |
![]() |
#12 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
|
![]() Zitat:
Sag mal, wie interagierst du mit dem Maker? Laut dem "Schlusswort" ja NICHT mittels RAM-Zugriffen. Wie sonst? Und wie machst du das mit den Kommentaren? Werden die aus dem RAM gelesen? Aus den Map-Dateien? Werden die von der gepatchten RPG_RT.EXE an deine DLL geschickt (wobei ich mich fragen würde, wie du DAS gemacht hast)? Zitat:
![]() Zitat:
Ich werde meinen Patch übrigens trotzdem weiterentwickeln. Ich habe offensichtlich noch genug Abnehmer dafür ![]() mfG Cherry
__________________
|
|||
![]() |
![]() |
![]() |
#13 | ||
Neuling
![]() Registriert seit: 20.09.2005
Alter: 23
Beiträge: 26
|
![]() Zitat:
![]() ![]() Da hätte ich auch selber drauf kommen können. Trotzdem danke. Zitat:
|
||
![]() |
![]() |
![]() |
#14 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
|
![]() noch ein Fehler:
btw - wenn der DestinyPatcher zusammen mit meinem Hyper Patcher (nicht Power Patch) verwendet wird (siehe meine Sig), können die komischsten DInge passieren! mfG Cherry Edit: Noch ein sehr nerviger Fehler: Auch wenn der Patcher im Hintergrund läuft und NICHT den Fokus hat, reagiert er trotzdem auf "F2" und dergleichen. Sehr nervig, wenn ich Dateien im Explorer umbenennen will - ich drücke "F2" und die Hilfe popt auf.
__________________
Geändert von Cherry (30.01.2008 um 21:11 Uhr). |
![]() |
![]() |
![]() |
#15 |
Neuling
![]() Registriert seit: 04.03.2004
Beiträge: 35
|
![]() Vorerst: Alter Schwede. Geile Sache.
Sehr schön, schön dokumentiert, einfach einzubinden. Nicht schlecht. Ich würde gern auf den 2000er wechseln ( Projekt in 2003 ); wie siehts da mit mp3 Unterstützung aus? Und Fontändern? |
![]() |
![]() |
![]() |
Lesezeichen |
Stichworte |
destiny-patch, online, patch, rm2000 |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
|
|