Eigenes "Menü" im Window (Window_Selectable) erstellen

  • Hallo @all,


    ich versuche ein eigenes Window zu erstellen, in dem es "Items"/Menüeinträge gibt, aus den der Benutzer auswählen kann. Konkret geht es um ein eigenes QuestLog.


    Mir ist es tendenziell egal, ob es ins bestehende Menü -> ESC eingebaut wird oder als eigenes Window. Ein Window öffnen und Text befüllen, dass bekomme ich schon hin. Aber wie kann ich da Menü-Punkte einbauen, die der Benutzer dann anwählen kann? Und dann ist klar, muss ich das "select"-Event abfangen, gucken welcher "Menüpunkt" es ist und den dazugehörigen Text anzeigen. Aber irgendwie scheitere ich am wie. Ich habe mich schon durch die DOCS zur Window_Selectable gefressen (https://github.com/swquinn/rmm…docs/Window_Selectable.md), aber bin noch immer nicht schlauer.


    Jemand eine Idee/ein Beispiel? Vielleicht benutze ich bei der Suche ja auch nur die falschen Schlagwörter :-(


    Viele Grüsse,

    Benjamin

  • Schau mal unter /Technik/RPG-Maker MV/ funktionsfähige Plugins, soweit ich mich erinnern kann, gibt es ein PlugIn, mit dem man ein eigenes Menü und auch sonstige Screens anfertigen kann, ich weiß jetzt allerdings nicht auswendig, welches das war


    Freundliche Grüße

    Commander_Bert
    Meine Maker
    i_RMMV verwendet, (i_RMVXAce,i_RMXPvorhanden)
  • Hab dir mal ein Rohgerüst gebaut. Wie man Quests dann letztendlich händelt, müsste man nochmal schauen, da bräuchte ich bisschen mehr Info, was du genau vor hast.


    Das Beispiel hier zeigt wie du...

    • Eine neue Scene erstellst
    • Neues Command in das Main Menu einfügst, was die neue Scene aufruft
    • Wie man ein Auswahl Fenster macht
    • Und wie man da ein Text Window macht, was Infos anzeigen kann


    Ist vielleicht bisschen viel geworden, wenn du fragen dazu hast, dann stell sie gern! :)

  • Vielen Lieben Dank :-) Habe es leider erst jetzt gesehen. Werde mich da mal durch fressen und bei Fragen wieder Schreien :-)

    description

    Sehe ich es richtig, dass ich mich selber um den Zeilenumbruch kümmern muss? Gibt es keine Möglich ein automatischen Zeilenumbruch zu aktivieren?


    Sonst müsste im Tool zur Quest-Erstellung eine entsprechende Logiken in die Felder Quest-Name und Quest-Beschreibung einbauen und das wäre sicher noch tricky.

    iconIndex: 76

    Gibt es eine Möglichkeit das Icon ganz weg zu lassen? Egal ob ich den Teil ganz weg lasse oder null setze, er reserviert Vorne immer den Platz /zeigt ein leeren Platz an, was dem Quest-Namen natürlich Platz nimmt.

  • Ja, du müsstest dich selber um den Zeilenumbruch kümmern. Theoretisch wäre es möglich sowas zu implementieren, aber das ist ein bisschen aufwändiger.


    Um kein Icon anzuzeigen, müsste man es etwas anpassen:

    JavaScript
    1. Window_QuestSelection.prototype.drawItem = function (index) {
    2. var item = this._data[index];
    3. if (item) {
    4. var rect = this.itemRect(index);
    5. this.drawText(item.name, rect.x, rect.y, rect.width);
    6. }
    7. };
  • Ja, du müsstest dich selber um den Zeilenumbruch kümmern. Theoretisch wäre es möglich sowas zu implementieren, aber das ist ein bisschen aufwändiger.

    So, habe mein Tool zum Erstellen der Quests entsprechend erweitert :-) Nun wird beim Speichern geprüft, ob eine Zeile mehr als 40 Zeichen hat und wenn entsprechend nach einem Wort ein Zeilenumbruch eingefügt.


    Nun kann es natürlich sein, dass die Quest-Beschreibung sehr lang ist und dadurch der Rest nach unten aus dem Bild gedrückt wird. Kann ich dem Window eine "Scrollbar" verpassen?


    Was meinst du mit "Quest-Erstellen-Tool" ?

    Ich habe ein Tool in C# geschrieben, mit dem ich die Quests erstelle (inkl. Items & Belohnungen) und dann als JSON speichere. Dieses JSON lese ich dann in meinem Quest-Plugin als Grundlage ein um dann die Quests zu verwalten.


    Das Quest-Log zeigt jetzt auch nur angenommene und noch nicht abgeschlossene Quest an.