Seite 10 von 12 ErsteErste ... 6789101112 LetzteLetzte
Ergebnis 181 bis 200 von 232

Thema: DynRPG - Der Pluginwunschthread

  1. #181
    Zitat Zitat von goldenroy Beitrag anzeigen
    Zelda-Klon aufm Maker mit Pixelmovement nix mehr im Wege
    Es stehen dem mindestens zwei callbacks auf getEventScreen_X und getEventScreen_Y, für jedes Event jeweils immer das Neuzuweisen auf welchem Tile(X/Y) es sich gerade befindet, manuelles Nachbessern des Kamerascrolls (damit das nicht ständig rumzuckt) und ein Setzen einer entsprechend neuen MoveRoute (wegen den Animationsframes) ... im Wege. Darauf spielte ich an.

    Edit²:
    Es gibt intern nirgends einen Wert, welcher sichert, auf welcher Pixelposition sich ein Event / der Spieler befindet. Lediglich die Koordinaten im Tilesetraster und ein Wert (von 256 Richtung 0), der angibt wie weit sich ein Event in ein Tile hinein bewegt hat. Aus diesem Wert (0..256) und der Bewegungsrichtung (0..7) wird halt die Abweichung in Pixeln errechnet und das spuckt die interne getEventScreen_X/Y-Abfrage aus. Ändern der Bewegungsrichtung und dieses 0..256-Wertes bringt nichts, weil die MoveRoute sich selbst korrigieren will und das Events dann nur auf der Stelle laufen würde.

    Das ist was "mit DynRPG ist Fast-Pixelmovement möglich" meint.

    Edit:
    Oder einfach onDrawEvent entsprechend die Sprites anzeigen/verschieben. Dann hat man aber keinen Zugriff auf bestehende Strukturen und kann auch kein <ChangeVar:EventScreen_X>, Eventkollisionen, MoveRoutes oder anderen default Kram nutzen.


    Klar kann man alle Sprites als Pictures zeigen (oder in den Bildpuffer laden; Kazesui's mode 7 plugin macht das afaik und der Maker intern ja sowieso). Dann braucht man aber auch nicht mehr mit Tiles mappen und die Map scrollen. Dann muss halt nur noch eine eigene Struktur für Kollisionsberechnung und Eventtriggern zusammengeschustert werden.

    Geändert von bugmenot (23.12.2014 um 18:08 Uhr)

  2. #182
    Wo wir grade schon mal hier sind: Hätte jemand zufällig eine Möglichkeit, die Position des blinkenden Cursors in der Textbox zu ändern? Alternativ auch eine Möglichkeit, die ganze Textbox zu verschieben oder sowas. °J°

  3. #183
    Gibt irgendwo einen Quickpatch dafür. Wenn es in den nächsten Tagen keiner postet und ich wieder mal an meinen Arbeitsrechner bin, bekommst du es von mir.

  4. #184
    Ah, hab ihn gefunden!
    Für interessierte, die entsprechenden Stellen wären MsgCursorX=4C8685,XX | MsgCursorY=4C8695,XX

  5. #185
    Zitat Zitat von goldenroy Beitrag anzeigen
    die entsprechenden Stellen wären MsgCursorX=4C8685,XX | MsgCursorY=4C8695,XX
    Hut ab. Fein gerechnet.


    Oder anhand von Variablen neu vergeben:
    download SetBlinker
    Zitat Zitat von DynRPG.ini
    [QuickPatches]
    SetBlinkerVar=48858C,160D0000
    (default) Var[3350+0] = y-Pos; Var[3350+1] = x-Pos


    Ich habe da eine Vermutung, aber:

  6. #186
    Zitat Zitat von bugmenot Beitrag anzeigen
    Hut ab. Fein gerechnet.


    Oder anhand von Variablen neu vergeben:
    download SetBlinker

    (default) Var[3350+0] = y-Pos; Var[3350+1] = x-Pos


    Ich habe da eine Vermutung, aber:

    Ah, das ist auch super! Danke dafür. (:
    Und ja, quasi das hatte ich damit vor. Vielleicht etwas weniger [Cursor intensifies]. :P

    Geändert von goldenroy (25.12.2014 um 14:49 Uhr)

  7. #187
    Ich hätte mal eine Frage. Es ist ja möglich mit dem Rpg Maker 2003 (ob 2000 auch weißich nicht) nach einem Befehl der das Bild verändert, ein Show Screen zu befehligen und dadurch ändert sich diese Veränderung wie beim Show Screen. Hoffe es ist verständlich erklärt xD

    Naja. Auf jeden Fall ist mein Problem, wenn man dass so macht, wird der Bildschirm aber einfrieren (heißt alle Animation und co sind wieder aus) bis der Show Screen abgeschlossen ist. Wäre es möglich eine Alternative mit einem Plugin zu erstellen?

    -Soul

  8. #188
    du könntest doch den show screen auch mit einem schwarzen picture machen ...?

  9. #189
    Nein so meinte ich das nicht.

    Nimm dir mal ein Char. Mach den Befehl "Change Position" auf den Char (natürlich eine andere Postion, als er gerate steht). Danach auf "Show Screen" drücken. Das sieht etwas aus als ob der sich teleportiert. Und das geht auch mit Chipset soweit ich das mitgekriegt habe. So könnte man Silent Hill ähnliche Umwandlungen machen, allerdings ist während dem "Show Screen"-Befehl wie gesagt dieses Einfrieren. Das muss man irgendwie umgehen wenn möglich.

    - Soul

  10. #190
    ich glaube, sowas gibts bisher nicht. kannst du nicht mit den transparenzbefehlen für charsets arbeiten?


    eigene Frage:

    gab es inzwischen ein tool, um die charset-grafiken zu vergrößern? also, für den 2k3. ich weiß, dass es das für den 2k gab, aber 2k3 noch nicht ...

  11. #191
    Da ich in letzter Zeit nach langem wieder den Maker angeworfen habe und ein paar Patches gesucht habe, bin ich zwangläufig auf den DynRPG gestossen. Und ich muss sagen nach anfänglicher skepsis finde ich es ziemlich geil Einzig blöde ist, dass ich nicht wirklich programmieren kann

    Nun, ich habe jetzt vieles, aber nicht alles druchgelesen, kann sein das es schon gefragt wurde aber:
    Kann man die Filter, die im AnotherFullscreenMode verwendet wurden (Scale2x und hq2x) auch darüber integrieren?

    Diese Frage kam bei mir auf, als ich das Testspiel mit dem Mausplugin gestartet habe (über AFM) und der Mauszeiger auf einmal weg war. Habe es zwar mit einem Workaround geschafft, das die Maus an der richtigen Stelle angezeigt wird, aber zurück bleibt immer noch die miese Performance des AFM (20-31 FPS, je nach Filter)

  12. #192
    Was mir grad so auffällt: Es gibt keine Möglichkeit, die Event ID von "This Event" zu kriegen. Den einzigen Workaround den es gibt, ist die X/Y Koordinaten von einem Event zu speichern und dann "Get Event ID" mit diesen Koordinaten zu benutzen, allerdings wird es dann problematisch, wenn zwei Events auf dem selben Tile liegen, weil dann nur das mit der höheren Event ID benutzt wird.
    Gibt es 'ne Möglichkeit, irgendwie einfach so an die ID zu kommen? Mit dem Variablenbefehl kommt man immerhin an so tolle Sachen wie Facing oder Map ID von "This Event", echt seltsam, das da die Event ID nicht dabei ist. °L°

  13. #193
    Zitat Zitat von goldenroy Beitrag anzeigen
    Was mir grad so auffällt: Es gibt keine Möglichkeit, die Event ID von "This Event" zu kriegen. Den einzigen Workaround den es gibt, ist die X/Y Koordinaten von einem Event zu speichern und dann "Get Event ID" mit diesen Koordinaten zu benutzen, allerdings wird es dann problematisch, wenn zwei Events auf dem selben Tile liegen, weil dann nur das mit der höheren Event ID benutzt wird.
    Gibt es 'ne Möglichkeit, irgendwie einfach so an die ID zu kommen? Mit dem Variablenbefehl kommt man immerhin an so tolle Sachen wie Facing oder Map ID von "This Event", echt seltsam, das da die Event ID nicht dabei ist. °L°
    Kuck mal bei den Variablen Operationen unter Sprite --> This Event --> MapID ob du da rankommst, da wo du dich befindest ^^ Ich denke damit meinen die die Event ID des Events ^^;

  14. #194
    Zitat Zitat
    Ich denke damit meinen die die Event ID
    "MapID" ist die derzeit geladene Map. Ist leicht verwirrend, weil das nicht unter [Weiteres] steht,
    sondern dort unsinnigerweise ein Event mit angegeben werden muss.

  15. #195
    Zitat Zitat von MagicMaker Beitrag anzeigen
    "MapID" ist die derzeit geladene Map. Ist leicht verwirrend, weil das nicht unter [Weiteres] steht,
    sondern dort unsinnigerweise ein Event mit angegeben werden muss.
    oh achso, habs nicht getestet xD wäre so schön naheliegend gewesen...

  16. #196
    Zitat Zitat von goldenroy Beitrag anzeigen
    die Event ID von "This Event" zu kriegen
    Ich weise nur mal darauf hin, dass dies bereits über den onComment Callback von DynRPG möglich ist:
    Code:
    #include <DynRPG/DynRPG.h>
    
    bool onComment ( const char* text,
                     const RPG::ParsedCommentData* parsedData,
                     RPG::EventScriptLine* nextScriptLine,
                     RPG::EventScriptData* scriptData,
                     int eventId,   // << HIER das hier << dies hier, auch bereits in der DynDokumentation vorhanden
                     int pageId,
                     int lineId,
                     int* nextLineId )
    {
        std::string cmd = parsedData->command;
        if(!cmd.compare("get_this_event") && parsedData->parametersCount == 1 && parsedData->parameters[0].type == RPG::PARAM_NUMBER)
        {
        int a = parsedData->parameters[0].number;   //Zahl hinter "@get_this_event" für Var_ID, in die das ausgegeben wird
        RPG::variables[a] = eventId;   // << lest euch die Dokumentation von DynRPG durch, weil ich keine Lust dazu habe
        }
    return true;
    }
    Frag MarcL oder jemand anderen, der Code :: Blocks oder irgendeine andere C++ IDE auf dem Rechner eingerichtet hat, das mal schnell zu einem Plugin zu kompilieren.

    Edit:
    Oder besser noch, versuche mal Codeblocks mit GCC 4.7.1 auf deinem Rechner einzurichten.

    Edit²:
    Schritt für Schritt Einrichtung von Codeblocks

    Geändert von bugmenot (07.01.2015 um 13:14 Uhr)

  17. #197
    Ah, hatte ganz vergessen nochmal hier reinzuschauen. Danke für die Anleitung, das hab ich sogar verstanden! :P

    Falls irgendwer interessiert ist: >>Click<<
    Hab aber den Befehl zu @event_id [VarID] geändert, weil kürzer und faul. °3°

  18. #198
    Meine Güte, ich häng hier so oft ab, das ich schon wieder nen Doppelpost mache. Egal. °J°
    Ich stoße langsam an meine Grenzen mit dem Tastatur und Mausplugin von Cherry. Gibt es irgendwie eine Möglichkeit, mit Dyn nicht nur zu erkennen, ob eine Taste unten ist, sondern die Pressed/Released Events abzufangen? Das bräuchte ich nämlich grade echt dringend. D:

  19. #199
    Hey, spontan wüsste ich nichts für Mausevents, zumindest nicht in C++.

    Das Plugin, zu dem es ja auch den Quellcode gibt, zieht in jedem Frame den Klickzustand der Maus und schreibt diesen in die Variable. Die schnellste Art, dies abzufragen, wäre ein PP, dessen Zykluszeiten höher sein können als die Gedrück-Zeit eines Mausbuttons.

    Ich würde also im onFrame-Callback den Zustand in dem Frame merken und mit dme vorherigen auswerten, dadurch kannst du Zustandswechsel in wesentlich höherer Frequenz abtasten. Wenn du einen solchen Wechsel festgestellt hast, merk dir die Position der Maus und ab in Variablen damit, aber bitte so, dass onFrame das nicht sofort überschreibt. Mit diesem schnelleren Polling müsstest du Mausaktionen besser mitkriegen. Dir gehen Klicks verloren, oder?

  20. #200
    Ach, mir gehts gar nicht um die Maus, sondern um die Tastatur. Tut mir Leid, wenn ich mich da unklar ausdrückte. :0

Stichworte

Berechtigungen

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