DynamicQuickPatch Plugin für RPG Maker 2003 (DynRPG)

Hallo zusammen!

Ich freue mich, mein neuestes Plugin für RPG Maker 2003 vorzustellen. Es handelt sich um ein dynamisches Speichermodifikations-System, das vollständig über die DynRPG.ini konfiguriert werden kann.

Funktionen

  • Komplett konfigurierbar über DynRPG.ini
  • Zuordnung von RPG Maker 2003 Variablen zu Speicheradressen
  • Unterstützung für drei Wertformate (8-bit, 32-bit und Hex)
  • Automatische Speicheraktualisierung bei Variablenänderungen
  • Konfigurierbare automatische Updates beim Laden von Spielständen
  • Automatische Wiederherstellung der ursprünglichen Speicherwerte beim Starten eines neuen Spiels
  • Konfigurierbare Variablen-ID-Bereiche passend zu deiner Spieldatenbank
  • Bereichsvalidierung zur Verhinderung ungültiger Speicherschreibvorgänge
  • Optionale Debug-Meldungen, die Speicheränderungen anzeigen


Installation

  1. Platziere die Datei 'DynamicQuickPatch.dll' im DynPlugins-Ordner deines Spiels
  2. Konfiguriere das Plugin in deiner DynRPG.ini Datei (siehe unten)


Konfiguration

Die gesamte Konfiguration erfolgt in der DynRPG.ini Datei. Hier ist ein Beispiel:

Code:
[dynamic_quickpatch]
; Debug-Meldungen aktivieren oder deaktivieren
ShowDebugMessages=true

; Maximale Variablen-ID (Standard: 1000)
; Stelle dies auf die maximale Variablen-ID in deiner Spieldatenbank ein
MaxVariableId=2000

; QuickPatch-Zuordnung #1 - Beispiel für 8-Bit-Wertzuordnung
QuickPatch1_VariableId=1
QuickPatch1_Address=0x401234
QuickPatch1_Type=8bit
QuickPatch1_OnLoadGame=true

; QuickPatch-Zuordnung #2 - Beispiel für 32-Bit-Wertzuordnung
; Dieser Patch wird beim Laden eines Spielstands NICHT angewendet
QuickPatch2_VariableId=2
QuickPatch2_Address=0x40ABCD
QuickPatch2_Type=32bit
QuickPatch2_OnLoadGame=false

; QuickPatch-Zuordnung #3 - Beispiel für Hex-Wertzuordnung
QuickPatch3_VariableId=3
QuickPatch3_Address=0x410000
QuickPatch3_Type=hex
QuickPatch3_HexValue=90ABCD
; OnLoadGame ist standardmäßig true, wenn nicht angegeben
Unterschied zu normalen Quickpatches

DynRPG's Standard-Quickpatches sind statische Speichermodifikationen, die in der DynRPG.ini-Datei definiert und einmalig beim Laden des Spiels angewendet werden:

Code:
[QuickPatches]
; Versteckt EXP im Hauptmenü und Speicherbildschirm
HideEXP=49E148,EB71,49F1CA,EB67,49F095,EB21
; Verschiebt das Fenster auf dem Titelbildschirm zu den Koordinaten 144/56
MoveTitleWindow=490821,#144,490828,#56
Dieses Plugin erweitert das Konzept, indem es:
  • Speichermodifikationen während des Spiels dynamisch ändern lässt
  • RPG Maker-Variablen bestimmten Speicheradressen zuordnet
  • Den Speicher automatisch aktualisiert, wenn sich Variablen ändern
  • Sicherstellt, dass der Speicher beim Laden von Spielständen korrekt aktualisiert und beim Starten eines neuen Spiels zurückgesetzt wird


Arbeiten mit Hex-Werten

Bei Verwendung des Typs 'hex' ist der 'HexValue' statisch und kann den Wert der Variable nicht direkt verwenden. RPG Maker 2003-Variablen können nur Ganzzahlen speichern, keine Hex-Strings. So verwendest du Hex-Werte effektiv:

Variablen als Aktivierungsschalter verwenden

Für Hex-Werte fungiert die Variable als Ein/Aus-Schalter:
- Wenn Variable = 0: Der Patch ist AUS (ursprüngliche Speicherwerte bleiben erhalten)
- Wenn Variable > 0: Der Patch ist EIN (Hex-Wert wird angewendet)

Hier ist ein Beispiel mit den Komponenten des "HideEXP"-Quickpatches:

Code:
; Variable 5 steuert die EXP-Anzeige in Menüs:
; Wert 0 = EXP anzeigen (ursprüngliches Verhalten, Patch inaktiv)
; Wert 1+ = EXP ausblenden (Patch aktiv, verwendet die HideEXP-Quickpatch-Werte)

; Erste Komponente: Modifiziert Code bei 0x49E148
QuickPatch1_VariableId=5
QuickPatch1_Address=0x49E148
QuickPatch1_Type=hex
QuickPatch1_HexValue=EB71

; Zweite Komponente: Modifiziert Code bei 0x49F1CA
QuickPatch2_VariableId=5
QuickPatch2_Address=0x49F1CA
QuickPatch2_Type=hex
QuickPatch2_HexValue=EB67

; Dritte Komponente: Modifiziert Code bei 0x49F095
QuickPatch3_VariableId=5
QuickPatch3_Address=0x49F095
QuickPatch3_Type=hex
QuickPatch3_HexValue=EB21
Alternative: 8-Bit- oder 32-Bit-Werte für dynamische Steuerung

Wenn du direkte numerische Kontrolle über Speicherwerte benötigst, verwende stattdessen die 8-Bit- oder 32-Bit-Typen:

Code:
; Variable 6 steuert ein einzelnes Byte bei 0x49E148
; Wenn du es auf 235 (0xEB in Hex) setzt, würde die Sprunganweisung
; aus dem HideEXP-Quickpatch angewendet werden
QuickPatch4_VariableId=6
QuickPatch4_Address=0x49E148
QuickPatch4_Type=8bit

; Variable 7 steuert die Fenster-X-Position (Beispiel mit 32-Bit-Wert)
QuickPatch5_VariableId=7
QuickPatch5_Address=0x490821
QuickPatch5_Type=32bit
Für die 8-Bit- und 32-Bit-Typen wird der tatsächliche Wert der Variable verwendet, um den Speicher zu modifizieren.

Anforderungen

  • RPG Maker 2003 v1.08
  • DynRPG 0.32


Download

Das Plugin ist auf GitHub verfügbar: DynamicQuickPatch Plugin für RPG Maker 2003

Bei Fragen oder Feedback stehe ich gerne zur Verfügung!