Zum Hauptinhalt springen

Codex-Menüs erstellen

Quest Codex hat keine eingebaute Oberfläche. Jedes Menü ist ein GUI-Layout-Pool, den du selbst gestaltest, und der Codex befüllt nur die Marker-Slots, die du darin platzierst. Lies zuerst die GUI-Anleitungen: Ein GUI-Menü verstehen, Layouts, Frames und Slots und Interaktionen und Navigation.

Die Bausteine​

EntryAufgabe
Quest CategoryDeklariert eine Kategorie: Titel, Icon, übergeordnete Kategorie, Criteria.
Quest AssignmentOrdnet Quests einer Kategorie zu, mit Reihenfolge und Überschreibungen pro Status.
Category MenuDas Menü für eine Kategorie (oder das Hauptmenü oder das Menü der verfolgten Quests). Sein Feld menu verweist auf ein Open GUI, das die Layouts enthält.

Marker​

Platziere ein Item in einem simple-Layout des referenzierten Open GUI, setze buttonPrefix auf codex_button: und buttonType auf einen Marker:

buttonTypeErsetzt durch
CATEGORY_SLOTEine Wurzelkategorie pro Slot, im Hauptmenü.
QUEST_SLOTEine Quest pro Slot, in einem Kategoriemenü.
TRACKED_QUEST_SLOTEine verfolgte Quest pro Slot, im Menü @tracked.
SORT_SLOTDer Sortier-Button, über dem Layout gezeichnet, sodass er nie wegscrollt.

Zwei Regeln:

  1. Ein Marker, ein Slot. Ein Marker erweitert sich nur über seine eigenen Werte count, direction, gap und repeatY. Ein Raster von 7 mal 8 ist ein Item mit count 7, direction right und repeatY 8. Ohne direction bleibt der Marker ein einzelner Slot. gap ist eine Schrittweite: 1 bedeutet direkt nebeneinander.
  2. Marker folgen dem Layout. Sie werden in Leserichtung indiziert, bevor das Layout geparst wird. Platziere das Marker-Item daher in dem simple-Layout, das ein scrollable-Layout umschließt, dann scrollt die Questliste in stabiler Reihenfolge mit.

Marker außerhalb von simple-Layouts oder in einem gemeinsamen Grundgerüst statt im durch menu benannten Open GUI werden nicht befüllt.

Ein scrollbares Kategoriemenü​

Ein Browser mit sechs Reihen, Rahmen, festen Bedienelementen und einem scrollenden 7-mal-4-Fenster auf einem 7-mal-8-Raster aus Quests:

  1. Erstelle ein Open GUI main_quests_gui mit guiType CUSTOM und size SIZE_54.
  2. Füge ein simple-Layout deco hinzu. Füge eine schwarze Glasscheibe bei x 0, y 0 mit count 9, direction right und dem Namen auf ein einzelnes Leerzeichen gesetzt hinzu, und dasselbe bei y 5. Füge in Reihe 5 ein BACK-Item bei x 0 (buttonPrefix codex_button:, buttonType BACK), ein SORT_SLOT-Item bei x 4 und ein CLOSE-Item bei x 8 hinzu.
  3. Füge ein simple-Layout quest_grid mit einem Item hinzu: buttonPrefix codex_button:, buttonType QUEST_SLOT, x 0, y 0, count 7, direction right, repeatY 8.
  4. Füge ein scrollable-Layout quests mit innerId quest_grid, virtualWidth 7, virtualHeight 8 und zwei buttons hinzu, einem UP-Pfeil bei x 1, y 4 und einem DOWN-Pfeil bei x 5, y 4.
  5. Füge ein frame-Layout root mit zwei Frames hinzu: deco bei 0,0 mit der Größe 9 mal 6 und quests bei 1,1 mit der Größe 7 mal 4. Setze mainLayoutId auf root.
  6. Erstelle das Category Menu mit category main_quests, rows 6 und menu auf main_quests_gui gesetzt.

Das Quest-Raster liegt im scrollbaren Inhalt, sodass die Quests mit dem Fenster scrollen. Die Pfeile erscheinen nur, wenn es etwas zu scrollen gibt.

Der Sortier-Button​

SORT_SLOT zeigt den aktuellen Sortiermodus an und wechselt per Klick durch: Alle, Nicht begonnen, In Bearbeitung, Abgeschlossen. Der Modus wird pro Spieler bis zum Neustart des Servers gespeichert und gilt für jedes Kategoriemenü. Konfiguriere Item, Bezeichnung und Lore jedes Modus in sortDisplay des Category Menu; ohne diese Angabe wird eine eingebaute Bezeichnung verwendet.

Markiere einen Slot mit PAGE_NEXT, PAGE_PREV, SCROLL_UP, SCROLL_DOWN, SCROLL_LEFT, SCROLL_RIGHT, BACK, CLOSE oder SORT, um seine Klickaktion zu verdrahten. Das von dir konfigurierte Item, der Name und die Lore bleiben erhalten; der standardmäßige Pfeil, die Barriere oder der Trichter erscheint nur, wenn der Slot kein Item hat. Du kannst auch einfache Items mit den Befehlen gui:back, gui:close oder gui:scroll verwenden.

PAGE_NEXT und PAGE_PREV blättern durch die Liste der Quests oder Kategorien, wenn das Menü Marker hat, und blättern andernfalls durch ein paginated-Layout.

Aussehen der Quests​

Ein Quest-Slot passt sich dem Fortschritt des Spielers an. Quest Lore fügt Lore pro Status hinzu, und das Quest Assignment kann Icon, Name, Lore und Sichtbarkeit pro Status überschreiben. Ein Klick auf eine aktive Quest verfolgt sie oder beendet die Verfolgung; ein Klick auf eine nicht begonnene oder abgeschlossene Quest sendet die passende Nachricht aus den globalen Einstellungen.

Checkliste​

  1. Ein Quest-Codex-Global-Settings-Entry mit einem Tracking-Artifact.
  2. Mindestens eine Quest Category, für das Hauptmenü ohne parent.
  3. Ein Quest Assignment pro Kategorie.
  4. Ein Category Menu pro Kategorie und eines mit leerer category für das Hauptmenü, jeweils mit seinem Marker.
  5. rows des Category Menu entspricht der Höhe des Open GUI.
  6. Spieler besitzen typewriter.codex.open oder öffnen das Menü über eine Aktion.