MMO Inventory
Descripción general
MMO Inventory conecta MMOInventory con TypeWriter. MMOInventory añade ranuras de equipamiento personalizadas (accesorios, capas, artefactos, etc.) que viven fuera del inventario de vanilla. TypeWriter no puede verlas por sí solo: esta extensión cubre esa carencia.
Proporciona un único fact legible. El fact responde a una pregunta: ¿tiene este jugador ahora mismo los MMOItems que indicas en uno de tus inventarios personalizados de MMOInventory? Después puedes usar el fact como criterio en diálogos, misiones, audiencias o cualquier otra entrada que acepte criterios, por ejemplo para desbloquear una opción de diálogo solo para los jugadores que lleven un artefacto determinado.
Solo se reconocen los MMOItems. Un item se identifica por su tipo y su ID de MMOItems, no por su nombre ni su material.
Características
- Conocimiento de ranuras personalizadas — lee los items almacenados en un inventario personalizado con nombre de MMOInventory, no en el inventario de vanilla.
- Identificación por tipo e ID — identifica los MMOItems por su par
TYPE:ID, por ejemploACCESSORY:RING_OF_FIRE. - Cantidades de items — cada item puede exigir una cantidad mínima, escrita como
TYPE:ID:amount. - Varios items a la vez — indica tantos items como quieras, separados por comas.
- Cualquiera o todos —
requireAllItemsdecide si basta una coincidencia o se exige cada item de la lista. - Utilizable como condición — el fact devuelve
1o0, listo para usarse en cualquier criterio.
Instalación
- Instala en el servidor MMOInventory, MMOItems y su librería obligatoria MythicLib.
- Asegúrate de que la extensión
Questoficial de TypeWriter está instalada: MMO Inventory depende de ella. - Coloca el JAR de MMO Inventory en
plugins/Typewriter/extensions/. - Reinicia el servidor.
- Define tus inventarios personalizados en la configuración de MMOInventory. El nombre que le des allí a un inventario es el que usarás en el panel.
Primeros pasos
Desbloquea una opción de diálogo solo para los jugadores que lleven un anillo concreto en el inventario accessories:
- En el panel web de TypeWriter, abre una página static y añade una entrada Check Item Fact.
- Establece
inventoryNamecon el nombre del inventario personalizado en MMOInventory, por ejemploaccessories. - Establece
itemsToCheckenACCESSORY:RING_OF_FIRE. Para varios items, sepáralos con comas:ACCESSORY:RING_OF_FIRE, ACCESSORY:AMULET:2. - Deja
requireAllItemsdesactivado si basta una coincidencia, o actívalo para exigir todos los items de la lista. - En la opción de diálogo (o en cualquier entrada con criterios), añade un criterio que use este fact con el valor
1. - Haz clic en Publish y prueba con un jugador que tenga el item equipado en ese inventario.
Cada token es TYPE:ID (cantidad 1) o TYPE:ID:amount. El tipo y el ID no distinguen mayúsculas de minúsculas. Un token que no cumple este formato se ignora en silencio; si no queda ningún token válido, el fact devuelve 0.
Cómo funciona
La extensión lee el plugin MMOInventory en tiempo de ejecución. Solo se cuentan los items que llevan datos de MMOItems, y las pilas del mismo item se suman antes de compararlas con la cantidad solicitada.
Entradas
1 entradas, generadas a partir del código fuente de la extensión.
Hechos1
- Mmoinventory Check Item FactCheck if player has specific MMOItem(s) in a MMOInventory
Solución de problemas
El fact siempre es 0. La extensión devuelve 0 en cuanto falta algo: inventoryName o itemsToCheck vacíos, el plugin MMOInventory sin cargar o el inventario vacío. Revisa cada uno en ese orden.
El registro dice "Inventory 'x' not found". El nombre de inventoryName no coincide con ningún inventario personalizado definido en MMOInventory. Copia el nombre exactamente como aparece en la configuración de MMOInventory.
"Error accessing MMOInventory" aparece en la consola. La extensión se comunica con MMOInventory a través de su API en tiempo de ejecución. Este error significa que la versión instalada de MMOInventory no expone los métodos esperados. Actualiza MMOInventory e informa del stack trace completo si persiste.
Un item de vanilla o que no es de MMOItems nunca se cuenta. Solo se tienen en cuenta los items que tienen un tipo y un ID de MMOItems. Crea el item con MMOItems, o usa otra extensión para comprobar otros tipos de items.
La comprobación se cumple con uno solo de mis items. requireAllItems está desactivado, así que basta una sola coincidencia. Actívalo para exigir todos los items de la lista.
Se ignora una cantidad. Revisa el formato: la cantidad debe ser la tercera parte del token (TYPE:ID:3) y debe ser un número entero. Un token como TYPE:ID:three se descarta.