LUA Script para Hunting Log files KG-Emulator

Publicado por Dakosmu, Mar 03, 2025, 04:13 PM

Tema anterior - Siguiente tema

Dakosmu

Hunting Log LUA Script para KG-Emulator

Estoy trabajando en este nuevo Script compatible con KG-Emulator para mostrar el Hunting log o Log de farming mientras se tiene activado el mu helper o se matan mobs, de forma que podemos saber cuánta experiencia estamos ganando por minuto y otras estadísticas interesantes, como cuánto tiempo queda para el reset o nivel máximo al ritmo de farmeo actual.
El Script es opensource, por lo tanto, son libres de modificarlo, mejorarlo y utilizarlo.

Github Repository: https://github.com/facuc28/instant-hunting-log

---

🛠 Características

  • 🔹 Muestra EXP por minuto, última EXP recibida, niveles ganados y tiempo estimado para el próximo nivel.
  • 🔹 Usa un marco de interfaz de usuario personalizado para crear un HUD profesional.
  • 🔹 Se actualiza automáticamente cada 60 segundos para rastrear la eficiencia de farmeo del jugador.
  • 🔹 Cálculos precisos para la ganancia de EXP y tiempo restante para subir de nivel.
  • 🔹 Se oculta automáticamente después de 17 segundos sin atacar (configurable).
  • 🔹 Se integra perfectamente con el cliente y el servidor de Mu Online.
  • 🔹 Usa scripts en Lua tanto para el lado del servidor como para el lado del cliente.

---

🚩 Problemas Conocidos
  • 🔹 La interfaz del registro de caza no se alinea correctamente al usar diferentes resoluciones.
  • 🔹 La experiencia del nivel maestro no se muestra en el registro. (fix próximamente)

📷 Imágenes
Los visitantes no pueden visualizar imágenes en los mensajes, por favor Regístrate o Inicia Sesión

Los visitantes no pueden visualizar imágenes en los mensajes, por favor Regístrate o Inicia Sesión


---

🛠 Cómo Funciona

El Registro de Caza Instantáneo se implementa usando scripts en Lua que interactúan con el servidor y el cliente de Mu Online.

🔧 Lado del Servidor (GameServer)
  • 🔹 Rastrea la ganancia de EXP: El servidor registra la experiencia del jugador cada vez que un monstruo muere.
  • 🔹 Acumula EXP por minuto: Cada 60 segundos, el script registra la EXP total ganada por minuto.
  • 🔹 Calcula el tiempo hasta el próximo nivel: Basado en la tasa de ganancia de EXP, el script estima el tiempo restante hasta el siguiente nivel, nivel de reinicio (350) y nivel máximo (400).
  • 🔹 Envía datos al cliente: El servidor envía EXP por minuto, última EXP ganada, niveles ganados y tiempo hasta el siguiente nivel mediante un paquete personalizado.

🔧 Lado del Cliente (Game Client)
  • 🔹 Recibe datos de EXP: El cliente del juego escucha los paquetes de datos de EXP entrantes desde el servidor.
  • 🔹 Procesa los datos del paquete: Extrae la EXP por minuto, última EXP recibida, niveles ganados y tiempo hasta el siguiente nivel.
  • 🔹 Muestra el HUD: La información se muestra en una UI elegante y profesional usando un marco de interfaz de usuario personalizado.
  • 🔹 Función de ocultado automático: La UI se oculta automáticamente cuando la EXP por minuto es cero, asegurando una interfaz limpia.

---

📦 Estructura del Paquete de Datos

El servidor se comunica con el cliente usando un formato de paquete personalizado (`HUNTING_LOG_PACKET`).

  • Desplazamiento de Byte - Tipo de Dato - Descripción
  • 0 - `DWORD` - EXP por minuto
  • 4 - `DWORD` - Última EXP recibida
  • 8 - `DWORD` - Niveles ganados
  • 12 - `DWORD` - Tiempo (segundos) hasta el siguiente nivel
  • 16 - `DWORD` - Tiempo (segundos) hasta el nivel máximo (400)
  • 20 - `DWORD` - Tiempo (segundos) hasta el nivel de reinicio (350)

📊 Ejemplo de Datos de Paquete
Nombre del Paquete: HUNTING_LOG_PACKET-Player123
[0] = 250000 (EXP por minuto)
[4] = 5000 (Última EXP recibida)
[8] = 2 (Niveles ganados)
[12] = 1200 (Tiempo en segundos hasta el siguiente nivel)
[16] = 54000 (Tiempo en segundos hasta el nivel máximo)
[20] = 36000 (Tiempo en segundos hasta el nivel de reinicio)

---

📥 Instalación

Lado del Servidor (GameServer)
  • 1. Copia `InstantHuntingLog.lua` a:
..\KG_Data\Scripts\Systems\InstantHuntingLog.lua
  • 2. Reinicia el GameServer.

Lado del Cliente (Game Client)
  • 1. Copia los siguientes scripts a:
..\Data\KGData\Lua\Manager\Interface\HuntingLog.lua
..\Data\KGData\Lua\Manager\Interface\UIFramework.lua
  • 2. Reinicia el cliente del juego.

---

🤝 Cómo Contribuir

¡Aceptamos contribuciones! Sigue estos pasos:

🔄 Fork & Clona el Repositorio
  • 1. Haz un fork de este repositorio.
  • 2. Clona tu fork localmente:
git clone https://github.com/TU_USUARIO/instant-hunting-log
  • (Reemplaza `TU_USUARIO` con tu nombre de usuario en Github).</li]
       
    • 3. Ingresa al directorio del proyecto:
    cd InstantHuntingLog

    ✏️ Realiza Cambios
    • 1. Modifica los scripts de Lua en las carpetas del servidor o cliente.
    • 2. Prueba tus cambios en tu servidor de Mu Online localmente.

    🔄 Crea un Pull Request
    • 1. Sube tus cambios a tu fork:
    git add .
    git commit -m "Mejorado el cálculo de EXP"
    git push origin main
    • 2. Abre un Pull Request en el repositorio.
    • 3. Asegúrate de incluir imágenes o videos de los cambios funcionales junto con una descripción detallada de las modificaciones.

Mirror
https://mega.nz/file/2ZQ0DQDa#LVzNgy--NloRPlxyxk9h2wjxuY_nB6555rtEKYloqto

creditos
Taglife
Bon Dia

🡱 🡳