Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 506

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von elvissteinjr Beitrag anzeigen
    Die deutschsprachige Resonanz scheint sich in Grenzen zu halten, was?
    Momentan kann ich nur sagen dass es episch klingt, muss es aber noch ausprobieren.
    Da ich C++ kann, würde ich liebend gerne was zusammenfrickeln, weiß bloß noch nicht was.
    Wenn ich jetzt nur noch den Maker nutzen würde...hach, jede meiner Patchanfragen würde ich "einfach" selbst erledigen.
    Mit Code:locks + GCC dürfte es dann wohl auch keine Problem geben. Aber mal schauen...
    Edit: Das Testplugin lies sich ohne Problem kompilieren und funktioniert, wunderbar.
    Liegt wohl daran dass nur wenige wirklich C++ programmieren können... und selbst wenn weiß ich nicht ob man dann gleich das Wissen hat mit dem Patch umzugehen...

    Ich selbst hab an der Uni etwas Pascal programmiert (in Lazarus irgendwelche Formulare mit bestimmten Funktionen hinter irgendwelchen Buttons, dann noch php, javascript und dann noch etwas java...

    Ob das jetzt reichen würde um auf C++ umzusteigen wage ich zu bezweifeln... wüsste auch garnicht womit ich anfangen müsste... ob ich mir erst mal die ganzen Bibliotheken ankucken müsste, was möglich
    ist (also den externen code den man immer einbinden kann) oder erstmal ne IDE ankucke und schaue was man überhaupt mit irgendwelchen Befehlen machen kann (mit Grafiken etc. hab ich bisher garnix gemacht)

    Das Einzige was ich vielleicht hinbekommen würde wäre dann ein paar eigene Scripts für die Berechnung von Schaden etc.

    Generell kann ich aber wieder nur sagen Respekt Cherry ^^y Freu mich schon wenn erste Leute damit schönes Patches schreiben! Mir graut es schon vor dem Tag an dem Cherry
    Arbeit oder Studium anfängt... und keine Zeit mehr für die Community hat, weil er sich irgendwo als Programmierer dumm und dämlich verdient
    Bei seinen Programmierkenntnissen müssten sich doch irgendwelche Softwareschmieden um ihn schlagen ^^

  2. #2
    Schon längst der Fall. Drum hab ich so wenig Zeit.

    Im Moment Zivi (muss ich - Österreich!) und freiberuflicher EDV-Dienstleister. Meine Kunden hab ich übers Internet gefunden, und wenn ich jetzt nicht Zivi wäre, was mir ja 40 Stunden pro Woche stiehlt (für etwa ein Zehntel von dem was ich anderswo für diese Stunden berechnen würde), würde ich mich wohl wirklich dumm und dämlich verdienen :-)

  3. #3
    Glückwunsch zur Fertigstellung Cherry. Hört sich rein theoretisch toll an. Finde übrigens den Contest eine großartige Idee, kann aber selber überhaupt nichts beisteuern. Ich hoffe jedenfalls, dass es in Zukunft hierfür nützliche Plugins geben wird, aber da du dich auf internationaler Ebene bewegst, sollte man da keine allzugroßen Bedenken haben.
    Wäre höchstens noch interessant, ob es auch möglich wäre, andere Programmiersprachen einzubinden. Würde vielleicht einigen helfen.

  4. #4
    Bitte updatet euer SDK! Ich hab einen kritischen Bug gefixt wo Funktionen "zufällig" crashten, je nach Optimierung des Compilers.

    Es gibt jetzt auch ein erstes "offizielles" Plugin, für Tastatur- und Mausabfrage: http://www.multimediaxis.de/threads/...nd-Mauseingabe


    Übrigens empfehle ich jetzt Code::Blocks als IDE und hab eine Schritt-für-Schritt-Anleitung bei Getting Started dazugepackt.

    Geändert von Cherry (13.02.2012 um 16:02 Uhr)

  5. #5
    Bug gefixt: Das Spiel stürzte ab wenn man im Shop was gekauft hat. Ein Tippfehler in einer Adresse, wie dumm von mir X_x

    Bitte neu laden und neu patchen.

  6. #6
    gelöscht

    Geändert von DNKpp (19.02.2012 um 00:18 Uhr)

  7. #7
    Naja, ich versteh den Code sowieso nicht, weil ich die Programmiersprache nicht verstehe. Da bringt zusammenzusetzen eher mit Cherry etwas,
    aber setzen wir die Diskussion lieber im richtigen Forum fort-> Pathfinding

  8. #8
    öhm, jo, warum schreib ich denn hier? o.O

    und ja, ich meinte cherry^^

  9. #9
    Bin gerade dabei ein simples Plugin zu schreiben, allerdings macht mir das Variablenlimit einen Stirch durch die Rechnung.
    Müsste fähig sein mit größeren Zahlen zu rechnen, das Limit lässt sich doch bestimmt hochschrauben, oder?

  10. #10
    welche variablen meinst du? die vom maker, oder die deines plugins?

  11. #11
    Die vom Maker. Mit 32bit ints in C++ komm ich schon zurande, keine Sorge.
    Der Pluginnutzer sollte halt bestenfalls mit Makercode rechnen können. Das bleibt dann auch flexibler, spart Code und Abfragen im Plugin.
    Es ist ja so, dass man problemlos Variablen monströse Werte geben kann, bloß der kann halt damit nicht rechnen.

  12. #12
    Die Beschränkung die von "<> Change Variable" erzeugt wird, lässt sich hiermit aufheben (in onStartup verwenden).

    Code:
    *reinterpret_cast<unsigned char *>(0x4AD36F) = 0xEB;
    *reinterpret_cast<unsigned char *>(0x4AD399) = 0xEB;
    (Achtung Hack! )

  13. #13
    Ich habs auch mal ausprobiert.

    Schonmal sehr gut die bis zu 2000 bilder!

    Aber da die wenigsten c++ können, wäre es möglich nicht eher eine hohe sprache als interpreter zu benutzen, etwa wie die neueren rpg maker versionen selbst ruby oder halt phyton, javascript. Vllt wäre dann der einstieg nicht so schwer.

    Aber ansonsten daumen hoch für das tolle projekt!

  14. #14
    Ich habe mir einige Gedanken gemacht und dadurch neue Ideen bekommen, die in Plugins verwirklicht werden könnten.
    Da ich selbst die Programmiersprache nicht beherrsche, schreibe ich diese Ideen hier nieder, damit andere damit vielleicht etwas anzufangen wissen!

    - Eventjump Plugin: Man kann die Sprunghöhe bestimmen und eingeben, sodass das Event z.B. 5Tiles hoch und 1 Tile weiter springt und die Bewegung beim Sprung einen perfekt an Höhe + Weite des Sprungs einen perfekt angepassten Bogen beschreibt - als Ergänzung dazu wäre es eine schöne Sache, wenn außerdem ein Schatten unter dem Event auftaucht ,bei steigender Höhe transparenter wird und bei Bodennäherung des Events wieder an Transparenz verliert(also dunkler wird).

    -Event with Pictureoperations-Plugin-> das es möglich machen soll, die gleichen Operationen, die bei Pictures möglich sind auch bei Events zu benutzen (sprich: wabern, rotieren, Transparenz-,Farbe ändern...)

    -Diagonal random move event: Die Möglichkeit bei der Zufallsbewegung auch die Diagonalrichtungen standartmäßig mit zu benutzen.

    -tracking face direction plugin: Ein Event kann ein anderes Event fixieren und dreht sich automatisch zur Richtung, in welcher sich das andere Ereignis/Der Held gerade befindet.

    -event-event follow/away movement plugin: Plugin mit der Möglichkeit, dass Events die "Move toward" und "Move away" Funktion auch auf andere Events statt auf den Helden beziehen können.

    -Pixelmovement Plugin: Okay, das hat Cherry bereits geschrieben-> aber das könnte (wenn erstellt) auch damit erweitert werden, das man die Standartzahl bei jedem Event festlegen kann, mit der es sich Pixelgenau von der Stelle bewegen soll (Bsp.: Ein Event, welches bei jedem Schritt 1/2/3/4...Pixel herumläuft).

    -Event formed shadow plugin->welches die Sillouette eines Events (Bsp. Eines Vogels) nimmt und optional bestimmbar 1 bis X Tiles nach unten versetzt, wobei der Schatten bei Frameänderung (Bsp.Vogel:Flügelschlagen)
    sich ebenfalls genau angepasst mitverändert.

    -Shadow and light source plugin: Welches die Sillouette eines Event nimmt und vom jeweiligen Event in die entgegengesetzte Richtung (Gradzahl) der festgelegten Lichtquelle wirft +optional erweiterbar mit mehreren Lichtquellen und manueller Transparenzbestimmung der geworfenen Schatten.

    Geändert von Oktorok3 (28.02.2012 um 17:12 Uhr)

  15. #15
    tut sich hier nochmal was?^^

  16. #16
    Mich hat gerade wer gefragt um eine Idee wie man Messageboxen custom zeichnen könnte.

    Ich dachte irgendwie nicht dran, dass diese Person gar kein Plugin-Developer ist, drum brachte es letztenendes nichts. Aber vielleicht bringts ja hier wem was.

    Hier ist Code (den ich allerdings nicht getestet habe), mit dem man in der Lage sein sollte, das zu erreichen:

    Code:
    bool onStartup(char *pluginName) {
        // Set up hook
        void *trampoline;
        asm volatile("movl $_drawMessageBoxTrampoline, %%eax" : "=a" (trampoline));
        *reinterpret_cast<void **>(0x4C60DC) = trampoline;
    }
    
    // This can be used to trigger the original drawing function
    void originalDrawMessageBox(RPG::WindowMessage *box) {
        asm volatile("call *%%esi" : : "S" (0x4C8488), "a" (box) : "edx", "ecx", "cc", "memory");
    }
    
    // Some more stuff for the hook
    void drawMessageBox(RPG::WindowMessage* box);
    extern "C" {
        void __stdcall drawMessageBoxTrampoline2(RPG::WindowMessage *box) {
            drawMessageBox(box);
        }
    }
    asm volatile("_drawMessageBoxTrampoline:; pushl %eax; jmp *$_drawMessageBoxTrampoline2@4");
    
    // Here is your drawing callback!
    void drawMessageBox(RPG::WindowMessage* box) {
        // Here you can draw the box yourself, based on the information available in the box object!
        // Or, to call the original drawing function, use originalDrawMessageBox(box);
    }
    Braucht PepsiOtakus Version von DynRPG (0.32 oder so): http://www.rewking.com/dynrpg/

    RPG::WindowMessage ist hier dokumentiert: http://www.rewking.com/dynrpg/class_...w_message.html

    Geändert von Cherry (10.08.2022 um 12:29 Uhr)

  17. #17
    Ich habe ein Problem mit dem DBActor bzw. Actor Catalogs.

    Wenn ich folgendes mache:

    Code:
     int heroID = parsedData->parameters[0].number;
    RPG::Actor* actor = Actor::partyMember(heroID);
    RPG:DBActor* dbActor = dbActors[actor->id]; // Fehler hier

    bekomme ich den Compilerfehler
    Code:
    Error: operand type mismatch for `call'
    der SubScript Operator hat inline asm code , was wohl diesen Fehler wirft,
    hat jemand eine Idee wie man das lösen kann?

  18. #18
    Die Downloadseite ist jetzt mit v0.20 aktualisiert.

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

  19. #19
    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)

  20. #20
    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?

Berechtigungen

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