Diseñar los menús
Dungeon tiene dos menús, y dibujas ambos. Esta página construye una pareja mínima: un explorador con dos huecos de mazmorra y un lobby con botones de listo, salir y autorrelleno. Da por hecho que ya creaste una Dungeon Instance y una Dungeon Category como en los pasos de Primeros pasos.
¿Eres nuevo en los layouts de GUI? Lee primero la introducción a GUI y la guía de layouts. Los menús siguientes usan los mismos campos layoutPool y mainLayoutId que la acción Open GUI.
El menú global
- En una página sequence, añade un Dungeon Global Menu y fija
categoryen tu categoría. PoninventoryRowsen3einventoryTitleen<gold>Mazmorras. - En
layoutPool, añade un layout de tiposimplecon elidmain. EscribemainenmainLayoutId. - En
items, añade un borde: un panel de cristal gris enx0,y0, concount9,directionrighty un solo espacio comodisplayName. Repite eny2. - Añade un ítem con
buttonTypeDUNGEON_INSTANCE_SLOTenx3,y1,count3,directionright,gap1. Su material no importa: es un marcador. Las tres primeras mazmorras de la categoría rellenan las tres posiciones. - Opcionalmente añade un ítem con
buttonTypeDUNGEON_FIND_PARTYenx8,y1(por ejemplo una brújula llamada<yellow>Buscar party), y uno conbuttonTypeDUNGEON_INFOpara un libro de ayuda. - Dispara la entrada desde una opción de diálogo de un NPC o un evento de comando y después Publica.
El aspecto de cada mazmorra se fija en la categoría, no en el layout: abre la Dungeon Category y edita unlockedItem, unlockedName y unlockLore de su hueco. {dungeon_name}, {players} y {max} se sustituyen cuando se abre el menú y cada vez que se repinta. Para bloquear una mazmorra a algunos jugadores, añade criteria a su hueco: verán el aspecto de bloqueado y no podrán abrirla.
El menú de party
- Añade un Dungeon Party Menu. Deja su
dungeonInstancevacío para atender a todas las mazmorras, o nombra una mazmorra para darle su propio menú. Un menú condungeonInstancevacío atiende a las mazmorras que ningún otro menú nombra. - Pon
inventoryRowsen3einventoryTitleen<gold>Lobbies. - Elige el aspecto del lobby:
lobbyItem(un papel por defecto),lobbyNameLobby {index}y unlobbyLorecomo{players}/{max} jugadoresy{player_names}. - En
layoutPool, añade un layoutsimplemainy fijamainLayoutId. Coloca un ítem conbuttonTypeDUNGEON_LOBBY_SLOTdonde deban aparecer los lobbies (usacount,directionygappara una fila). Sin marcador, los lobbies se dibujan desde la esquina superior izquierda, ylobbyOffsetXylobbyOffsetYlos alejan de tu borde o de tus botones. - Añade tres ítems de botón en la fila inferior:
DUNGEON_READY(por ejemplo un tinte lima llamado<green>Listo),DUNGEON_LEAVE(una barrera) yDUNGEON_AUTO_FILL. - Publica. No dispares esta entrada tú mismo: se abre cuando un jugador hace clic en una mazmorra del menú global.
Una mazmorra tiene un lobby por maxSimultaneousInstances, así que una mazmorra con maxSimultaneousInstances 1 muestra un solo lobby.
Lo que vive un jugador
- El jugador abre el menú global y hace clic en una mazmorra. Se abre el menú de party.
- Hace clic en un lobby para unirse. Con MMOCore, Parties o la extensión de party de Typewriter instalada, toda la party de un jugador se une al lobby junta cuando hay sitio (Dungeon solo lee esas parties y nunca las modifica).
- Los demás jugadores ven al nuevo miembro sin hacer clic: ambos menús se actualizan solos (
autoRefreshTicks). Cada jugador pulsa el botón de listo. Cuando todos están listos y se alcanzaminPartySize, corre la cuenta atrás destartCooldownSecondsy después la party es teletransportada al punto de aparición. - Cuando la partida termina, los jugadores vuelven al lugar donde estaban.
Consejos
Dibuja el layout en un menú Open GUI sencillo con ítems decorativos, comprueba las posiciones, luego copia el layoutPool al menú de Dungeon y etiqueta los ítems dinámicos.
buttonType debe escribirse en mayúsculas como se indica en Menús. Un tipo mal escrito no es un error: el ítem sigue siendo un ítem normal y no hace nada especial.