SelfVar: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „{{Tool |name=SelfVar <!--|bild=--> |ersteller=bugmenot |os=Windows |engine=RPG Maker 2000 1.07<br />RPG Maker 2003 1.08 |sprache=- |version=…“) |
|||
Zeile 6: | Zeile 6: | ||
|engine=[[RPG Maker 2000]] 1.07<br />[[RPG Maker 2003]] 1.08 | |engine=[[RPG Maker 2000]] 1.07<br />[[RPG Maker 2003]] 1.08 | ||
|sprache=- | |sprache=- | ||
+ | |patch_db={{PatchDBLink|self_var}} | ||
|version= | |version= | ||
|datum=29. Juli 2014 | |datum=29. Juli 2014 |
Aktuelle Version vom 19. Oktober 2022, 13:29 Uhr
SelfVar |
---|
Kein Bild verfügbar | |
Erstellt von | bugmenot |
Betriebssystem | Windows |
Für Maker/Engine | RPG Maker 2000 1.07 RPG Maker 2003 1.08 |
Sprache | - |
PatchDB-Einträge | self_var |
Aktuelle Version | |
Veröffentlichung | 29. Juli 2014 |
Herunterladen | Klick |
SelfVar ist ein IPS-Patch von bugmenot für die RPG_RT.exe, der die standardmäßig ersten 1000 MapEvents jeder Map um zwei SelfSwitches und eine SelfVariable erweitert, indem der Datenbereich für normale Switches und Variablen stark ausgeweitet und teils automatisch umgeleitet wird.
Veränderungen
- Wird der Masken-Switch (Standard: #0001) in den Voraussetzungen einer Eventseite im ersten, bzw. zweiten Switchblock referenziert, wird diese Abfrage auf den ersten, respektive zweiten SelfSwitch umgeleitet.
- Wird die Masken-Variable (Standard: #0001) in den Voraussetzungen einer Eventseite referenziert, wird diese Abfrage auf die SelfVariable umgeleitet.
- Wird im Eventbefehl zum Ändern einer Variable die Map-ID eines Events abgefragt, wird in der Variable mit der nächsten Nummer automatisch der Index des Events gespeichert (der sich von der ID unterscheiden kann, falls Events gelöscht wurden).
Anwendung
Um Self-Inhalte eines Events direkt zu verwenden, müssen deren tatsächliche IDs im Switch- oder Variablenspeicher zuvor über Berechnungen rangeholt werden. Diese Vorgehensweise ist grundsätzlich auch möglich, wenn der Patch nicht angewendet wurde, jedoch nicht empfehlenswert.
◆Change Variable: [0011] = [This Event]'s MapID ◆Change Variable: [0011] -= 1 ◆Change Variable: [0011] *= Reservierte Switches (Standard: 2000) ◆Change Variable: [0012] -= 1 ◆Change Variable: [0012] *= 2 ◆Change Variable: [0011] += Var[0012] ◆Change Variable: [0011] += Erster SelfSwitch (Standard: 5001 oder 5002) ◆Change Switch: [Var[0011]] (...)
◆Change Variable: [0011] = [This Event]'s MapID ◆Change Variable: [0011] -= 1 ◆Change Variable: [0011] *= Reservierte Variablen (Standard: 1000) ◆Change Variable: [0011] += Var[0012] ◆Change Variable: [0011] += Erste SelfVariable (Standard: 5001) ◆Change Variable: [Var[0011]] (...)
Modifikation
Zur fehlerfreien Funktion wird vorausgesetzt, dass bei Switches und Variablen entweder keine IDs jenseits der normalen Grenze von 5000 genutzt werden oder der für Self-Inhalte reservierte Teil verschoben wird. Die dazugehörigen Daten können über einen Hex-Editor nach Anwenden des Patches nachträglich angepasst werden.
Standard | 2000-1.07 | 2003-1.08 | |
---|---|---|---|
Masken-Switch | 1 | 0x8B34C | 0xAA5AE |
Erster SelfSwitch -1 | 5000 | 0x8B35B | 0xAA5BD |
Events mit reservierten Switches ×2 | 2000 | 0x8B369 | 0xAA5CB |
Masken-Variable | 1 | 0x8B378 | 0xAA5DA |
Erste SelfVariable -1 | 5000 | 0x8B385 | 0xAA5E7 |
Events mit reservierten Variablen | 1000 | 0x8B391 | 0xAA5F3 |
Falls DynRPG beim RPG Maker 2003 genutzt wird, können die entsprechenden Werte über die QuickPatch-Funktion in DynRPG.ini geändert werden.
[QuickPatches] SelfSwitch_ID=4AB1AE,#1 SelfSwitchBlock=4AB1BD,#5000 SelfSwitchBlockSize=4AB1CB,#2000 SelfVar_ID=4AB1DA,#1 SelfVarBlock=4AB1E7,#5000 SelfVarBlockSize=4AB1F3,#1000