Ergebnis 1 bis 20 von 2331

Thema: Programmwunsch und -erstellungsthread #2

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Da wurde irgendwas falsch verdrahtet / benannt. Die Sachen machen eigentlich das, was sie machen sollen (halt nur falsch benannt + an falscher Position).

    Falls du es trotzdem richtig herum benannt haben willst (dafür bräuchtest du den RM2k9):
    download DBX.ini

    Bzw. einfach das hier in eine bereits existierende uimod (welche auch in der ultimate.ini aufgelistet wurde) reinkopieren:
    [FormEDStatus]
    CheckBox2=Defense
    CheckBox3=Intelligence

    Geändert von bugmenot (12.04.2015 um 14:00 Uhr)

  2. #2
    Gab ja schon einige Patches für das Überschreiben von einigen Menüpunkten mit Switches hier (z.B. Row-ATB oder SROA), was mir aber unangenehm auffällt: Wenn diese Menüpunkte angewählt werden, wird - anders als z.B. beim order_switch Plugin von PepsiOtaku - das Menü zuerst geschlossen und danach wieder geöffnet. Dadurch laufen zumindest in meiner Konfiguration Mapevents weiter, was ziemlich problematisch ist. Könnte man das irgendwie ändern?

    Hatte schon versucht, das order_switch Plugin für das Row Kommando umzuschreiben, bin aber daran gescheitert, keine vernünftige Adresse dafür gefunden zu haben. oder_switch verwendet 0x4A23BC, und der kommentierte Menücode von bugmenot gibt nur Adressen für Item, Skill, Equip, Quit, Status und Order an. Vielleicht hab ich auch was übersehen. )

    EDIT: Nevermind that, hatte vergessen, das Event auf AutoStart zu stellen. Heh. D:

    Geändert von goldenroy (14.04.2015 um 18:26 Uhr)

  3. #3
    Hey Roy!

    Was diese Switch-menüpunkte angeht, habe ich einen Tipp für dich. Aus dem Menü den Punkt anwählen und die Seite per Autostart starten geht noch, aber wenn du dann zurück ins Menü willst, per CallMenu und dann wieder ins Menü gehst, bist du bei Verlassen des Menüs natürlich an der Menüaufruf Stelle im Eventcode, innerhalb des CEs vom ersten Aufruf. Wenn du mehrere Menüpunkte dieser Art hast, kann das unnötig kompliziert werden. Der Kniff ist, das Menü nicht per Esc zu öffnen, sondern per PP die Esc-Taste abzufragen, im Drückfalle ein Autostart zu aktivieren und dort das Menü manuell zu rufen. Gehst du dann per Patch aus dem Menü raus, kannst du direkt danach im Eventcode abfragen, ob und welcher Switch gedrückt ist. In Summe die einfachste Lösung, wie ich festgestellt habe.

  4. #4
    Bugmenot! Ich hätte da mal eine Frage. Monster können sich transformieren. Ist es umfangreich rauszufinden, wie und wo das geschieht? Ich würde gerne in Eventcode den MonsterTyp ändern.

  5. #5
    Code:
    int eax = (int)(RPG::monsters[(ID)-1]); //pointer on RPG::battler //ID = EnemyParty#; possible values for ID = 1..8
    int edx = newID;    //new Monster_ID to transform into
    asm volatile("call *%%esi"
    		:
    		: "S" (0x4BDDD8), "a" (eax), "d" (edx)
    		: "cc", "memory");
            //transforms Enemy; does not alter the Enemy's ATB value

    Und wegen dem anderen Thread:
    Code:
    int eax = (int)(RPG::monsters[(ID)-1]); //pointer on RPG::battler //ID = EnemyParty#; possible values for ID = 1..8 //for Heroes, use RPG::actors[ID]
    int edx = attID;    //Attribute_ID
    int out = 0;
    asm volatile("call *%%esi"
    		: "=a" (out)
    		: "S" (0x4BFE4C), "a" (eax), "d" (edx)
    		: "cc", "memory");
    RPG::variables[varID] = out;
            //returns current Attribute_Modifier: -1|+0|+1
    Ja, RPG::actors[ID]->attributes liefert
    0 = -1
    1 = +0
    2 = +1

    Code:
    int eax = (int)(RPG::monsters[(ID)-1]); //pointer on RPG::battler //ID = EnemyParty#; possible values for ID = 1..8 //for Heroes, use RPG::actors[ID]
    int edx = attID;    //Attribute_ID
    int ecx = attMod;   //Attribute_Modifier //possible values = -1..+4
    asm volatile("call *%%esi"
    		:
    		: "S" (0x4BFE94), "a" (eax), "d" (edx), "c" (ecx)
    		: "cc", "memory");
            //sets new Attribute_Modifier; Resistance = default Resistance +|- attMod
            //warning: if resulting Resistance is not within A..E, a DamageMultiplier of 0% is used
    Beide abgerufene Funktionen initialisieren das Array, falls list size = 0.
    Nein, man kann keinen -2 Modifier setzen, weil intern nicht durchgehend mit 2-Byte-Zahlen gearbeitet wird, sondern ein zero extend in eine 4-Byte-Zahl stattfindet. So wird aus dem 0xFFFF (-1) dann einfach 65.535 in dezimal. Wäre wohl angebracht alle Resistenzen in der Database auf [A] zu haben und dann entsprechend neu zu setzen/modifizieren.

    Und nein, entsprechende Funktionen und Datenstrukturen für Conditions gibt es (von Haus aus) nicht.

    Geändert von bugmenot (19.04.2015 um 17:15 Uhr)

  6. #6
    Hey! Danke dir! Das transformieren probiere ich mal!

    Was die Attribute angeht, das klappt nun alles wie ich es will. Die Arrays initalisieren sich wohl immer nur bis zum ersten Standardabweichenden, daher frage ich nun nach size>=abgefragtem Attribut und nehme sonst an, dass der A bis E-Wert auf C und die Abweichung auf 1 ist. Soweit klappts, da muss ich auch nichts selbst initialisieren.

  7. #7
    Hey, gibts einen Patch, der bei einem GameOver nicht den GO-Bildschirm aufruft, sondern einfach nen Switch oder so aktiviert? Wär hilfreich für 'HP Reduction can kill target' von Change Character HP. Theoretisch isses egal, was danach mit den HP passiert (falls die nicht permanent auf 0 bleiben dürfen oder so), weil das ganze für nen selbstgemachten GameOver-Screen sehr praktisch wäre. (:

  8. #8
    Möchte vielleicht jemand mit viel Lust, Zeit und Laune etwas am Patch für 32bit-Screen korrigieren?

    Es gibt da nämlich eine Sache, die nicht korrekt funktioniert, da merkt man auch die bereits erwähnte
    Tatsache an, dass das für RPG2003 von Banane's Version aus Destiny2 portiert wurde.

    Screen-Übergänge, die bei Delete nichts tun und bei Show ein FadeIn verwenden, oder noch einfacher
    ShowScreen-Befehle mit FadeIn, verursachen einen sehr unangenehm aussehenden Glitch, der sich
    mit einem blauen Flimmern auf der linken Bildschirmhälfte bemerkbar macht, während dabei die rechte
    Hälfte bis zum Ende des Übergangs komplett stillstehen bleibt.

    Im Fall eines Fixes wäre auch einer für die RPG2000-Identify von Destiny2 nett oder etwas, das man
    nachher nochmal drüberpatchen kann, es sieht nämlich nicht so aus, als würde da sobald seitens
    Bananen-Joe so schnell was passieren.

  9. #9
    2k3 v1.08
    download 32bit(fix)

    2k v1.07
    download DestinyV2 32bit fix
    (diese ips Datei anwenden nachdem dieser 32bit-Patch mit Bananen-Joe's Destiny Patcher angewendet wurde.)


    Zitat Zitat von MagicMaker Beitrag anzeigen
    die RPG2000-Identify von Destiny2
    Die was?

    Hau den Patch drauf und wirf es in einen Disassembler. Der Adressbereich von 0x0046B66B bis 0x0046B6F3 wurde übersehen. Ich habe leider keine Zeit/Lust mich mit der .def Datei auseinanderzusetzen.

  10. #10
    Ouh yeah! Mein Dank lässt sich kaum in Worte fassen. =D

    Zitat Zitat
    Die was? [...]
    Ich habe leider keine Zeit/Lust mich mit der .def Datei auseinanderzusetzen.
    Die war übrigens mit "Identify" gemeint, hätte ich auch besser beschreiben können, stimmt.

  11. #11
    Zitat Zitat von bugmenot Beitrag anzeigen
    RPG_RT-2000-1.07.def-Instant-32bitFix
    Diese Datei im Identifies\-Ordner von DestinyV2 speichern.
    Bei vorhandenen RPG2000-Projekten, die 32bit verwenden, entweder die IPS benutzen oder einfach
    nochmal im Patcher speichern, bei neuen ist dies natürlich nicht mehr nötig.

    Achtung!:
    Keine Backups im Identifies\-Ordner behalten, sondern woandershin verschieben, da sonst das
    Patchprogramm mit hoher Wahrscheinlichkeit nicht die richtige Datei verwenden wird. Das hat
    mir gestern echt viel Stress bereitet, weil es deswegen einfach nicht funktionieren wollte.

  12. #12
    Hm... also entweder bin ich blöd (was durchaus sein kann) oder Direct Menu Patch wechselt immer
    zum Zaubermenü von dem Held auf [Slot 1], wenn man aus dem Benutzungsmenü eines Zaubers
    (in der Regel Heilung) zurückkehrt.

  13. #13
    Sorry, hatte ich damals übersehen / nicht bedacht.

    Das hier sollte das Problem beheben (kann einfach über die RPG_RT drübergepatcht werden bzw. die alte .ips Datei löschen, die neue in DynPatches packen):
    download DirectMenuPatch(fix)

  14. #14
    Zitat Zitat von goldenroy Beitrag anzeigen
    Hey, gibts einen Patch, der bei einem GameOver nicht den GO-Bildschirm aufruft, sondern einfach nen Switch oder so aktiviert? Wär hilfreich für 'HP Reduction can kill target' von Change Character HP. Theoretisch isses egal, was danach mit den HP passiert (falls die nicht permanent auf 0 bleiben dürfen oder so), weil das ganze für nen selbstgemachten GameOver-Screen sehr praktisch wäre. (:
    Das lässt sich, so wie du es beschrieben hast und wie ich es verstanden habe, einfach per Eventing lösen.
    Einfach die Möglichkeit, dass man stirbt rausnehmen oder für die im Spiel angezeigten HP einfach nicht die HP des Spielers sondern eine Variable nehmen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •