Es gibt schon Klassen für die internen Arraystrukturen ,wie z.B. DArray bzw. DList...
was genau hast du da vor? Ich versteh das momentan grade nicht.
Es gibt schon Klassen für die internen Arraystrukturen ,wie z.B. DArray bzw. DList...
was genau hast du da vor? Ich versteh das momentan grade nicht.
--
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
Direct Menu Patch
download DirectMenuPatch(fix)
Geändert von bugmenot (16.05.2015 um 15:07 Uhr)
Langsam verlier ich den Überblick über diese ganzen Menüpatches. xD
Da gibt es welche, um Menüpunke direkt zu öffnen, welche um Menüpunkte auszuhebeln, dann noch VisuMenu für generelles umgestalten, Cherrys MapInMenu und von allen irgendwie zig verschiedene Versionen und dann noch für 2k/2k3 und manche als Plugin und aaaah. D8
Ich glaub ich such die mal zusammen und mach nen "Pimp my menu"-Thread oder so. °3°
Besten Dank!
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Update
... da ist jetzt ein Patch für 2k3 mit bei, sowie ein Bugfix für die 2k Version (bei leerer Party kein Crash mehr).
... es müsste eigentlich auch möglich sein mit einem geupdateten SystemClock w/ Foreground & Background Plugin noch mehr Zeug in die ganzen anderen Menüs reinzupacken.
Ohne mal an zusätzliche Möglichkeiten des Zugriffs von DynRPG (irgendwann vielleicht) auf Menünavigation zu denken (Ordnungsfunktion + Reihenwechsel in Einem. Wie in den gängigen klassischen Rollenspielen... so mal als Beispiel)
Edit:
Solange ein Battler noch nie angegriffen wurde, ist
immernoch gleich Null. Lese- und Schreibzugriff auf das Array mit den ganzen Attributresistenzen ist somit nicht möglich. Man kann vielleicht noch über die Klassen Actor und Monster(nicht "subtype of battler") die ganzen Resistenzen auslesen.
Andere Frage: mit
kommt man an einige Informationen ran... wie dreht man das jetzt aber um (einen Pointer erhalten, über den man neue Werte setzen kann)?
Und wie kann man Code wie
gescheit in C++ umsetzen?
Wenn man mittels RPG:: Action die Parameter kind, basicActionId, skillId, monsterId, itemId, target, targetId setzen würde... sowie
target an [[0x4CDD38]+B0h],
targetId an [[0x4CDD38]+B4h] und
Hero_ID (bzw. -1 if isMonster=true) an [[0x4CDD38]+B8h]
schreiben würde, dann würde es noch lange nichts nützen, solange
nicht aufgerufen wird (entspricht manuellem Ausführen eines Kampfbefehls... wäre nützlich für Kontern, eigene KI, SkillCombo, etc.)
http://rpg-maker.cherrytree.at/dynrp...c8c3785a52161a ?
Und wegen "umdrehen": Eine Referenz erstellen - int &monGroupID, etc.
Sowas wie dein +8 +8 Beispiel würd ich so direkt natürlich nicht einbauen (außer halt eben wenn ich noch keine Strukturen habe, aber das ist ja da nicht der Fall), sondern - mal davon ausgehend dass da von einem TCatalog die Länge willst - einen DListPtr setzen und die length property verwenden (dafür ist sie ja da).
--
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
Habe ich übersehen. Kann mit der Information vielleicht etwas anfangen, wenn ich insgesamt mehr als 3-4 Stunden Erfahrung mit C++ habe.
@DArray
Du meinst, dass sich über
mit dem angepointerten Array arbeiten lässt?
Andere Frage: hat man per Plugin Zugriff auf den address space von der RPG_RT.exe Applikation? Lesen und Schreiben geht ja über reinterpret_cast bereits. Was mir persönlich fehlt, ist ein bequemes Angeben von Funktionsadressen aus der RPG_RT zum Ausführen jener Funktionen und um schnell mal ein paar dutzend Sachen durchzuprobieren.
Edit³:
Dammit... Soetwas wie:
Werde das beizeiten mal auseinandernehmen. Der Aufbau hiervon sagt mir nur leider nicht viel, außer dem Zuweisen der %Register.
Ach und: Bugfix.
Im 2k3 fehlt im Database Editor der Zugriff auf einen Parameter von Skills (dieses "failure message" Ding beim 2k). Wenn man Skills löscht und neue erstellt, dann setzt sich der Parameter zurück auf 'magic type evasion' und ignoriert AGI-Werte und Conditions für die Berechnung von Trefferwahrscheinlichkeiten.
Wenn man ATK influence auf Null setzt, dann werden AGI-Werte und Zustandsänderungen (wie Blind) ignoriert (für klassische Zauber). Damit eine Ausweichrate durch AGI berücksichtigt wird, muss man die ATK influence auf 1 oder höher setzen.Zitat von DynRPG.ini
Und nochmal:
Wenn AGI(target) / AGI(user) gegen Null läuft:
Falls die Trefferrate nicht bei 50% hängen bleiben soll, egal wie blind der Nutzer eines Skills ist.Zitat von DynRPG.ini
Edit:
Oder für Diejenigen, welche den Int Stat nicht für die Schadensberechnung nutzen
AGI und conditions ignorieren, solange INT influence größer/gleich 1 ist.Zitat von DynRPG.ini
Edit²:
Oder wenn sich die Skill_ID innerhalb eines festlegbaren ID-Bereiches befindet, gehen AGI und conditions in die Trefferrate mit ein:
Zitat von DynRPG.ini
Geändert von bugmenot (28.10.2014 um 21:37 Uhr)
SkillSubsets sollten nun wieder funktionieren.
Und ein paar kleine Änderungen... nützlich für "Stehlen" Fähigkeiten oder Ähnliches (siehe Readme).
"Miss!" Verarbeitung wurde etwas verbessert.
Einen Fehler beseitigt, bitte nocheinmal herunterladen:
Update/BugFix (19.02.2015); Crash bei explodierenden Gegnern.
RowPhysSkills[+] (2k3)
download RPS[+]
Ich hatte eigentlich vorgehabt Sachen nicht mit reinzunehmen, die man per Plugin erreichen kann... was soll's.
Edit:
download DBX.ini
(höhere DmgMul[A|B|C|D|E] für Attribute)
Geändert von bugmenot (19.02.2015 um 00:42 Uhr)
Nur interessehalber? Was für ne Form von Logik steckt hinter so einem fix? Steht da irgendwo in der AddCondition-Funktion ein StopMovement oder wie hat man sich sowas vorzustellen?
Btw. führt das Wechseln von Waffen zu einem ähnlichen Effekt.
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Ähm... Beispiel? (greift der Fix da nicht mehr?)
Standardmäßig wird in dieser AddCondition-Funktion der Animation2-Parameter von RPG :: Battler sofort auf "Bad Status" gesetzt. Der Animation2-Parameter "Move back" liegt in dem Moment nicht mehr vor und das Zurückbewegen nach x/y-Pos(return) wird dadurch in der UpdateBattler-Funktion nicht abgehandelt.
Hab den Fix nicht ausprobiert. Hab mich nur dran erinnert, dass ich den Effekt daher kannte. Wenn man direkt nach einem Angriff die Waffe eines Helden tauscht, bevor er wiedr an seinem Platz ist, so bleibt er an der Stelle stehen.
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Edit (18.11.14):
Edit (24.11.14):
Kleiner Fix, neue Version:
StatusAnimationFix[+] (2k3)
download StatusAnimationFix[+]
Ersetzt den Vorgänger (SAF.ips)
Das ist weniger eine Behebung des eigentlichen Fehlers, sondern eher ein Exception Handling für den Fall:
Animation2 = Idle mit x|y(now) ungleich x|y(return)
Animation2 (bzw. animationId) wird auf "Move back" gesetzt, FrameCounter der Aktion auf 23 gesetzt. Idle erst, wenn die Bewegung vorbei ist.
Wer jetzt mit der Positionierung der Battler-Sprites rumspielt, muss darauf achten, dass beim RPG :: Battler die Attribute x, und originalX gleichgesetzt werden müssen (das Selbe für y).
Geändert von bugmenot (24.11.2014 um 12:57 Uhr)
Ich habe noch ein Phänomen für dich.
Es gibt die Möglichkeit eine Event-Seite in den Monstergroups anzulegen mit der Bedingung "Hero X does Y command". Diese Eventseite wird ausgeführt, wenn der Held beginnt diese Sache zu tun, nicht nachdem er das getan hat.
- Befehl auswählen
- Eventseite "does Y command"
- Held macht Y
Wenn man nun in dieser Eventseite "does Y command" ein Switch setzt, dass eine andere Eventseite schaltet, dann passiert das hier:
- Befehl auswählen
- Eventseite "does Y command" -> Switch1=on
- Held macht Y
- Eventseite (if switch1==on) -> Switch1=off
Das ist genau richtig so. Auf diese Weise kann man vor und nach der Handlung Eventcode ablaufen lassen.
Leider gibt es Ausnahmen.
- Wenn der Spieler ein Item anwendet, wird die SwitchEventseite nicht ausgeführt.
- Wenn der Spieler den Abwehrbefehl anwendet, wird die SwitchEventseite nicht ausgeführt.
- Wenn der Spieler einen Skill nutzt und mit dieser Skil eine Condition auf den Helden selbst ausgeführt wird, wird die SwitchEventseite nicht ausgeführt.
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
BugFix(2k3)
download ClassChangeEquipFix
Wenn man einen Klassenwechsel macht, wurde vorher einfach die gesamte Ausrüstung abgelegt.
Und: StatusAnimationFix-Update
@Corti
Sehe ich mir schon noch an. Ich habe die Dokumentation von BattleEvents irgendwo rumflattern.
Edit:
BugFix:
Die Zeilen mit DmgCapper, minDMG, maxDMG damit ersetzen. Der QuickPatch hat vorher negative Schadenszahlen nicht beachtet.Zitat von DynRPG.ini
Edit²:
Das Ding hat ein Problem damit, wenn absorbierter Schaden durch zu hohe Abwehr auf 0 runtergerechnet wird (Ziele, welche Schaden absorbieren würden, machen nun den oben angebenen Mindestschaden.)
Edit:
Falls damit etwas nicht zu funktionieren scheint, proiert die #Zahlen mit HexDezimal-Zahlen zu ersetzen:
HexConverter
Setzt die Zahl in das rechte Feld neben dem "big-endian" und nehmt die Zahlenfolge des linken Feldes neben dem "little-endian", fügt die Zahl hinter das Komma eines QuickPatches ein:
Bsp. DmgCapper(max)=446E3C,0F270000
(Oder im Windows Rechner -> Alt+3 halten)
Und: RPS[+]-Update
Edit³:
BattleMessenger(2k3)
download BattleMessenger
Ausmaße und Position der message box im Kampf über Variablen steuern.
Dafür müssen alle QuickPatches entfernt werden, die direkt mit der message box im Kampf zu tun haben.
Geändert von bugmenot (04.12.2014 um 15:47 Uhr)
Ich träume immer noch von einem Pixelmovement für die Kamera vom RM2k3. Auch toll wäre es sogar wenn man die Kamera auf ein bestimmtes Bild scrollen lassen könnte. Gibt es dazu schon etwas?
Zuweisung der Argumente mapOffsetX/Y und scrollSpeed per onComment callback oder so.
Frag jemanden (versuch es mal an Schalter 2), der Ahnung von C++ hat.
Edit:
Und die originalen Kamerapositionen wiederherstellen:
Geändert von bugmenot (18.12.2014 um 18:43 Uhr)
Danke. Seit ich im Juli dort nachgefragt habe hat keiner mehr einen Beitrag geschrieben.
Bei einem RPG :: Battler von Typ Actor wird direkt nach einer Aktion das reguläre updateBattleEvents nur mit RPG :: BattleEventUpdateMode = BEUM_BEFORE_ACTION durchgeführt. Bei Battlern vom Typ Monster wird jedoch zuerst RPG :: BattleEventUpdateMode = BEUM_BEFORE_ACTION und dann noch ein RPG :: BattleEventUpdateMode = BEUM_AFTER_ACTION durchgeführt.
Es gibt jetzt (mindestens) zwei Sachen, die man machen kann:
Hiermit wird sowohl für Actors/Heroes als auch für Monster erst BEUM_BEFORE_ACTION und dann noch ein BEUM_AFTER_ACTION abgehandelt.Zitat von DynRPG.ini
Oder:
Hiermit gilt für Monster nur BEUM_BEFORE_ACTION, für Actors/Heroes jedoch auch wieder Beides.Zitat von DynRPG.ini
Warum das vorher nur für Monster verwendet wurde, kann ich nicht sagen. Es scheint jetzt zumindest keine Crashes oder irgenwelchen anderen Kram auszulösen*. (*citation needed)
Geändert von bugmenot (22.12.2014 um 18:38 Uhr)
Ich fänds toll, wenn man per Event erkennen könnte, welche der beiden Fenstergrößen gerade aktiv ist und
dass man diese auch umschalten kann. Ich halte es für verwirrend, wenn man Spielern ein Menü mit vielen
Einstellungen bietet, aber dann dabei steht, dass dieser Wechsel ausschließlich per F5-Hotkey funktioniert.
Falls jemand also richtig Langeweile hat: Betrachtet es einfach als kleinen Anstoß [RPG2000-107]
download VarExtender[+]
Ich würde die Änderung am Eventeditor ja in eine 2k9 uimod packen, aber dazu müsste mir erstmal jemand sagen, wie man in Delphi5 auf eine StringList / Array / was-auch-immer-das-ist zugreift.
Geändert von bugmenot (21.03.2015 um 00:41 Uhr)