Ergebnis 1 bis 20 von 505

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von goldenroy Beitrag anzeigen
    Müssen die vier Einträge nicht unter das [keyboard_mouse_input]?
    Nein, auch dann funktioniert es bei mir nicht. Ich finde das seltsam, bei Euch allen funktionieren die Tasten doch reibungslos, oder? Sonst wäre das Problem ja bekannt.

    Geändert von Stray (14.08.2014 um 12:55 Uhr)

  2. #2
    Fehler in 0.17:

    Code:
    bool onCheckEventVisibility ( RPG::Character *  character)
    {
        if(character->id == 1)
        {
            return false;
        }
    
        return true;
    }
    
    bool onDrawEvent ( RPG::Character * character, bool isHero )
    {
    
      if(character->id == 1)
        {
            fx::ShowRain();
        }
    
        return true;
    }
    Sollte bezwecken, dass Event 1 immer gezeichnet wird, auch wenn es nicht im Sichtbereich ist. Das funtioniert nur in der X-Achse. Sobald das Event in Y aus dem Bild wandert, wird onDrawEvent nicht mehr gerufen.

    Was mögliche Fixes angeht, ich benutze noch 0.17 weil 0.20 bei mir damals irgendwas kaputt gemacht hat.

    Edit: Die DrawEvent-Callbacks werden jeweils mehrfach aufgerufen. Wtf?

    Geändert von Corti (16.03.2015 um 07:01 Uhr)

  3. #3
    Hi,
    ich arbeite mich grad an dem DynRPG ein (bin eher ein mittelmäßiger Programmierer).
    Einfach mal Frage: kann man mit den DynRPG ein eigenes Battle System bauen?

    Beste Grüße

  4. #4
    Das ist eine phänomenale Frage~ ja und nein.

    Es ist eine vollewertige Programmiersprache dahinter, du kannst Eingaben abfragen, Grafiken anzeigen und Sound abspielen. In Theorie und Praxis kannst du mit DynRPG auch ein Echtzeitstrategiespiel einbauen. DynRPG ist noch nicht sooo gut darin umfassend auf die Datenbanken des Makers zuzugreifen, so praktisch wie in Ruby mit den neuen Makern ist es also nicht.

    Was meinst du denn genau mit "eigenes Battle System"?

  5. #5
    Zitat Zitat von Corti Beitrag anzeigen
    Was meinst du denn genau mit "eigenes Battle System"?
    Beispiel ich will den Battle-Commands-Fenster durch einen "Ring-System" ersetzen.

    Geändert von MintJam (15.03.2015 um 09:50 Uhr)

  6. #6
    Zitat Zitat von Corti Beitrag anzeigen
    DynRPG ist noch nicht sooo gut darin umfassend auf die Datenbanken des Makers zuzugreifen
    Ähm... wie ein content update aus heiterem Himmel(?)
    rechts auf [Download ZIP] klicken
    Doku

    ... es fehlen halt eine ganze Menge callbacks um Herumgefummel mit verschiedenen Sequenzen zu ersparen (für das Verarbeiten von Code zum passenden Zeitpunkt).
    Wie viel bei "Herumfummeln mit der richtigen Sequenzierung" verbleiben soll kann ich nicht sagen. Ich kann neue Sachen testen, will aber nicht zu viel zumüllen.

    Geändert von bugmenot (15.03.2015 um 13:19 Uhr)

  7. #7
    Muss ich wohl mal testen.

    Bugmenot, ist dir der SkillWindowDuration-Fix bekannt?

    Im ersten DynRPG hatte die Cherry die Anzeigedauer dieses "Monster nutzt X skill" -Fensters erhöht. Das hat nahezu jede Form eines intelligenten Kampfsystems ruiniert, weil die Eventverarbeitung dadurch korrumpiert wurde. Es gab dafür einen Fix. also für 0.17. In 0.20 funktioniert der nicht mehr, weil es dort eine "bessere" Version gab, wenn ich mich recht entsinne. Besser war aber immer noch Mist, weshalb ich meine Plugins allesamt für 0.17 mache und 0.20 ignoriere.

    Hier ist das Ding:
    http://share.cherrytree.at/showfile-...w_duration.ips

    Magst mal schauen, was das tut?

  8. #8
    Zitat Zitat von Corti Beitrag anzeigen
    normal SkillWindowDuration-Fix
    In Dyn0.14 wurden die Delays nach dem Einsatz von Items und den Monsteraktionen DoubleAttack / Defend / Observe / Charge / SelfDestruct / Escape von 40 Frames auf 90 Frames erhöt.
    Der normal_skill_window_duration fix überschreibt das wieder mit 40.
    Dyn0.20 nutzt wieder 40 Frames, nimmt diese Zahl aber aus einem call to function her << hier macht der normal_skill_window_duration fix alles kaputt, weil er in die Sprungweite der call-Anweisung schreibt >> dann wird eine falsche Adresse aufgerufen und die Applikation stürzt ab.

    In Dyn0.14 wurde der Delay nach Skills von 30 auf 90 Frames erhöt. SkillWindowDuration macht 30 Frames daraus, Dyn0.20 macht 50 Frames daraus.

    Dies hier sollte in Dyn0.20 wieder 30 Frames (nach einer Skillaktion) daraus machen:
    Zitat Zitat von DynRPG.ini
    [QuickPatches]
    DefaultDelay(SkillAction)=49B9F8,1E,49B9FD,14
    Dass das Abziehen der MP-Kosten und die Verarbeitung des Skills durch das bisschen mehr Wartezeit an anderer Stelle etwas kaputt macht, ist bedauerlich.

    Alternativ kannst du ja das Schließen des Fensters mit dem SkillNamen über
    Code:
        ( *reinterpret_cast<char *> (0x49BA08)) = 0xEB;
        ( *reinterpret_cast<char *> (0x49BA09)) = 0x06;
    ausknipsen und an anderer Stelle mit einem eigenen Fix selber durchführen über:
    Code:
            int eax = ( *reinterpret_cast<int ***> (0x4CDD38) )[0][16];   //window pointer = ActionMessageWindow
            asm volatile("call *%%esi"
                         :
                         : "S" (0x4C66E4), "a" (eax)
                         : "cc", "memory");
            //terminate Window (specified by window pointer)

    Geändert von bugmenot (15.03.2015 um 15:31 Uhr)

  9. #9
    Wo ich das gerade mit den MP lese, im 2k3 KS wird ja keine MP Heilung/Schaden angezeigt. Könnte man das auch anzeigen lassen? Vielleicht in einer andersfarbigen Zahl als Grün (HP Heilung) bzw. dem standard Blau (Hp Schaden) - oder was auch immer für eine Farbe aus der Textbox genommen wird.

  10. #10

  11. #11

  12. #12
    Zitat Zitat von bugmenot Beitrag anzeigen
    [QuickPatches]
    DefaultDelay(SkillAction)=49B9F8,1E,49B9FD,14
    hex 1E = 30
    hex 14 = 20

    Ich sehe wo die Framezahl sitzt, was ist der andere Wert?

  13. #13
    Zitat Zitat von Corti Beitrag anzeigen
    Ich sehe wo die Framezahl sitzt, was ist der andere Wert?
    Framezahl (wenn man eine Taste gedrückt hält, welche als "Enter" belegt wurde).



    Attribute/Condition Resistance Control
    download ResistControlBug-in








    Und nochmal alle pseudo-Callbacks bisher:
    download ExtBug-in.cpp

    Geändert von bugmenot (20.03.2015 um 15:32 Uhr)

  14. #14
    Das Attribute/Condition Resistance Control-Ding, kann das irgend etwas, dass man mit DynRPG v0.30 noch nicht machen kann?

  15. #15
    Zitat Zitat von Corti Beitrag anzeigen
    Das Attribute/Condition Resistance Control-Ding, kann das irgend etwas, dass man mit DynRPG v0.30 noch nicht machen kann?
    Kopfschmerzen ersparen.
    Du müsstest dir die default-Werte irgendwo abspeichern, dann die richtige Sequenz herausfinden, wer/was angegriffen wird, unter RPG:: Attribute oder RPG:: Condition die entsprechenden Werte abändern und wieder die default-Werte wiederherstellen bevor jemand anderes angegriffen wird. Vorallem muss man dann nicht noch extra herausfinden ob A, B, C, D oder E gilt mit Equipment und JobClasses.

    Ansonsten kann man auch mit der Ext.dll als Grundlage entsprechende pseudo-Callbacks nutzen. Dann erspart man sich dieses "Wiederherstellen des Defaults".


    Und der Spielordner wird nicht zugemüllt, weil die Werte allesamt in die RPG:: Battler eingebunden wurden (liegen im erweiterten DArray<short, 1> RPG:: Battler:: attributes bzw. conditions von einzelnen Helden innerhalb/außerhalb der Party und von einzelnen Monster-Objekten im Kampf). Mir fällt jetzt kein anderer temporärer Speicher ein, kann mich aber gerne eines Besseren belehren lassen.

    Geändert von bugmenot (21.03.2015 um 14:01 Uhr)

Berechtigungen

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