Seite 2 von 2 ErsteErste 12
Ergebnis 21 bis 40 von 506

Thema: +++ DynRPG - Das RM2k3-Plugin-SDK +++

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Die Downloadseite ist jetzt mit v0.20 aktualisiert.

    Außerdem ist DynRPG jetzt Open Source! https://github.com/CherryDT/DynRPG

  2. #2
    Kopie aus dem englischen Forum:

    Zitat Zitat von Cherry
    Currently, it's not possible to detect what is going on in the menu (which screen, which item selected, etc.). The only thing a developer can find out is whether the menu in general is active or not.

    But I can tell you an undocumented way to find out which menu screen is shown.
    Code:
    int getMenuScreen() {
        return (**reinterpret_cast<char ***>(0x4CDC60))[12];
    }
    0 = main screen
    1 = item screen
    2 = item target selection
    3 = skill screen
    4 = skill target selection
    5 = teleport screen
    6 = equipment screen
    7 = end confirmation screen
    8 = status screen
    9 = party order screen

    What's also possible is drawing a custom (maybe even animated) menu background, by handling the onSystemBackgroundDrawn callback.

    Also, it's of course possible to draw something on top of the menu, using the normal onFrame callback.

    By combining these things it would indeed be possible to add additional stuff to the menu, at least to the main menu screen. Other screens would still be difficult because additional information (which hero is selected, which item is selected, etc.) is not available yet.

    Geändert von Cherry (12.08.2012 um 15:38 Uhr)

  3. #3
    Hallo!

    Ich wollte jetzt den DynRPG Patch installieren, habe aber den neuen KS Bugfix drauf der in der 14a Version vom Patch noch nicht enthalten ist(?).
    Muss ich, nachdem ich den DynRPG Patch installiert habe den KS Bugfix nochmal nachreichen oder wird er beibehalten?
    Und gibt es irgendwelche Kompatibilitätsprobleme oder kann man den Single Fix und den Patch beide ohne Probleme drauf haben?

  4. #4
    Harmonisiert alles miteinander.

  5. #5
    Zitat Zitat von Cherry Beitrag anzeigen
    Harmonisiert alles miteinander.
    Okay!

    Die dynrpg_patcher.exe sagt Version 0.13b. Ich dachte die neuste sei 0.14a? Oder wie ist das?^^

    Edit: Hat sich erledigt, habe eben den Changelog gelesen

    Edit2: Ich habe gerade entdeckt, dass wenn man beim Battlelayout "Small Window" ausgewählt hat und dann Choices im Kampf anzeigt,
    der Cursor bei den Choices 2-4 nicht an der richtigen Stelle ist, sondern sich immer ein kleinwenig nach oben verschiebt je weiter man runter geht.
    Könnte man das noch fixen?

    Geändert von Chili (11.08.2012 um 15:35 Uhr)

  6. #6
    Neuer DynLoader mit Direktpatch-Feature!

    Wird dann auch in die (hoffentlich bald mal kommende ) nächste DynRPG-Version integriert.

    http://share.cherrytree.at/showfile-10117/dynloader.dll << Die dynloader.dll im Projekt hiermit ersetzen.

    Erstens mal ist da auch das Problem mit dem Müll am Ende von Stringparametern von Comments gefixt, und zweitens gibt es jetzt zwei Arten von Direktpatches:

    1) IPS-Dateien
    Ganz simpel: Ihr legt einen Ordner "DynPatches" an und schmeißt da einfach alle IPS-Dateien rein. Die Patches werden dann ohne RPG_RT.exe-Modifikation "on-the-fly" angewendet, d.h. das Entfernen eines Patches ist ganz einfach - nur die Datei wieder löschen (oder die Dateiendung umbenennen)!

    Beispiel für eine sinnvolle Anwendung wäre z.B. BetterAEP als IPS-Datei: http://share.cherrytree.at/showfile-10054/betteraep.ips
    Der PicPointerPatch liegt beispielsweise schon von Haus aus als IPS-Datei vor, da reicht reinkopieren.

    2) "Quick Patches"
    Für ganz kleine Patches ist es fast zu viel verlangt, eine IPS-Datei zu erzeugen, außerdem gibt es ja solche wo der Benutzer einen Wert (z.B. eine Koordinate) selber einstellen können soll. Dazu gibt es Quick Patches. Diese werden in die Section "QuickPatches" in der DynRPG.ini geschrieben und haben folgendes Format:

    BeliebigerName=Adresse,Daten,Adresse,Daten,...

    Die Adresse ist eine hexadezimale VA, die Daten können drei Formen haben:
    a) Hexstring: Eine Aneinanderreihung von Bytes in Hexadezimalschreibweise (Leerzeichen werden ignoriert und können also zur Übersicht verwendet werden). Beispiel: 49E148,EB71 - schreibt die 2 Bytes EB 71 an Adressen 49E148 und 49E149.
    b) Dezimale Zahl mit %-Prefix: Schreibt ein Byte an die angegebene Adresse, die Zahl ist dabei nicht hexadezimal angegeben (negative Zahlen möglich). Beispiel: 49E0BC,%48 - schreibt ein Byte 30 an Adresse 49E0BC.
    c) Dezimale Zahl mit #-Prefix: Schreibt einen 32-Bit-Integer an die angegebene Adresse, die Zahl ist dabei nicht hexadezimal angegeben (negative Zahlen möglich). Beispiel: 49E1F1,#270 - schreibt die 4 Bytes 0E 01 00 00 an Adressen 49E1F1-49E1F4.

    b) und c) sind dafür gedacht dass man leicht selber Werte eintragen kann (also Expertenuser A gibt Ottonormaluser B so eine Patchzeile und User B braucht nur die Zahlen nach % bzw. # seinen Bedürfnissen anpassen ohne irgendwas hexadezimal umrechnen zu müssen, Bytes zu vertauschen oder sonstwas).

    Hier ein Beispiel wie sowas aussehen kann:

    Code:
    [QuickPatches]
    ; Versteckt die EXP im Hauptmenü und im Statusscreen
    VersteckeEXP=49E148,EB71,49F1CA,EB67,49F095,EB21
    ; Setzt die Koordinaten des Titelbildschirmfensters auf 144/56
    VerschiebeTitelbildschirmFenster=490821,#144,490828,#56
    (Hinweis zum Titelfensterbeispiel: Der Maker verwendet da die X-Koordinate für die Mitte des Fensters aber die Y-Koordinate für die obere Kante.)

    mfG Cherry

    PS: Wer Dateioffsets in virtuelle Adressen umrechnen will: Für Offsets 0 - 400 addieren wir 400000, für Offsets 400 - C9200 addieren wir 400C00, für Offsets C9200 - CD400 addieren wir 400E00. Also normalerweise braucht man nur 400C00 zu addieren.

    Geändert von Cherry (12.06.2013 um 13:06 Uhr)

  7. #7
    Exzellent Master Cherry! =D

    Endlich kann ich die nutzlosen »end«-Token am Ende mancher Comment-Befehl rausschmeißen. Vor allem, weil diese dynloader.dll funktioniert - im Gegensatz zu der, die du damals mal gepostest hast. Ich glaube es war bei rmn. Diese hatte bei mir komischerweise nicht funktioniert, aber ich hatte mich dann nicht weiter damit auseinandergesetzt und einfach die »originale« weiter verwendet >.<

    Auf jeden Fall zwei sehr geniale Features, muss ich sagen. Vor allem für Sachen, die sich so mit DynRPG nicht, oder noch nicht realisieren lassen =D

    EDIT:
    Cherry! Es gibt doch Probs mit der neuen dynloader.dll! Sie funktionierte in meinem Testprojekt mit dem ich die ganze Zeit rumgespielt habe perfekt. Als ich dann ein neues angelegt hatte und dort ein - auch mit der neuen dynloader.dll - funktionierendes PlugIn dort reingepackt habe, meldet mir DynRPG, dass die dll nicht geladen werden konnte. Dazu muss ich sagen, dass sich in meinem Testprojekt mehr als ein PlugIn und auch die ganzen Entwicklungsdaten befinden, in dem neu erstellten nicht. Aber wenn ich in das neue die alte dynloader.dll hineinkopiere, startet das PlugIn problemlos. Ich versuche das heute Abend mal genauer zu reproduzieren und geb' dir dann Bescheid.

    EDIT2:
    Das Problem tritt nur auf, wenn ich dieses eine PlugIn einzeln im »DynPlugins«-Ordner habe. Schiebe ich noch ein anderes dazu, dann funktioniert es o.O Mit der alten dynloader.dll funktioniert es sowohl einzeln, als auch mit anderen PlugIns.

    PeAcE
    MorDen

    Geändert von Morden (06.06.2013 um 09:15 Uhr)

  8. #8

  9. #9
    Tagchen,

    gibt es eine Möglichkeit abzufragen ob eine Variable verändert wird? Zb. wenn der Wert der Variable durch "Memorize Position" verändert wird oder durch "Store Event ID"...
    Das selbe gilt für "Change Event Location" wo der Wert nicht verändert sondern drauf zugegriffen wird.

Berechtigungen

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