Archiv verlassen und diese Seite im Standarddesign anzeigen : [RM2k3] Für sich selbst stehende, mehrfach verwendbare Variablen/Switches
Angenommen man möchte ein Spiel erstellen, bei der eine Vielzahl an Ereignissen die selben Variablen/Switches verwendet. Das Problem gab es sicher schon oft. Ich habe gesehen, dass sich einige einfach auf die aufwändige Art und Weise manuell mit dem Problem auseinandergesetzt haben und eine Horde an Switches und Variablen in ihren Projekten erstellt haben. Aber gibt es auch eine alternative? Patches oder Plugins (z.B. für DynRPG usw.)?
Ich glaube ich verstehe die Frage nicht so richtig. Was genau ist das Problem wenn man eine Variable mehrfach verwenden will?
Vielleicht meint er so etwas wie Self Switches?
Ja genau. Switches und Variablen die sich nur innerhalb eines Events verändern und gelten und nicht global sind sozusagen. Ich weiss, es ist etwas konfus ausgedrückt. @_@
Ein Beispiel für soetwas wären Simulationsspiele, wo jedes Haus z.B. Nahrung braucht, die in einer Variable abgelegt ist. Aber anstatt 100 Variablen für 100 Häuser zu machen nur eine zu brauchen.
goldenroy
26.07.2014, 14:03
Es gibt ein Plugin namens "Auto Switches", das sowas ähnliches bewerkstelligt, aber keine Ahnung wie gut das in der Praxis funktioniert. >>Click<< (http://rpgmaker.net/engines/rm2k3/utilities/52/)
Ich kenne mich nicht mit Community-Patches für die alten Maker aus und weis nicht 100% was man alles damit machen kann, aber soweit ich das verstanden habe ist eine ganze Menge möglich.
Wenn dem so ist sollte man wohl in der Lage sein dir über einen Patch Zugriff auf eine HashMap zu geben. Wenn du den hättest könntest du alle Dinge der Welt speichern.
Über so einen Patch oder ein Plugin würde ich mich sehr freuen. Das wäre cool, so könnte man nämlich eben Simulations-spiele basteln.
bugmenot
29.07.2014, 15:44
Switches und Variablen die sich nur innerhalb eines Events verändern und gelten und nicht global sind
SelfVariables? Eigentlich braucht man bloß die Event_ID... und das ist schon der Knackpunkt.
... okay, dann halt nicht mit der eleganten Methode:
SelfVar
download SelfVar.rar (http://share.cherrytree.at/showfile-16027/selfvar.rar)
Wie immer nur für RPG_RT2k v1.07 oder RPG_RT2k3 v1.08 (bzw. eine DynRPG-gepatchte RT)
Erweitert MapEvents um zwei SelfSwitches und eine SelfVariable und erlaubt das Abändern davon auch außerhalb der entsprechenden Maps.
Über <ChangeVariable(Var[xyz]):Sprite:[...]:Map ID> wird in Var[xyz]+1 die Event_ID ausgegeben, sofern es sich um keine Hero- oder Vehicle-Events handelt.
Zugriff auf SelfSwitches/SelfVariables: (links oben im EventEditor)
Das obere "Switch[0001]" liest SelfSwitch A aus Switch_ID = 2x(Event_ID -1) + (Map_ID -1) x 2.000 + 5001
Das untere"Switch[0001]" liest SelfSwitch B aus Switch_ID = 2x(Event_ID -1) + (Map_ID -1) x 2.000 + 5002
"Variable[0001] = [...]" liest die SelfVariable aus Var_ID = Event_ID + (Map_ID -1) x 1.000 + 5000
Um SelfSwitches innerhalb des dazugehörigen Events umzulegen:
<> Change Variable: [0011] = Map ID of this event
<> Change Variable: [0011] - 1
<> Change Variable: [0011] * 2000
<> Change Variable: [0012] - 1
<> Change Variable: [0012] * 2
<> Change Variable: [0011] + V[0012]
<> Change Variable: [0011] + 5001
<> Comment: +5001 für SelfSwitch A
: +5002 für SelfSwitch B
<> Change Switch: [V[0011]], Toggle
Um SelfVariables des dazugehörigen Events verändern zu können:
<> Change Variable: [0011] = Map ID of this event
<> Change Variable: [0011] - 1
<> Change Variable: [0011] * 1000
<> Change Variable: [0011] + V[0012]
<> Change Variable: [0011] + 5000
<> Change Variable: [V[0011]] = ...
download LunarIPS (http://fusoya.eludevisibility.org/lips/)
Erster Schritt: legt euch eine Sicherungskopie eurer RPG_RT.exe an (für den Fall der Fälle)
Lunar IPS öffnen -> apply IPS patch -> .ips-Datei (den Patch) wählen > Dateityp: all types -> RPG_RT.exe auswählen
Nach dem Patchen lassen sich die Einstellungen per HexEditor ändern:
(2k)
0x8B34C = Switch[0001]
0x8B35B = SelfSwitch BlockStart (5000)
0x8B369 = SelfSwitch BlockSize** (2000)
0x8B378 = Var[0001]
0x8B385 = SelfVariable BlockStart (5000)
0x8B391 = SelfVariable BlockSize** (1000)
(2k3)
0xAA5AE = Switch[0001]
0xAA5BD = SelfSwitch BlockStart (5000)
0xAA5CB = SelfSwitch BlockSize** (2000)
0xAA5DA = Var[0001]
0xAA5E7 = SelfVariable BlockStart (5000)
0xAA5F3 = SelfVariable BlockSize** (1000)
Oder packt den Patch in den Ordner DynPatches und:
[QuickPatches]
SelfSwitch_ID=4AB1AE,#1
SelfSwitchBlock=4AB1BD,#5000
SelfSwitchBlockSize=4AB1CB,#2000
SelfVar_ID=4AB1DA,#1
SelfVarBlock=4AB1E7,#5000
SelfVarBlockSize=4AB1F3,#1000
**setzt man BlockSize auf Null, dann werden SelfSwitches und SelfVariables nicht mehr für jede Map gespeichert.
Adds two SelfSwitches and one SelfVariable for MapEvents and allows to change these outside of their respective maps as well.
With <ChangeVariable(Var[xyz]):Sprite:[...]:Map ID> the Event_ID of an Event is written into Var[xyz]+1, if it is not a hero or vehicle.
Access to SelfSwitches/SelfVariables: (upper left corner of the EventEditor)
The upper "Switch[0001]" reads SelfSwitch A from Switch_ID = 2x(Event_ID -1) + (Map_ID -1) x 2.000 + 5001
The lower "Switch[0001]" reads SelfSwitch B from Switch_ID = 2x(Event_ID -1) + (Map_ID -1) x 2.000 + 5002
"Variable[0001] = [...]" reads SelfVariables from Var_ID = Event_ID + (Map_ID -1) x 1.000 + 5000
To change SelfSwitches within its event:
<> Change Variable: [0011] = Map ID of this event
<> Change Variable: [0011] - 1
<> Change Variable: [0011] * 2000
<> Change Variable: [0012] - 1
<> Change Variable: [0012] * 2
<> Change Variable: [0011] + V[0012]
<> Change Variable: [0011] + 5001
<> Comment: +5001 for SelfSwitch A
: +5002 for SelfSwitch B
<> Change Switch: [V[0011]], Toggle
To change SelfVariables within its event:
<> Change Variable: [0011] = Map ID of this event
<> Change Variable: [0011] - 1
<> Change Variable: [0011] * 1000
<> Change Variable: [0011] + V[0012]
<> Change Variable: [0011] + 5000
<> Change Variable: [V[0011]] = ...
download LunarIPS (http://fusoya.eludevisibility.org/lips/)
First step: make a backup of your RPG_RT.exe (just in case)
open Lunar IPS -> apply IPS patch -> select the .ips file (this patch) -> file type: all types -> select the RPG_RT.exe
Upon patching you can change the settings via HexEditor:
(2k)
0x8B34C = Switch[0001]
0x8B35B = SelfSwitch BlockStart (5000)
0x8B369 = SelfSwitch BlockSize** (2000)
0x8B378 = Var[0001]
0x8B385 = SelfVariable BlockStart (5000)
0x8B391 = SelfVariable BlockSize** (1000)
(2k3)
0xAA5AE = Switch[0001]
0xAA5BD = SelfSwitch BlockStart (5000)
0xAA5CB = SelfSwitch BlockSize** (2000)
0xAA5DA = Var[0001]
0xAA5E7 = SelfVariable BlockStart (5000)
0xAA5F3 = SelfVariable BlockSize** (1000)
Or put this patch into your DynPatches folder and:
[QuickPatches]
SelfSwitch_ID=4AB1AE,#1
SelfSwitchBlock=4AB1BD,#5000
SelfSwitchBlockSize=4AB1CB,#2000
SelfVar_ID=4AB1DA,#1
SelfVarBlock=4AB1E7,#5000
SelfVarBlockSize=4AB1F3,#1000
**when setting BlockSize to zero, SelfSwitches and SelfVariables will not be tracked for each individual map
Folgendes könnte noch helfen:
AntiLagSwitch (http://www.multimediaxis.de/threads/104116-Programmwunsch-und-erstellungsthread-2?p=3160250&viewfull=1#post3160250)
SwitchPointer (http://www.multimediaxis.de/threads/104116-Programmwunsch-und-erstellungsthread-2?p=3103033&viewfull=1#post3103033)
BattleAnimationPointer
download BattleAniPointer (http://share.cherrytree.at/showfile-15991/battleanipointer.rar)
Erlaubt es, Event_ID und Animation_ID vom <Show Battle Animation> Befehl über Variablen anzugeben.
Var[3328] = Event_ID
Var[3329] = Animation_ID
Ist die Variable Null oder unter Null, dann wird der angegebene Wert aus dem <Show Battle Animation> Befehl genommen.
download LunarIPS (http://fusoya.eludevisibility.org/lips/)
Erster Schritt: legt euch eine Sicherungskopie eurer RPG_RT.exe an (für den Fall der Fälle)
Lunar IPS öffnen -> apply IPS patch -> .ips-Datei (den Patch) wählen > Dateityp: all types -> RPG_RT.exe auswählen
Nach dem Patchen lassen sich die Variable_IDs in der RPG_RT.exe unter 0x87F0A (Var[3328]) und 0x87FAB (Var[3329]) (2k) bzw. 0xAEE96 (Var[3328]) und 0xAEF35 (Var[3329]) (2k3) per HexEditor umstellen. Oder packt den Patch in den Ordner DynPatches:
[QuickPatches]
BAP(EventPtr)=4AFA96,#3328
BAP(AnimationPtr)=4AFB35,#3329
This allows to assign Event_ID and Animation_ID of the <Show Battle Animation> command by usage of variables.
Var[3328] = Event_ID
Var[3329] = Animation_ID
If a variable is zero, the value assigned in the <Show Battle Animation> command will be used instead.
download LunarIPS (http://fusoya.eludevisibility.org/lips/)
First step: make a backup of your RPG_RT.exe (just in case)
open Lunar IPS -> apply IPS patch -> select the .ips file (this patch) -> file type: all types -> select the RPG_RT.exe
Upon patching you can change the Variable_ID in the RPG_RT.exe at 0x87F0A (Var[3328]) and 0x87FAB (Var[3329]) (2k) or 0xAEE96 (Var[3328]) and 0xAEF35 (Var[3329]) (2k3) by using a HexEditor. Or put this patch into your DynPatches folder and paste the following into your DynRPG.ini:
[QuickPatches]
BAP(EventPtr)=4AFA96,#3328
BAP(AnimationPtr)=4AFB35,#3329
http://cherrytree.at/misc/smilies/054sm_12.gif
Vielen, vielen Dank! Da es schon eine etwas umständlichere Angelegenheit ist, werde ich mir das später ausführlich ansehen.
Bisher gibt es also nur zwei SelfSwitches und eine SelfVariable, oder? Dafür, dass das so schnell ging reicht es vorerst für Testzwecke allemal.
Ganz nebenbei: Gibt es eigentlich irgendwo schon eine Sammlung deiner DynRPG Plugins?
bugmenot
29.07.2014, 19:03
Bitte nochmal herunterladen: download SelfVar.rar (http://share.cherrytree.at/showfile-16027/selfvar.rar)
Gibt es eigentlich irgendwo schon eine Sammlung deiner DynRPG Plugins?
Da ich bisher 0 Plugins zu verzeichnen habe: nein.
http://www.multimediaxis.de/threads/104116-Programmwunsch-und-erstellungsthread-2?p=3162125&viewfull=1#post3162125
Ich hab' Patches
Liste an Plugins (http://www.multimediaxis.de/threads/139981-DynRPG-Liste-der-im-RPG-Atelier-ver%C3%B6ffentlichten-DynRPG-Plugins) << hier sollte mal wieder etwas geschehen.
Ansonsten gibt es noch Plugins von PepsiOtaku (http://rpgmaker.net/users/PepsiOtaku/utilities/)
goldenroy
29.07.2014, 20:30
Liste an Plugins (http://www.multimediaxis.de/threads/139981-DynRPG-Liste-der-im-RPG-Atelier-ver%C3%B6ffentlichten-DynRPG-Plugins) << hier sollte mal wieder etwas geschehen.
Ansonsten gibt es noch Plugins von PepsiOtaku (http://rpgmaker.net/users/PepsiOtaku/utilities/)
Vergiss nicht >>Cortis Zeug<< (http://www.multimediaxis.de/threads/138938-DynRPG-Corti-s-Werkstatt-%28Update-30-12-13%29-Neu-CustomCrit-CombatVisu!?)
Danke!
@bugmenot:
0? Sind die von dir geposteten Plugins nicht von dir?
bugmenot
29.07.2014, 22:50
http://www.multimediaxis.de/threads/104116-Programmwunsch-und-erstellungsthread-2?p=3162125&viewfull=1#post3162125
Ich hab' Patches
das
Eröffnest du vllt bald einen Thread? Es sind wirklich viele und dann muss man nicht immer die Seite suchen. ^^
P.S.: Ist das nicht auch ein SelfSwitches/Variablen-Patch oder hab ich beim Lesen etwas falsch verstanden?
http://rpgmaker.net/engines/rm2k3/utilities/52/
bugmenot
29.07.2014, 23:45
Eröffnest du vllt bald einen Thread?
Meh. Dann muss man ja gar nicht mehr suchen.
P.S.: Ist das nicht auch ein SelfSwitches/Variablen-Patch [...]
Plugin.
Da der Kerl, der gerne SelfSwitches haben wollte gemeint hat, er hätte keine Ahnung, wie das Auto Switches Plugin funktioniert... ...und es hat Patch gemacht. Und 2k Support ist bei mir immer/meistens drin.
Soviel, wie aus der Bechreibung zu entnehmen war, muss man die MasterSwitch_ID / MasterVariable_ID in den EventConditions angeben, und es hat dann eine SelfSwitch-Funktionalität. Vielleicht. Keine Ahnung.
Es gibt bei Pepsi's Plugin bisweilen auch nur einen SelfSwitch/AutoSwitch pro Event.
Meh.
Heißt das ja, nein, oder vielleicht? :D
...und es hat Patch gemacht.
Patch gemacht? Ist das Lautmalerei oder ein Username? :D
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.