Implement code changes to enhance functionality and improve performance
This commit is contained in:
File diff suppressed because it is too large
Load Diff
824
src/server/public/index.html.backup
Normal file
824
src/server/public/index.html.backup
Normal file
@@ -0,0 +1,824 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<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 Bot | Guía Completa para Usuarios</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Guía completa de Amayo Bot para usuarios de Discord: comandos de juego, economía, misiones, logros y mucho más."
|
||||
/>
|
||||
<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"
|
||||
/>
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
<script>
|
||||
tailwind.config = {
|
||||
theme: {
|
||||
extend: {
|
||||
fontFamily: {
|
||||
sans: ['Inter', 'ui-sans-serif', 'system-ui', 'Segoe UI', 'sans-serif'],
|
||||
mono: [
|
||||
'JetBrains Mono',
|
||||
'ui-monospace',
|
||||
'SFMono-Regular',
|
||||
'SFMono',
|
||||
'Menlo',
|
||||
'Monaco',
|
||||
'Consolas',
|
||||
'Liberation Mono',
|
||||
'Courier New',
|
||||
'monospace'
|
||||
]
|
||||
},
|
||||
boxShadow: {
|
||||
glow: '0 40px 120px -45px rgba(99, 102, 241, 0.45)'
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<link rel="stylesheet" href="./assets/css/styles.css" />
|
||||
</head>
|
||||
<body class="min-h-screen bg-gradient-to-b from-slate-950 via-slate-950 to-slate-900 text-slate-100 antialiased">
|
||||
<div class="flex min-h-screen flex-col">
|
||||
<header class="relative overflow-hidden">
|
||||
<div class="pointer-events-none absolute inset-0">
|
||||
<div class="absolute -top-32 left-1/2 h-96 w-96 -translate-x-1/2 rounded-full bg-indigo-600/40 blur-3xl"></div>
|
||||
<div class="absolute top-16 -left-28 h-72 w-72 rounded-full bg-sky-500/25 blur-3xl"></div>
|
||||
<div class="absolute bottom-0 right-0 h-80 w-80 translate-y-1/3 rounded-full bg-fuchsia-500/20 blur-3xl"></div>
|
||||
</div>
|
||||
<div class="relative mx-auto flex max-w-5xl flex-col items-center px-6 pb-20 pt-16 text-center lg:px-8">
|
||||
<p class="inline-flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-4 py-1 text-xs font-semibold uppercase tracking-[0.35em] text-slate-200">
|
||||
Amayo Bot • Guía Completa
|
||||
</p>
|
||||
<h1 class="mt-6 text-4xl font-bold text-white sm:text-5xl md:text-6xl">
|
||||
Guía Completa de Amayo Bot
|
||||
</h1>
|
||||
<p class="mt-4 max-w-2xl text-base text-slate-200 sm:text-lg">
|
||||
Aprende a usar todos los comandos y funcionalidades de Amayo Bot en tu servidor de Discord. Sistema de economía, minijuegos, misiones, logros, IA conversacional y mucho más.
|
||||
</p>
|
||||
<div class="mt-8 flex flex-wrap items-center justify-center gap-3">
|
||||
<a
|
||||
class="inline-flex items-center justify-center rounded-full bg-gradient-to-r from-indigo-500 to-fuchsia-500 px-6 py-3 text-sm font-semibold text-white shadow-xl shadow-indigo-500/30 transition hover:-translate-y-0.5 hover:shadow-indigo-500/40"
|
||||
href="#primeros-pasos"
|
||||
>
|
||||
Comenzar
|
||||
</a>
|
||||
<button
|
||||
class="inline-flex items-center justify-center rounded-full border border-white/10 bg-white/5 px-6 py-3 text-sm font-semibold text-slate-100 transition hover:border-indigo-400/70 hover:text-white"
|
||||
id="toggle-nav"
|
||||
>
|
||||
Ver índice completo
|
||||
</button>
|
||||
</div>
|
||||
<div class="mt-6 flex flex-wrap items-center justify-center gap-3 text-xs text-slate-300">
|
||||
<span class="inline-flex items-center rounded-full border border-white/10 bg-white/5 px-3 py-1">
|
||||
Versión 0.11.20
|
||||
</span>
|
||||
<span class="inline-flex items-center rounded-full border border-white/10 bg-white/5 px-3 py-1">
|
||||
Actualizado: Enero 2025
|
||||
</span>
|
||||
<span class="inline-flex items-center rounded-full border border-white/10 bg-white/5 px-3 py-1">
|
||||
Discord.js 15.0.0-dev
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="mx-auto flex w-full max-w-6xl flex-1 flex-col gap-10 px-6 pb-16 lg:flex-row lg:px-10">
|
||||
<nav
|
||||
id="toc"
|
||||
class="hidden w-full max-w-xs rounded-3xl border border-white/10 bg-slate-900/80 p-6 text-left shadow-2xl shadow-indigo-500/20 backdrop-blur lg:sticky lg:top-24 lg:block lg:max-h-[calc(100vh-6rem)] lg:w-72 lg:overflow-y-auto"
|
||||
>
|
||||
<div class="text-xs font-semibold uppercase tracking-[0.3em] text-slate-400">
|
||||
Índice de Contenidos
|
||||
</div>
|
||||
<ul class="mt-4 space-y-2 text-sm">
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#primeros-pasos">🚀 Primeros Pasos</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#comandos-basicos">⚡ Comandos Básicos</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#sistema-juego">🎮 Sistema de Juego</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#minijuegos">🎯 Minijuegos y Actividades</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#inventario-equipo">🎒 Inventario y Equipo</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#economia">💰 Sistema de Economía</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#tienda">🛒 Tienda y Compras</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#crafteo">🔨 Crafteo y Creación</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#logros">🏆 Logros</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#misiones">📜 Misiones</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#racha-diaria">🔥 Racha Diaria</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#consumibles">🍖 Consumibles y Pociones</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#cofres">🎁 Cofres y Recompensas</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#encantamientos">✨ Encantamientos</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#fundicion">🔥 Fundición</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#ia">🤖 Inteligencia Artificial</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#recordatorios">⏰ Recordatorios</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#alianzas">🤝 Sistema de Alianzas</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#admin">⚙️ Administración (Admin)</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#configuracion">🔧 Configuración Servidor</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#estadisticas">📊 Estadísticas</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#tips">💡 Tips y Trucos</a></li>
|
||||
<li><a class="text-slate-200 transition hover:text-indigo-300" href="#faq">❓ Preguntas Frecuentes</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<main class="flex-1">
|
||||
<div class="mx-auto flex w-full max-w-3xl flex-col gap-8">
|
||||
|
||||
<!-- PRIMEROS PASOS -->
|
||||
<section id="primeros-pasos" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">🚀 Primeros Pasos</h2>
|
||||
<p class="text-slate-200">
|
||||
¡Bienvenido a <strong class="text-white">Amayo Bot</strong>! Este bot transforma tu servidor de Discord en una experiencia de juego completa con economía, minijuegos, misiones y mucho más.
|
||||
</p>
|
||||
|
||||
<div class="space-y-4 rounded-2xl border border-indigo-500/30 bg-indigo-500/10 p-5 text-slate-200">
|
||||
<h3 class="text-lg font-semibold text-indigo-200">✨ ¿Qué puedes hacer con Amayo?</h3>
|
||||
<ul class="list-disc space-y-2 pl-5 text-sm">
|
||||
<li><strong class="text-white">Jugar Minijuegos:</strong> Mina recursos, pesca, pelea contra enemigos y cultiva en granjas</li>
|
||||
<li><strong class="text-white">Economía Completa:</strong> Gana monedas, compra en la tienda, craftea items y gestiona tu inventario</li>
|
||||
<li><strong class="text-white">Sistema de Progresión:</strong> Sube de nivel, completa misiones, desbloquea logros y mantén tu racha diaria</li>
|
||||
<li><strong class="text-white">Personalización:</strong> Equipa armas, armaduras y capas para mejorar tus estadísticas</li>
|
||||
<li><strong class="text-white">IA Conversacional:</strong> Chatea con Gemini AI directamente desde Discord</li>
|
||||
<li><strong class="text-white">Sistema de Alianzas:</strong> Comparte enlaces de invitación y gana puntos para tu servidor</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">⚡ Prefix del Bot</h3>
|
||||
<p class="text-sm text-slate-200">
|
||||
El prefix por defecto es <code class="rounded bg-indigo-500/15 px-2 py-1 font-mono text-sm text-indigo-200">!</code>
|
||||
</p>
|
||||
<p class="text-xs text-slate-300 mt-2">
|
||||
Los administradores pueden cambiarlo con <code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!configuracion</code>
|
||||
</p>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">❓ Obtener Ayuda</h3>
|
||||
<p class="text-sm text-slate-200">
|
||||
Usa <code class="rounded bg-indigo-500/15 px-2 py-1 font-mono text-sm text-indigo-200">!ayuda</code> para ver todos los comandos disponibles
|
||||
</p>
|
||||
<p class="text-xs text-slate-300 mt-2">
|
||||
También puedes usar <code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!ayuda <comando></code> para detalles específicos
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- COMANDOS BÁSICOS -->
|
||||
<section id="comandos-basicos" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">⚡ Comandos Básicos</h2>
|
||||
<p class="text-slate-200">
|
||||
Estos son los comandos esenciales que necesitas conocer para empezar.
|
||||
</p>
|
||||
|
||||
<div class="space-y-4">
|
||||
<div class="rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white mb-3">📋 Información y Utilidad</h3>
|
||||
<div class="space-y-3 text-sm">
|
||||
<div class="flex flex-col gap-1">
|
||||
<code class="rounded bg-indigo-500/15 px-2 py-1 font-mono text-indigo-200 w-fit">!ayuda [comando|categoría]</code>
|
||||
<p class="text-slate-300 pl-2">Muestra la lista de comandos. También puedes usar <code class="text-xs">!help</code>, <code class="text-xs">!comandos</code> o <code class="text-xs">!cmds</code></p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-1">
|
||||
<code class="rounded bg-indigo-500/15 px-2 py-1 font-mono text-indigo-200 w-fit">!ping</code>
|
||||
<p class="text-slate-300 pl-2">Verifica la latencia del bot. También: <code class="text-xs">!latency</code>, <code class="text-xs">!pong</code></p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-1">
|
||||
<code class="rounded bg-indigo-500/15 px-2 py-1 font-mono text-indigo-200 w-fit">!player [@usuario]</code>
|
||||
<p class="text-slate-300 pl-2">Muestra tu perfil completo de jugador con estadísticas, equipo e inventario. También: <code class="text-xs">!perfil</code>, <code class="text-xs">!profile</code>, <code class="text-xs">!yo</code>, <code class="text-xs">!me</code></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- SISTEMA DE JUEGO -->
|
||||
<section id="sistema-juego" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">🎮 Sistema de Juego</h2>
|
||||
<p class="text-slate-200">
|
||||
El sistema de juego de Amayo incluye <strong class="text-white">HP (puntos de vida)</strong>, <strong class="text-white">estadísticas de combate</strong>, <strong class="text-white">niveles de progresión</strong> y más.
|
||||
</p>
|
||||
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">⚔️ Estadísticas de Combate</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><strong class="text-white">HP (Vida):</strong> Tus puntos de vida actuales y máximos</li>
|
||||
<li><strong class="text-white">ATK (Ataque):</strong> Daño que infliges a los enemigos</li>
|
||||
<li><strong class="text-white">DEF (Defensa):</strong> Reduce el daño recibido</li>
|
||||
<li><strong class="text-white">Bonos de Equipo:</strong> Las armas, armaduras y capas mejoran tus stats</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">📊 Ver tus Estadísticas</h3>
|
||||
<div class="space-y-2 text-sm">
|
||||
<div class="flex flex-col gap-1">
|
||||
<code class="rounded bg-indigo-500/15 px-2 py-1 font-mono text-indigo-200 w-fit">!player</code>
|
||||
<p class="text-slate-300">Vista general de tu perfil</p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-1">
|
||||
<code class="rounded bg-indigo-500/15 px-2 py-1 font-mono text-indigo-200 w-fit">!stats</code>
|
||||
<p class="text-slate-300">Estadísticas detalladas de todas tus actividades</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rounded-2xl border border-amber-500/30 bg-amber-500/10 p-5 text-sm text-amber-100">
|
||||
<strong class="block text-base font-semibold text-amber-200 mb-2">💡 Consejo:</strong>
|
||||
<p>Equipa mejores armas y armaduras para aumentar tus estadísticas y tener más éxito en los minijuegos de combate.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- MINIJUEGOS -->
|
||||
<section id="minijuegos" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">🎯 Minijuegos y Actividades</h2>
|
||||
<p class="text-slate-200">
|
||||
Los minijuegos son la forma principal de ganar recursos, monedas y experiencia. Cada uno tiene su propio estilo y recompensas.
|
||||
</p>
|
||||
|
||||
<div class="space-y-6">
|
||||
<!-- MINAR -->
|
||||
<div class="rounded-2xl border border-orange-500/30 bg-orange-500/5 p-5">
|
||||
<h3 class="text-lg font-semibold text-orange-200 mb-3">⛏️ Minar (Mining)</h3>
|
||||
<div class="space-y-3 text-sm text-slate-200">
|
||||
<p>Ve a la mina y extrae recursos minerales valiosos. Necesitas un pico para minar.</p>
|
||||
<div class="bg-slate-900/50 p-3 rounded-lg">
|
||||
<code class="text-indigo-200">!mina [nivel] [herramienta] [area:clave]</code>
|
||||
<p class="text-xs text-slate-400 mt-1">Aliases: <code class="text-xs">!minar</code></p>
|
||||
</div>
|
||||
<div class="space-y-1 text-xs">
|
||||
<p><strong class="text-white">Ejemplos:</strong></p>
|
||||
<p class="pl-3">• <code class="bg-slate-800 px-1.5 py-0.5 rounded">!mina</code> — Mina en el nivel más alto desbloqueado</p>
|
||||
<p class="pl-3">• <code class="bg-slate-800 px-1.5 py-0.5 rounded">!mina 2</code> — Mina en el nivel 2</p>
|
||||
<p class="pl-3">• <code class="bg-slate-800 px-1.5 py-0.5 rounded">!mina 1 iron_pickaxe</code> — Usa un pico específico</p>
|
||||
</div>
|
||||
<div class="border-t border-white/10 pt-3 mt-3">
|
||||
<p class="font-semibold text-white mb-1">Recompensas típicas:</p>
|
||||
<p class="text-slate-300">Minerales (hierro, oro, diamantes), gemas, monedas</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PESCAR -->
|
||||
<div class="rounded-2xl border border-cyan-500/30 bg-cyan-500/5 p-5">
|
||||
<h3 class="text-lg font-semibold text-cyan-200 mb-3">🎣 Pescar (Fishing)</h3>
|
||||
<div class="space-y-3 text-sm text-slate-200">
|
||||
<p>Lanza tu caña en la laguna y captura peces y tesoros acuáticos. Necesitas una caña de pescar.</p>
|
||||
<div class="bg-slate-900/50 p-3 rounded-lg">
|
||||
<code class="text-indigo-200">!pescar [nivel] [herramienta] [area:clave]</code>
|
||||
<p class="text-xs text-slate-400 mt-1">Aliases: <code class="text-xs">!fish</code></p>
|
||||
</div>
|
||||
<div class="space-y-1 text-xs">
|
||||
<p><strong class="text-white">Ejemplos:</strong></p>
|
||||
<p class="pl-3">• <code class="bg-slate-800 px-1.5 py-0.5 rounded">!pescar</code> — Pesca automáticamente</p>
|
||||
<p class="pl-3">• <code class="bg-slate-800 px-1.5 py-0.5 rounded">!pescar 3</code> — Pesca en nivel 3</p>
|
||||
</div>
|
||||
<div class="border-t border-white/10 pt-3 mt-3">
|
||||
<p class="font-semibold text-white mb-1">Recompensas típicas:</p>
|
||||
<p class="text-slate-300">Peces, perlas, tesoros, monedas</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PELEAR -->
|
||||
<div class="rounded-2xl border border-red-500/30 bg-red-500/5 p-5">
|
||||
<h3 class="text-lg font-semibold text-red-200 mb-3">⚔️ Pelear (Combat)</h3>
|
||||
<div class="space-y-3 text-sm text-slate-200">
|
||||
<p>Entra a la arena y enfrenta enemigos peligrosos. Las armas mejoran tu daño.</p>
|
||||
<div class="bg-slate-900/50 p-3 rounded-lg">
|
||||
<code class="text-indigo-200">!pelear [nivel] [arma] [area:clave]</code>
|
||||
<p class="text-xs text-slate-400 mt-1">Aliases: <code class="text-xs">!fight</code>, <code class="text-xs">!arena</code></p>
|
||||
</div>
|
||||
<div class="space-y-1 text-xs">
|
||||
<p><strong class="text-white">Ejemplos:</strong></p>
|
||||
<p class="pl-3">• <code class="bg-slate-800 px-1.5 py-0.5 rounded">!pelear</code> — Combate automático</p>
|
||||
<p class="pl-3">• <code class="bg-slate-800 px-1.5 py-0.5 rounded">!pelear 1 iron_sword</code> — Usa espada de hierro</p>
|
||||
</div>
|
||||
<div class="border-t border-white/10 pt-3 mt-3">
|
||||
<p class="font-semibold text-white mb-1">Recompensas típicas:</p>
|
||||
<p class="text-slate-300">Experiencia, botines de enemigos, armaduras, armas, monedas</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PLANTAR -->
|
||||
<div class="rounded-2xl border border-green-500/30 bg-green-500/5 p-5">
|
||||
<h3 class="text-lg font-semibold text-green-200 mb-3">🌾 Plantar/Cultivar (Farming)</h3>
|
||||
<div class="space-y-3 text-sm text-slate-200">
|
||||
<p>Cultiva plantas y cosecha alimentos en tu granja. Usa una azada para mejores resultados.</p>
|
||||
<div class="bg-slate-900/50 p-3 rounded-lg">
|
||||
<code class="text-indigo-200">!plantar [nivel] [herramienta]</code>
|
||||
<p class="text-xs text-slate-400 mt-1">Aliases: <code class="text-xs">!farm</code></p>
|
||||
</div>
|
||||
<div class="border-t border-white/10 pt-3 mt-3">
|
||||
<p class="font-semibold text-white mb-1">Recompensas típicas:</p>
|
||||
<p class="text-slate-300">Vegetales, frutas, semillas, ingredientes de cocina</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rounded-2xl border border-sky-500/30 bg-sky-500/10 p-5 text-sm text-sky-100">
|
||||
<strong class="block text-base font-semibold text-sky-200 mb-2">⏰ Cooldowns:</strong>
|
||||
<p>Cada minijuego tiene un tiempo de espera (cooldown) entre usos. Usa <code class="rounded bg-sky-500/20 px-1.5 py-0.5 font-mono text-xs">!cooldowns</code> para ver tus tiempos activos.</p>
|
||||
</div>
|
||||
</section>
|
||||
<p class="text-slate-200">
|
||||
Administra todo el inventario del juego. Usa <code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!item-crear</code>
|
||||
para abrir el editor interactivo y completa cada pestaña antes de guardar.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Comandos clave</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!item-crear <key></code> — Crear un item nuevo.</li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!item-editar <key></code> — Editar un item existente.</li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!items-lista [página]</code> — Ver listado paginado.</li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!item-ver <key></code> — Ver detalles completos.</li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!item-eliminar <key></code> — Eliminar un item.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Campos del modal Base</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><strong class="text-white">Nombre:</strong> Texto visible para jugadores.</li>
|
||||
<li><strong class="text-white">Descripción:</strong> Lore o efectos.</li>
|
||||
<li><strong class="text-white">Categoría:</strong> Agrupa items (ej. <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">weapons</code>).</li>
|
||||
<li><strong class="text-white">Icon URL:</strong> Imagen opcional.</li>
|
||||
<li><strong class="text-white">Stackable y Máx inventario:</strong> Usa <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">true,10</code>,
|
||||
<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">false,1</code> o deja el límite vacío para infinito.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-y-4 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Props disponibles</h3>
|
||||
<div class="grid gap-4 md:grid-cols-2">
|
||||
<details open class="space-y-3 rounded-2xl border border-indigo-500/25 bg-indigo-500/5 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-indigo-200">Herramientas (<code class="font-mono text-xs">tool</code>)</summary>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"tool": { "type": "pickaxe|rod|sword|bow|halberd|net", "tier": 1 }
|
||||
}</code></pre>
|
||||
<p class="text-sm">Define el tipo de actividad que habilita tu item. El campo <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">tier</code> controla los requisitos mínimos.</p>
|
||||
</details>
|
||||
<details class="space-y-3 rounded-2xl border border-indigo-500/25 bg-indigo-500/5 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-indigo-200">Durabilidad (<code class="font-mono text-xs">breakable</code>)</summary>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"breakable": {
|
||||
"enabled": true,
|
||||
"maxDurability": 100,
|
||||
"durabilityPerUse": 1
|
||||
}
|
||||
}</code></pre>
|
||||
<p class="text-sm">Sólo funciona con items <em>no apilables</em>. Ajusta la pérdida de durabilidad por uso para balancear actividades.</p>
|
||||
</details>
|
||||
<details class="space-y-3 rounded-2xl border border-indigo-500/25 bg-indigo-500/5 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-indigo-200">Cofres (<code class="font-mono text-xs">chest</code>)</summary>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"chest": {
|
||||
"enabled": true,
|
||||
"rewards": [ ... ],
|
||||
"consumeOnOpen": true
|
||||
}
|
||||
}</code></pre>
|
||||
<p class="text-sm">Permite definir loot tables internas, recompensas de monedas, items o roles.</p>
|
||||
</details>
|
||||
<details class="space-y-3 rounded-2xl border border-indigo-500/25 bg-indigo-500/5 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-indigo-200">Comida y pociones (<code class="font-mono text-xs">food</code>)</summary>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"food": {
|
||||
"healHp": 50,
|
||||
"healPercent": 25,
|
||||
"cooldownSeconds": 60
|
||||
}
|
||||
}</code></pre>
|
||||
<p class="text-sm">Útil para pociones curativas o consumibles con cooldown.</p>
|
||||
</details>
|
||||
<details class="space-y-3 rounded-2xl border border-indigo-500/25 bg-indigo-500/5 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-indigo-200">Bonos de combate</summary>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"damage": 10,
|
||||
"defense": 5,
|
||||
"maxHpBonus": 20
|
||||
}</code></pre>
|
||||
<p class="text-sm">Configura stats extra para armas, armaduras o capas.</p>
|
||||
</details>
|
||||
<details class="space-y-3 rounded-2xl border border-indigo-500/25 bg-indigo-500/5 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-indigo-200">Etiquetas y metadatos</summary>
|
||||
<p class="text-sm">Usa el modal <em>Tags</em> para añadir etiquetas separadas por coma, como <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">weapon,rare,crafteable</code>. Sirven para filtrar o aplicar reglas.</p>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="mobs" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Mobs (Enemigos)</h2>
|
||||
<p class="text-slate-200">
|
||||
Los enemigos definen los encuentros durante minijuegos y niveles de área. Se crean con
|
||||
<code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!mob-crear</code> y usan stats y tablas de drop en formato JSON.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Campos principales</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><strong class="text-white">Base:</strong> Nombre y categoría opcional.</li>
|
||||
<li><strong class="text-white">Stats:</strong> Define <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">attack</code>,
|
||||
<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">hp</code>, <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">defense</code>, <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">xpReward</code>.</li>
|
||||
<li><strong class="text-white">Drops:</strong> Incluye <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">draws</code> y una tabla con premios ponderados.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Ejemplo de configuración</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"attack": 10,
|
||||
"hp": 100,
|
||||
"defense": 5,
|
||||
"xpReward": 50
|
||||
}</code></pre>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"draws": 2,
|
||||
"table": [
|
||||
{ "type": "coins", "amount": 50, "weight": 10 },
|
||||
{ "type": "item", "itemKey": "leather", "qty": 1, "weight": 5 }
|
||||
]
|
||||
}</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rounded-2xl border border-sky-500/30 bg-sky-500/10 p-5 text-sm text-sky-200">
|
||||
<strong class="block text-base font-semibold text-sky-100">Tip:</strong>
|
||||
Usa <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!mobs-lista</code> para auditar stats rápidamente y
|
||||
<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!mob-ver <key></code> para revisar drops antes de activar un área.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="areas" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Áreas de juego (GameArea)</h2>
|
||||
<p class="text-slate-200">
|
||||
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 gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Modal Base</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><strong class="text-white">Nombre:</strong> Ej. <em>Caverna de Hierro</em>.</li>
|
||||
<li><strong class="text-white">Tipo:</strong> <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">MINE</code>,
|
||||
<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">LAGOON</code>, <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">FIGHT</code> o <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">FARM</code>.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Modal Config (JSON)</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"cooldownSeconds": 60,
|
||||
"description": "Una mina profunda",
|
||||
"icon": "⛏️"
|
||||
}</code></pre>
|
||||
<p class="text-sm text-slate-200">El ícono se mostrará en las tarjetas generadas por DisplayComponents.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rounded-2xl border border-amber-500/30 bg-amber-500/10 p-5 text-sm text-amber-100">
|
||||
<strong class="block text-base font-semibold text-amber-200">Recuerda:</strong>
|
||||
Si eliminas un área con <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!area-eliminar</code>, revisa niveles asociados para evitar referencias rotas.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="levels" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Niveles de área (GameAreaLevel)</h2>
|
||||
<p class="text-slate-200">
|
||||
Cada nivel controla requisitos, mobs, recompensas y vigencia. Gestiona niveles con
|
||||
<code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!area-nivel <areaKey> <level></code>.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Requisitos</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"tool": {
|
||||
"required": true,
|
||||
"toolType": "pickaxe",
|
||||
"minTier": 2,
|
||||
"allowedKeys": ["iron_pickaxe", "diamond_pickaxe"]
|
||||
}
|
||||
}</code></pre>
|
||||
<p class="text-sm text-slate-200">Sirve para validar herramientas necesarias. Combínalo con los tiers definidos en los items.</p>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Recompensas</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"draws": 3,
|
||||
"table": [
|
||||
{ "type": "coins", "amount": 100, "weight": 10 },
|
||||
{ "type": "item", "itemKey": "iron_ore", "qty": 2, "weight": 5 }
|
||||
]
|
||||
}</code></pre>
|
||||
<p class="text-sm text-slate-200">Define múltiples extracciones de la tabla con pesos personalizados.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Mobs</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"mobPool": {
|
||||
"draws": 2,
|
||||
"table": [
|
||||
{ "mobKey": "goblin", "weight": 10 },
|
||||
{ "mobKey": "troll", "weight": 3 }
|
||||
]
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Ventana</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"window": {
|
||||
"from": "2025-01-01T00:00:00Z",
|
||||
"to": "2025-01-31T23:59:59Z"
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="offers" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Ofertas de tienda (ShopOffer)</h2>
|
||||
<p class="text-slate-200">
|
||||
Usa <code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!offer-crear</code> para lanzar nuevas ofertas con stock limitado,
|
||||
precios compuestos y ventanas temporales.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Precio (JSON)</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"coins": 100,
|
||||
"items": [
|
||||
{ "itemKey": "iron_ore", "qty": 5 },
|
||||
{ "itemKey": "wood", "qty": 10 }
|
||||
]
|
||||
}</code></pre>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Límites y ventana</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><strong class="text-white">Límite por usuario:</strong> Máximo por jugador.</li>
|
||||
<li><strong class="text-white">Stock global:</strong> Total disponible.</li>
|
||||
<li><strong class="text-white">Ventana:</strong> Fechas ISO de inicio y fin.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="achievements" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Logros</h2>
|
||||
<p class="text-slate-200">
|
||||
Motiva a los jugadores con hitos permanentes. Crea logros con
|
||||
<code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!logro-crear</code> y configúralos usando el editor DisplayComponents.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Requisitos comunes</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">collect_items</code>: Recolectar items específicos.</li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">complete_missions</code>: Completar misiones listadas.</li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">reach_level</code>: Alcanzar cierto nivel o racha.</li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">stat_value</code>: Llegar a un valor en estadísticas.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Recompensas posibles</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<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="rounded-2xl border border-emerald-500/30 bg-emerald-500/10 p-5 text-sm text-emerald-100">
|
||||
<strong class="block text-base font-semibold text-emerald-200">Nota:</strong>
|
||||
Usa <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!logros-lista</code> para auditar logros y
|
||||
<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!logro-ver <key></code> para validar estructura antes de publicarlos.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="missions" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Misiones</h2>
|
||||
<p class="text-slate-200">
|
||||
Las misiones permiten objetivos diarios, semanales o repetibles. Adminístralas con
|
||||
<code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!mision-crear</code> y
|
||||
<code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">!misiones-lista</code>.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Tipos de misión</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><strong class="text-white">daily:</strong> Reinicia cada día.</li>
|
||||
<li><strong class="text-white">weekly:</strong> Reinicia cada semana.</li>
|
||||
<li><strong class="text-white">one_time:</strong> Se completa una vez.</li>
|
||||
<li><strong class="text-white">repeatable:</strong> Puede repetirse sin límite.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Requisitos combinables</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<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="rounded-2xl border border-sky-500/30 bg-sky-500/10 p-5 text-sm text-sky-100">
|
||||
<strong class="block text-base font-semibold text-sky-200">Tip:</strong>
|
||||
Aprovecha la ventana de disponibilidad para crear eventos temáticos limitados.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="chests" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Cofres y recompensas</h2>
|
||||
<p class="text-slate-200">
|
||||
Configura cofres usando props <code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">chest</code> en los items y define tablas de recompensas con pesos.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Recompensas soportadas</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li>Monedas (<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">coins</code>)</li>
|
||||
<li>Items (usa <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">itemKey</code> y <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">qty</code>)</li>
|
||||
<li>Roles de Discord (<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">roleId</code>)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Consejos</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li>Usa <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">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="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Crafteos</h2>
|
||||
<p class="text-slate-200">
|
||||
Gestiona recetas desde la base de datos o crea comandos personalizados. El servicio de economía incluye
|
||||
<code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">craftByProductKey</code> para validar materiales y entregar productos.
|
||||
</p>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<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 class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">craftingOnly: true</code> en items que no se consiguen por drops.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section id="mutations" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Mutaciones</h2>
|
||||
<p class="text-slate-200">
|
||||
Las mutaciones permiten modificar items existentes con efectos adicionales (ej. reforjar armas). Usa
|
||||
<code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">findMutationByKey</code> y
|
||||
<code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">applyMutationToInventory</code> desde el servicio de economía.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Políticas</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"mutationPolicy": {
|
||||
"allowedKeys": ["fire_upgrade", "ice_upgrade"],
|
||||
"deniedKeys": ["cursed_upgrade"]
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Sugerencias</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li>Crea mutaciones exclusivas por eventos.</li>
|
||||
<li>Combínalas con logros o misiones épicas.</li>
|
||||
<li>Controla conflictos usando <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">deniedKeys</code>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="potions" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Pociones y consumibles</h2>
|
||||
<p class="text-slate-200">
|
||||
Usa props <code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">food</code> para crear pociones curativas, boosters temporales o consumibles con cooldown.
|
||||
</p>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Ejemplo de poción</h3>
|
||||
<pre class="overflow-x-auto rounded-xl border border-indigo-500/30 bg-slate-900/70 p-4 text-xs text-indigo-100"><code>{
|
||||
"food": {
|
||||
"healHp": 75,
|
||||
"healPercent": 15,
|
||||
"cooldownKey": "healing_potion",
|
||||
"cooldownSeconds": 45
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Buenas prácticas</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li>Usa <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">cooldownKey</code> para compartir cooldown.</li>
|
||||
<li>Balancea <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">healHp</code> y <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">healPercent</code> para distintos niveles.</li>
|
||||
<li>Combina con logros para recompensar uso estratégico.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="tools" class="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Herramientas y durabilidad</h2>
|
||||
<p class="text-slate-200">
|
||||
La durabilidad se administra a través de la combinación de props <code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">tool</code>
|
||||
y <code class="rounded bg-indigo-500/15 px-1.5 py-0.5 font-mono text-xs text-indigo-200">breakable</code>. Para que un item pierda durabilidad, debe ser
|
||||
<strong class="text-white">no apilable</strong> (<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">stackable=false</code>).
|
||||
</p>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li>La función <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">reduceToolDurability</code> descuenta <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">durabilityPerUse</code> tras cada minijuego.</li>
|
||||
<li>Cuando la durabilidad llega a 0, el item se elimina del inventario.</li>
|
||||
<li>Si <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">breakable.enabled</code> es <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">false</code>, la herramienta es indestructible.</li>
|
||||
<li>Usa tiers para bloquear áreas avanzadas. Ejemplo: Un área puede requerir una herramienta <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">pickaxe</code> con <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">tier >= 2</code>.</li>
|
||||
</ul>
|
||||
<div class="rounded-2xl border border-amber-500/30 bg-amber-500/10 p-5 text-sm text-amber-100">
|
||||
<strong class="block text-base font-semibold text-amber-200">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="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Servicios del sistema</h2>
|
||||
<div class="grid gap-6 md:grid-cols-2">
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Economy Service</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">findItemByKey</code> y <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">addItemByKey</code></li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">consumeItemByKey</code> y <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">getInventoryEntry</code></li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">craftByProductKey</code> y <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">buyFromOffer</code></li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">findMutationByKey</code> y <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">applyMutationToInventory</code></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="space-y-3 rounded-2xl border border-white/5 bg-slate-900/60 p-5">
|
||||
<h3 class="text-lg font-semibold text-white">Minigames Service</h3>
|
||||
<ul class="list-disc space-y-1 pl-5 text-sm text-slate-200">
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">runMinigame</code> para ejecutar cualquier actividad.</li>
|
||||
<li><code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">runMining</code> y <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">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="space-y-6 rounded-3xl border border-white/5 bg-slate-900/80 p-8 shadow-2xl shadow-indigo-500/10 backdrop-blur">
|
||||
<h2 class="text-3xl font-semibold text-white">Preguntas frecuentes</h2>
|
||||
<div class="space-y-4">
|
||||
<details class="rounded-2xl border border-white/5 bg-slate-900/60 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-white">¿Qué pasa si olvido definir <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">stackable</code>?</summary>
|
||||
<p class="mt-3 text-sm">
|
||||
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 class="rounded-2xl border border-white/5 bg-slate-900/60 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-white">¿Cómo pruebo mis configuraciones?</summary>
|
||||
<p class="mt-3 text-sm">
|
||||
Usa comandos de prueba en un servidor privado con el bot y confirma con
|
||||
<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!player</code>,
|
||||
<code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!stats</code> y <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">!inventario</code>.
|
||||
</p>
|
||||
</details>
|
||||
<details class="rounded-2xl border border-white/5 bg-slate-900/60 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-white">¿Puedo clonar contenido entre servidores?</summary>
|
||||
<p class="mt-3 text-sm">
|
||||
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 class="rounded-2xl border border-white/5 bg-slate-900/60 p-4 text-slate-200">
|
||||
<summary class="cursor-pointer text-base font-semibold text-white">¿Cómo despliego esta documentación?</summary>
|
||||
<p class="mt-3 text-sm">
|
||||
Consulta las instrucciones en <code class="rounded bg-indigo-500/15 px-1 py-0.5 font-mono text-xs text-indigo-200">server/README.md</code> para publicar en Heroku como app independiente.
|
||||
</p>
|
||||
</details>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer class="border-t border-white/5 bg-slate-950/80 py-10 text-center text-sm text-slate-400">
|
||||
<p>Amayo © 2025 — Documentación no oficial para administradores de comunidad.</p>
|
||||
<a class="mt-3 inline-flex items-center gap-2 text-indigo-300 transition hover:text-indigo-200" href="#overview">
|
||||
Volver arriba
|
||||
<span aria-hidden="true">↑</span>
|
||||
</a>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script src="./assets/js/main.js" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user