fix: correct HTML structure by moving <script> tag to the end of the body
This commit is contained in:
@@ -637,597 +637,6 @@
|
||||
</a>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
<script src="./assets/js/main.js" type="module"></script>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Amayo Docs | Guía de Contenido</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Documentación interactiva para crear items, mobs, áreas, logros, misiones y más en Amayo."
|
||||
/>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link rel="stylesheet" href="./assets/css/styles.css" />
|
||||
</head>
|
||||
<body>
|
||||
<header class="hero">
|
||||
<div class="hero__content">
|
||||
<h1>Documentación de Contenido Amayo</h1>
|
||||
<p>
|
||||
Crea y gestiona items, enemigos, áreas, niveles, logros, misiones, cofres,
|
||||
mutaciones y más usando los comandos del bot. Esta guía reúne los flujos
|
||||
completos y plantillas listas para copiar.
|
||||
</p>
|
||||
<div class="hero__cta">
|
||||
<a class="btn primary" href="#items">Empezar ahora</a>
|
||||
<button class="btn ghost" id="toggle-nav">Abrir índice</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero__meta">
|
||||
<span class="badge">Actualizado: 5 Oct 2025</span>
|
||||
<span class="badge">Compatible con DisplayComponents V2</span>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="layout">
|
||||
<nav class="toc" id="toc">
|
||||
<div class="toc__title">Índice</div>
|
||||
<ul>
|
||||
<li><a href="#overview">Conceptos básicos</a></li>
|
||||
<li><a href="#items">Items</a></li>
|
||||
<li><a href="#mobs">Mobs</a></li>
|
||||
<li><a href="#areas">Áreas de juego</a></li>
|
||||
<li><a href="#levels">Niveles de área</a></li>
|
||||
<li><a href="#offers">Ofertas de tienda</a></li>
|
||||
<li><a href="#achievements">Logros</a></li>
|
||||
<li><a href="#missions">Misiones</a></li>
|
||||
<li><a href="#chests">Cofres y recompensas</a></li>
|
||||
<li><a href="#crafting">Crafteos</a></li>
|
||||
<li><a href="#mutations">Mutaciones</a></li>
|
||||
<li><a href="#potions">Pociones y consumibles</a></li>
|
||||
<li><a href="#tools">Herramientas y durabilidad</a></li>
|
||||
<li><a href="#services">Servicios del sistema</a></li>
|
||||
<li><a href="#faq">Preguntas frecuentes</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<main class="content">
|
||||
<section id="overview" class="card">
|
||||
<h2>Conceptos básicos</h2>
|
||||
<p>
|
||||
Toda pieza de contenido en Amayo se identifica mediante una <strong>key</strong>
|
||||
única. Estas keys se usan en comandos, relaciones y validaciones. Usa un
|
||||
formato consistente como <code>categoria_nombre</code> (ej:
|
||||
<code>item_iron_sword</code>).
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Permisos necesarios</h3>
|
||||
<ul>
|
||||
<li>Permiso de Discord <strong>Administrar Servidor</strong>.</li>
|
||||
<li>O bien un rol Staff configurado para los comandos del bot.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Sistema de pesos</h3>
|
||||
<p>
|
||||
Al definir tablas de recompensas o aparición de enemigos, usa un campo
|
||||
<code>weight</code>. Cuanto mayor sea el peso, mayor la probabilidad de ser
|
||||
seleccionado.
|
||||
</p>
|
||||
<pre><code>{ "itemKey": "iron_ore", "weight": 10 }
|
||||
{ "itemKey": "gold_ore", "weight": 3 }</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="items" class="card">
|
||||
<h2>Items (EconomyItem)</h2>
|
||||
<p>
|
||||
Administra todo el inventario del juego. Usa <code>!item-crear</code> para abrir
|
||||
el editor interactivo y completa cada pestaña antes de guardar.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Comandos clave</h3>
|
||||
<ul>
|
||||
<li><code>!item-crear <key></code> — Crear un item nuevo.</li>
|
||||
<li><code>!item-editar <key></code> — Editar un item existente.</li>
|
||||
<li><code>!items-lista [página]</code> — Ver listado paginado.</li>
|
||||
<li><code>!item-ver <key></code> — Ver detalles completos.</li>
|
||||
<li><code>!item-eliminar <key></code> — Eliminar un item.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Campos del modal Base</h3>
|
||||
<ul>
|
||||
<li><strong>Nombre:</strong> Texto visible para jugadores.</li>
|
||||
<li><strong>Descripción:</strong> Lore o efectos.</li>
|
||||
<li><strong>Categoría:</strong> Agrupa items (ej. <code>weapons</code>).</li>
|
||||
<li><strong>Icon URL:</strong> Imagen opcional.</li>
|
||||
<li>
|
||||
<strong>Stackable y Máx inventario:</strong> Usa
|
||||
<code>true,10</code>, <code>false,1</code> o deja el límite vacío para
|
||||
infinito.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Props disponibles</h3>
|
||||
<div class="grid two">
|
||||
<details open>
|
||||
<summary>Herramientas (<code>tool</code>)</summary>
|
||||
<pre><code>{
|
||||
"tool": { "type": "pickaxe|rod|sword|bow|halberd|net", "tier": 1 }
|
||||
}</code></pre>
|
||||
<p>
|
||||
Define el tipo de actividad que habilita tu item. El campo
|
||||
<code>tier</code> controla los requisitos mínimos de áreas y minijuegos.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Durabilidad (<code>breakable</code>)</summary>
|
||||
<pre><code>{
|
||||
"breakable": {
|
||||
"enabled": true,
|
||||
"maxDurability": 100,
|
||||
"durabilityPerUse": 1
|
||||
}
|
||||
}</code></pre>
|
||||
<p>
|
||||
Sólo funciona con items <em>no apilables</em>. Ajusta la pérdida de
|
||||
durabilidad por uso para balancear actividades.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Cofres (<code>chest</code>)</summary>
|
||||
<pre><code>{
|
||||
"chest": {
|
||||
"enabled": true,
|
||||
"rewards": [ ... ],
|
||||
"consumeOnOpen": true
|
||||
}
|
||||
}</code></pre>
|
||||
<p>
|
||||
Permite definir loot tables internas, recompensas de monedas, items o roles.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Comida y pociones (<code>food</code>)</summary>
|
||||
<pre><code>{
|
||||
"food": {
|
||||
"healHp": 50,
|
||||
"healPercent": 25,
|
||||
"cooldownSeconds": 60
|
||||
}
|
||||
}</code></pre>
|
||||
<p>Útil para pociones curativas o consumibles con cooldown.</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Bonos de combate</summary>
|
||||
<pre><code>{
|
||||
"damage": 10,
|
||||
"defense": 5,
|
||||
"maxHpBonus": 20
|
||||
}</code></pre>
|
||||
<p>Configura stats extra para armas, armaduras o capas.</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary>Etiquetas y metadatos</summary>
|
||||
<p>
|
||||
Usa el modal <em>Tags</em> para añadir etiquetas separadas por coma, como
|
||||
<code>weapon,rare,crafteable</code>. Sirven para filtrar o aplicar reglas.
|
||||
</p>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="mobs" class="card">
|
||||
<h2>Mobs (Enemigos)</h2>
|
||||
<p>
|
||||
Los enemigos definen los encuentros durante minijuegos y niveles de área. Se
|
||||
crean con <code>!mob-crear</code> y usan stats y tablas de drop en formato JSON.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Campos principales</h3>
|
||||
<ul>
|
||||
<li><strong>Base:</strong> Nombre y categoría opcional.</li>
|
||||
<li>
|
||||
<strong>Stats:</strong> Define <code>attack</code>, <code>hp</code>,
|
||||
<code>defense</code>, <code>xpReward</code>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Drops:</strong> Incluye <code>draws</code> y una tabla con premios
|
||||
ponderados.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Ejemplo de configuración</h3>
|
||||
<pre><code>{
|
||||
"attack": 10,
|
||||
"hp": 100,
|
||||
"defense": 5,
|
||||
"xpReward": 50
|
||||
}</code></pre>
|
||||
<pre><code>{
|
||||
"draws": 2,
|
||||
"table": [
|
||||
{ "type": "coins", "amount": 50, "weight": 10 },
|
||||
{ "type": "item", "itemKey": "leather", "qty": 1, "weight": 5 }
|
||||
]
|
||||
}</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="callout info">
|
||||
<strong>Tip:</strong> Usa <code>!mobs-lista</code> para auditar stats rápidamente y
|
||||
<code>!mob-ver <key></code> para revisar drops antes de activar un área.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="areas" class="card">
|
||||
<h2>Áreas de juego (GameArea)</h2>
|
||||
<p>
|
||||
Las áreas definen dónde se desarrollan las actividades principales (minar,
|
||||
pescar, pelear, plantar). Cada área puede tener múltiples niveles configurables.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Modal Base</h3>
|
||||
<ul>
|
||||
<li><strong>Nombre:</strong> Ej. <em>Caverna de Hierro</em>.</li>
|
||||
<li><strong>Tipo:</strong> <code>MINE</code>, <code>LAGOON</code>,
|
||||
<code>FIGHT</code> o <code>FARM</code>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Modal Config (JSON)</h3>
|
||||
<pre><code>{
|
||||
"cooldownSeconds": 60,
|
||||
"description": "Una mina profunda",
|
||||
"icon": "⛏️"
|
||||
}</code></pre>
|
||||
<p>El ícono se mostrará en las tarjetas generadas por DisplayComponents.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="callout warning">
|
||||
<strong>Recuerda:</strong> Si eliminas un área con <code>!area-eliminar</code>,
|
||||
revisa niveles asociados para evitar referencias rotas.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="levels" class="card">
|
||||
<h2>Niveles de área (GameAreaLevel)</h2>
|
||||
<p>
|
||||
Cada nivel controla requisitos, mobs, recompensas y vigencia. Gestiona niveles con
|
||||
<code>!area-nivel <areaKey> <level></code>.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Requisitos</h3>
|
||||
<pre><code>{
|
||||
"tool": {
|
||||
"required": true,
|
||||
"toolType": "pickaxe",
|
||||
"minTier": 2,
|
||||
"allowedKeys": ["iron_pickaxe", "diamond_pickaxe"]
|
||||
}
|
||||
}</code></pre>
|
||||
<p>
|
||||
Sirve para validar herramientas necesarias. Combínalo con los tiers definidos
|
||||
en los items.
|
||||
</p>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Recompensas</h3>
|
||||
<pre><code>{
|
||||
"draws": 3,
|
||||
"table": [
|
||||
{ "type": "coins", "amount": 100, "weight": 10 },
|
||||
{ "type": "item", "itemKey": "iron_ore", "qty": 2, "weight": 5 }
|
||||
]
|
||||
}</code></pre>
|
||||
<p>Define múltiples extracciones de la tabla con pesos personalizados.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Mobs y ventana</h3>
|
||||
<pre><code>{
|
||||
"mobPool": {
|
||||
"draws": 2,
|
||||
"table": [
|
||||
{ "mobKey": "goblin", "weight": 10 },
|
||||
{ "mobKey": "troll", "weight": 3 }
|
||||
]
|
||||
}
|
||||
}</code></pre>
|
||||
<pre><code>{
|
||||
"window": {
|
||||
"from": "2025-01-01T00:00:00Z",
|
||||
"to": "2025-01-31T23:59:59Z"
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="offers" class="card">
|
||||
<h2>Ofertas de tienda (ShopOffer)</h2>
|
||||
<p>
|
||||
Usa <code>!offer-crear</code> para lanzar nuevas ofertas con stock limitado,
|
||||
precios compuestos y ventanas temporales.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Precio (JSON)</h3>
|
||||
<pre><code>{
|
||||
"coins": 100,
|
||||
"items": [
|
||||
{ "itemKey": "iron_ore", "qty": 5 },
|
||||
{ "itemKey": "wood", "qty": 10 }
|
||||
]
|
||||
}</code></pre>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Límites y ventana</h3>
|
||||
<ul>
|
||||
<li><strong>Límite por usuario:</strong> Máximo por jugador.</li>
|
||||
<li><strong>Stock global:</strong> Total disponible.</li>
|
||||
<li><strong>Ventana:</strong> Fechas ISO de inicio y fin.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="achievements" class="card">
|
||||
<h2>Logros</h2>
|
||||
<p>
|
||||
Motiva a los jugadores con hitos permanentes. Crea logros con
|
||||
<code>!logro-crear</code> y configúralos usando el editor DisplayComponents.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Requisitos comunes</h3>
|
||||
<ul>
|
||||
<li><code>collect_items</code>: Recolectar items específicos.</li>
|
||||
<li><code>complete_missions</code>: Completar misiones listadas.</li>
|
||||
<li><code>reach_level</code>: Alcanzar cierto nivel o racha.</li>
|
||||
<li><code>stat_value</code>: Llegar a un valor en estadísticas.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Recompensas posibles</h3>
|
||||
<ul>
|
||||
<li>Monedas</li>
|
||||
<li>Items entregados automáticamente</li>
|
||||
<li>Roles (usa ID de Discord)</li>
|
||||
<li>Puntos de logro</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="callout success">
|
||||
<strong>Nota:</strong> Usa <code>!logros-lista</code> para auditar logros y
|
||||
<code>!logro-ver <key></code> para validar estructura antes de publicarlos.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="missions" class="card">
|
||||
<h2>Misiones</h2>
|
||||
<p>
|
||||
Las misiones permiten objetivos diarios, semanales o repetibles. Adminístralas con
|
||||
<code>!mision-crear</code> y <code>!misiones-lista</code>.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Tipos de misión</h3>
|
||||
<ul>
|
||||
<li><strong>daily:</strong> Reinicia cada día.</li>
|
||||
<li><strong>weekly:</strong> Reinicia cada semana.</li>
|
||||
<li><strong>one_time:</strong> Se completa una vez.</li>
|
||||
<li><strong>repeatable:</strong> Puede repetirse sin límite.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Requisitos combinables</h3>
|
||||
<ul>
|
||||
<li>Consumir items o recursos.</li>
|
||||
<li>Completar minijuegos específicos.</li>
|
||||
<li>Derrotar mobs concretos.</li>
|
||||
<li>Lograr cantidades de monedas.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="callout info">
|
||||
<strong>Tip:</strong> Aprovecha la ventana de disponibilidad para crear eventos
|
||||
temáticos limitados.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="chests" class="card">
|
||||
<h2>Cofres y recompensas</h2>
|
||||
<p>
|
||||
Configura cofres usando props <code>chest</code> en los items y define tablas de
|
||||
recompensas con pesos. Ideal para loot boxes, recompensas diarias o drops raros.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Recompensas soportadas</h3>
|
||||
<ul>
|
||||
<li>Monedas (<code>coins</code>)</li>
|
||||
<li>Items (usa <code>itemKey</code> y <code>qty</code>)</li>
|
||||
<li>Roles de Discord (<code>roleId</code>)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Consejos</h3>
|
||||
<ul>
|
||||
<li>Usa <code>consumeOnOpen</code> para cofres desechables.</li>
|
||||
<li>Combina cofres con logros y eventos para mejores recompensas.</li>
|
||||
<li>Define varias entradas con pesos distintos para crear rarezas.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="crafting" class="card">
|
||||
<h2>Crafteos</h2>
|
||||
<p>
|
||||
Gestiona recetas desde la base de datos o crea comandos personalizados. El servicio
|
||||
de economía incluye <code>craftByProductKey</code> para validar materiales y
|
||||
entregar productos.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Define recetas en Prisma con entradas y productos.</li>
|
||||
<li>
|
||||
Usa misiones o eventos para desbloquear recetas temporales combinando props y
|
||||
tags.
|
||||
</li>
|
||||
<li>
|
||||
Considera usar <code>craftingOnly: true</code> en items que no se consiguen por
|
||||
drops.
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section id="mutations" class="card">
|
||||
<h2>Mutaciones</h2>
|
||||
<p>
|
||||
Las mutaciones permiten modificar items existentes con efectos adicionales (ej.
|
||||
reforjar armas). Usa <code>findMutationByKey</code> y
|
||||
<code>applyMutationToInventory</code> desde el servicio de economía.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Políticas</h3>
|
||||
<pre><code>{
|
||||
"mutationPolicy": {
|
||||
"allowedKeys": ["fire_upgrade", "ice_upgrade"],
|
||||
"deniedKeys": ["cursed_upgrade"]
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Sugerencias</h3>
|
||||
<ul>
|
||||
<li>Crea mutaciones exclusivas por eventos.</li>
|
||||
<li>Combínalas con logros o misiones épicas.</li>
|
||||
<li>Controla conflictos usando <code>deniedKeys</code>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="potions" class="card">
|
||||
<h2>Pociones y consumibles</h2>
|
||||
<p>
|
||||
Usa props <code>food</code> para crear pociones curativas, boosters temporales o
|
||||
consumibles con cooldown. Complementa con misiones diarias o drops específicos.
|
||||
</p>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Ejemplo de poción</h3>
|
||||
<pre><code>{
|
||||
"food": {
|
||||
"healHp": 75,
|
||||
"healPercent": 15,
|
||||
"cooldownKey": "healing_potion",
|
||||
"cooldownSeconds": 45
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Buenas prácticas</h3>
|
||||
<ul>
|
||||
<li>Usa <code>cooldownKey</code> para compartir cooldown entre pociones similares.</li>
|
||||
<li>Balancea <code>healHp</code> y <code>healPercent</code> para distintos niveles de jugador.</li>
|
||||
<li>Combina con logros para recompensar uso estratégico.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="tools" class="card">
|
||||
<h2>Herramientas y durabilidad</h2>
|
||||
<p>
|
||||
La durabilidad se administra a través de la combinación de props <code>tool</code>
|
||||
y <code>breakable</code>. Para que un item pierda durabilidad, debe ser
|
||||
<strong>no apilable</strong> (<code>stackable=false</code> en el modal Base).
|
||||
</p>
|
||||
<ul>
|
||||
<li>La función <code>reduceToolDurability</code> descuenta
|
||||
<code>durabilityPerUse</code> tras cada minijuego.</li>
|
||||
<li>Cuando la durabilidad llega a 0, el item se elimina del inventario.</li>
|
||||
<li>Si <code>breakable.enabled</code> es <code>false</code>, la herramienta es indestructible.</li>
|
||||
<li>
|
||||
Usa tiers para bloquear áreas avanzadas. Ejemplo: Un área puede requerir una
|
||||
herramienta <code>pickaxe</code> con <code>tier >= 2</code>.
|
||||
</li>
|
||||
</ul>
|
||||
<div class="callout warning">
|
||||
<strong>Importante:</strong> Después de cambiar items apilables a no apilables,
|
||||
recrea el item en los inventarios existentes para evitar stacks rotos.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="services" class="card">
|
||||
<h2>Servicios del sistema</h2>
|
||||
<div class="grid two">
|
||||
<div class="card__sub">
|
||||
<h3>Economy Service</h3>
|
||||
<ul>
|
||||
<li><code>findItemByKey</code> y <code>addItemByKey</code></li>
|
||||
<li><code>consumeItemByKey</code> y <code>getInventoryEntry</code></li>
|
||||
<li><code>craftByProductKey</code> y <code>buyFromOffer</code></li>
|
||||
<li><code>findMutationByKey</code> y <code>applyMutationToInventory</code></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card__sub">
|
||||
<h3>Minigames Service</h3>
|
||||
<ul>
|
||||
<li><code>runMinigame</code> para ejecutar cualquier actividad.</li>
|
||||
<li><code>runMining</code> y <code>runFishing</code> como atajos.</li>
|
||||
<li>Valida cooldowns, requisitos de herramientas y entrega recompensas.</li>
|
||||
<li>Reduce durabilidad automáticamente cuando corresponde.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="faq" class="card">
|
||||
<h2>Preguntas frecuentes</h2>
|
||||
<details>
|
||||
<summary>¿Qué pasa si olvido definir <code>stackable</code>?</summary>
|
||||
<p>Por defecto los items son apilables. Si tu herramienta pierde durabilidad, asegúrate de marcarla como <em>no apilable</em> en el modal Base.</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary>¿Cómo pruebo mis configuraciones?</summary>
|
||||
<p>Usa comandos de prueba en un servidor privado con el bot y confirma con <code>!player</code>, <code>!stats</code> y <code>!inventario</code>.</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary>¿Puedo clonar contenido entre servidores?</summary>
|
||||
<p>Sí. Los items globales están disponibles en todos los servidores; los locales se limitan a su guild. Usa las herramientas de exportación de Prisma si necesitas migraciones masivas.</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary>¿Cómo despliego esta documentación?</summary>
|
||||
<p>Consulta las instrucciones en <code>server/README.md</code> para publicar en Heroku como app independiente.</p>
|
||||
</details>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer class="footer">
|
||||
<p>Amayo © 2025 — Documentación no oficial para administradores de comunidad.</p>
|
||||
<a href="#overview">Volver arriba</a>
|
||||
</footer>
|
||||
|
||||
<script src="./assets/js/main.js" type="module"></script>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user