Aller au contenu principal

Construire les menus du Codex

Quest Codex n'a pas d'écran intégré. Chaque menu est un pool de layouts GUI que vous concevez, et le codex ne remplit que les emplacements marqueurs que vous y placez. Lisez d'abord les guides GUI : Comprendre un menu GUI, Layouts, frames et slots et Interactions et navigation.

Les éléments​

EntréeRôle
Quest CategoryDéclare une catégorie : titre, icône, parent, critères.
Quest AssignmentPlace des quêtes dans une catégorie, avec un ordre et des surcharges par statut.
Category MenuLe menu d'une catégorie (ou le menu principal, ou le menu des quêtes suivies). Son champ menu référence un Open GUI qui contient les layouts.

Marqueurs​

Placez un objet dans un layout simple de l'Open GUI référencé, définissez buttonPrefix sur codex_button: et buttonType sur un marqueur :

buttonTypeRemplacé par
CATEGORY_SLOTUne catégorie racine par emplacement, dans le menu principal.
QUEST_SLOTUne quête par emplacement, dans un menu de catégorie.
TRACKED_QUEST_SLOTUne quête suivie par emplacement, dans le menu @tracked.
SORT_SLOTLe bouton de tri, dessiné au-dessus du layout pour qu'il ne défile jamais hors de vue.

Deux règles :

  1. Un marqueur, un emplacement. Un marqueur ne s'étend que via ses propres count, direction, gap et repeatY. Une grille de 7 par 8 correspond à un seul objet avec count 7, direction right et repeatY 8. Sans direction, le marqueur reste un seul emplacement. gap est un pas : 1 signifie adjacent.
  2. Les marqueurs suivent le layout. Ils sont indexés dans l'ordre de lecture avant l'analyse du layout ; placez donc l'objet marqueur dans le layout simple qu'enveloppe un layout scrollable, et la liste des quêtes défilera avec un ordre stable.

Les marqueurs placés hors des layouts simple, ou dans un châssis partagé plutôt que dans l'Open GUI désigné par menu, ne sont pas remplis.

Un menu de catégorie défilant​

Un navigateur de six lignes avec une bordure, des commandes fixes et une fenêtre défilante de 7 par 4 sur une grille de quêtes de 7 par 8 :

  1. Créez un Open GUI main_quests_gui avec guiType CUSTOM et size SIZE_54.
  2. Ajoutez un layout simple deco. Ajoutez une vitre noire à x 0, y 0 avec count 9, direction right et le nom défini sur un seul espace, puis la même à y 5. Sur la ligne 5, ajoutez un objet BACK à x 0 (buttonPrefix codex_button:, buttonType BACK), un objet SORT_SLOT à x 4 et un objet CLOSE à x 8.
  3. Ajoutez un layout simple quest_grid avec un seul objet : buttonPrefix codex_button:, buttonType QUEST_SLOT, x 0, y 0, count 7, direction right, repeatY 8.
  4. Ajoutez un layout scrollable quests avec innerId quest_grid, virtualWidth 7, virtualHeight 8 et deux buttons, une flèche UP à x 1, y 4 et une flèche DOWN à x 5, y 4.
  5. Ajoutez un layout frame root avec deux frames : deco en 0,0 de taille 9 par 6, et quests en 1,1 de taille 7 par 4. Définissez mainLayoutId sur root.
  6. Créez le Category Menu avec category main_quests, rows 6 et menu défini sur main_quests_gui.

La grille de quêtes se trouve à l'intérieur du contenu défilant, les quêtes défilent donc avec la fenêtre. Les flèches n'apparaissent que lorsqu'il y a quelque chose à faire défiler.

Le bouton de tri​

SORT_SLOT affiche le mode de tri actuel et change de mode à chaque clic : Toutes, Non commencées, En cours, Terminées. Le mode est conservé par joueur jusqu'au redémarrage du serveur et s'applique à tous les menus de catégorie. Configurez l'objet, le libellé et le lore de chaque mode dans sortDisplay du Category Menu ; sans cela, un libellé intégré est utilisé.

Boutons de navigation​

Étiquetez un emplacement avec PAGE_NEXT, PAGE_PREV, SCROLL_UP, SCROLL_DOWN, SCROLL_LEFT, SCROLL_RIGHT, BACK, CLOSE ou SORT pour câbler son action de clic. L'objet, le nom et le lore que vous configurez sont conservés ; la flèche, la barrière ou l'entonnoir par défaut n'apparaît que lorsque l'emplacement n'a pas d'objet. Vous pouvez aussi utiliser de simples objets avec les commandes gui:back, gui:close ou gui:scroll.

PAGE_NEXT et PAGE_PREV paginent la liste des quêtes ou des catégories lorsque le menu contient des marqueurs, et paginent sinon un layout paginated.

Apparence des quêtes​

Un emplacement de quête s'adapte à la progression du joueur. Quest Lore ajoute du lore par statut, et le Quest Assignment peut surcharger l'icône, le nom, le lore et la visibilité par statut. Cliquer sur une quête active la suit ou arrête son suivi ; cliquer sur une quête non commencée ou terminée envoie le message correspondant défini dans les paramètres globaux.

Liste de vérification​

  1. Une entrée Quest Codex Global Settings, avec un artifact de suivi.
  2. Au moins une Quest Category, sans parent pour le menu principal.
  3. Un Quest Assignment par catégorie.
  4. Un Category Menu par catégorie, et un avec un category vide pour le menu principal, chacun avec son marqueur.
  5. rows du Category Menu égal à la hauteur de l'Open GUI.
  6. Les joueurs possèdent typewriter.codex.open, ou ouvrent le menu depuis une action.