Noticias:

SMF - Just Installed!

Menú principal

LUA Script Hunting Log for KG-Emulator

Publicado por Dakosmu, Mar 12, 2025, 04:56 AM

Tema anterior - Siguiente tema

Dakosmu

Script LUA para el Registro de Caza en KG-Emulator

Instant Hunting Log
Un sistema de seguimiento de experiencia en tiempo real para Mu Online Season 6 compatible con KG-Emulator que muestra EXP por minuto, último EXP recibido, progreso de nivel y tiempo estimado para el siguiente nivel. Este sistema proporciona scripts tanto del lado del servidor como del lado del cliente para mejorar la experiencia de juego.

Características
- Muestra EXP por minuto, último EXP recibido, nivelaciones y tiempo estimado para el siguiente nivel.
- Muestra Zen por minuto y último Zen recibido.
- Utiliza un marco de UI personalizado para crear un HUD de aspecto profesional.
- Permite clic y arrastre para colocar el registro de caza donde más te guste.
- Cálculos exactos para ganancia de EXP y tiempo restante para nivelaciones.
- Se oculta automáticamente después de 17 segundos de no atacar (configurable).
- Se integra sin problemas con el cliente y servidor de Mu Online.
- Utiliza scripting basado en Lua para funcionalidades tanto del lado del servidor como del lado del cliente.

Problemas Conocidos
- Al cultivar EXP de nivel maestro, los temporizadores para el siguiente nivel y el nivel máximo no están disponibles.

Imágenes

Videos

Configuraciones Disponibles
- panelX: La posición X del panel de registro de caza en la pantalla. Valor por defecto: 850
- panelY: La posición Y del panel de registro de caza en la pantalla. Valor por defecto: 440
- boxWidth: El ancho del panel de registro de caza en píxeles. Valor por defecto: 160
- boxHeight: La altura del panel de registro de caza en píxeles cuando no está minimizado. Valor por defecto: 115
- headerHeight: La altura de la barra de encabezado en píxeles. Valor por defecto: 20

Colores (RGBA)
- panelBgColor: Color de fondo del panel. Valor por defecto: {0.0, 0.0, 0.0, 0.8}
- panelBorderColor: Color del borde/barra de título del panel. Valor por defecto: {0.3, 0.2, 0.2, 1.0}
- titleColor: Color del texto del título y el botón de alternar. Valor por defecto: {255, 215, 0, 255}
- labelColor: Color del texto de etiquetas (ej. "Tiempo de Caza:"). Valor por defecto: {230, 230, 230, 255}
- valueColor: Color de los valores numéricos (R,G,B,A). Valor por defecto: {255, 165, 0, 255}

Fuentes y Espaciado
- toggleButtonFontType: Tipo de fuente para el texto del botón de alternar. Valor por defecto: 2
- defaultFontType: Tipo de fuente por defecto para la mayoría del texto en el panel. Valor por defecto: 1
- lineHeight: Altura de línea en píxeles para el espaciado entre filas de texto. Valor por defecto: 11

Otros Ajustes Visuales
- titleText: Texto mostrado en la barra de título del panel. Valor por defecto: "Instant Hunting Log"
- autoHideTime: Tiempo en segundos tras el cual el registro se oculta automáticamente si no se recibe ningún paquete. Valor por defecto: 17

Cómo Funciona
El Instant Hunting Log se implementa usando scripts de Lua que interactúan con el servidor y cliente de Mu Online.

Del lado del servidor (GameServer)
- Rastrea las ganancias de EXP: El servidor rastrea la experiencia del jugador cada vez que muere un monstruo.
- Acumula EXP por minuto: Cada 60 segundos, el script registra el total de EXP ganado por minuto.
- Calcula el tiempo para el siguiente nivel: Basado en la tasa de ganancia de EXP, el script estima el tiempo restante hasta el siguiente nivel.
- Envía datos al cliente: El servidor envía EXP por minuto, último EXP ganado y tiempo hasta el siguiente nivel a través de un paquete personalizado.

Del lado del cliente (Cliente del juego)
- Recibe datos de EXP: El cliente del juego escucha paquetes de datos de EXP entrantes del servidor.
- Procesa los datos del paquete: Extrae EXP por minuto, último EXP recibido y tiempo hasta el siguiente nivel.
- Muestra HUD: La información se renderiza en una interfaz de usuario profesional utilizando un marco de UI personalizado.
- Función de auto-ocultamiento: La interfaz se oculta automáticamente cuando el EXP por minuto es cero.

Estructura de Datos del Paquete
El servidor se comunica con el cliente usando un formato de paquete personalizado.

Ejemplo de Datos del Paquete
Nombre del Paquete: HUNTING_LOG_PACKET-Player123
= 250000 (EXP por minuto)
= 5000 (Último EXP recibido)
= 2 (Niveles ganados)
= 1200 (Tiempo en segundos hasta el siguiente nivel)

Instalación
Del lado del servidor (GameServer)
1. Copia InstantHuntingLog.lua a:

Descargar
https://github.com/facuc28/instant-hunting-log


Mirror
https://mega.nz/file/vZo2HJoS#iW32zPEmQHEqe1jQgmhOFGuoxHhkn9h1Hx1z8W3IEe4



Bon Dia

Dakosmu

Configuraciones Disponibles

panelX
Descripción: La posición X del panel de registro de caza en la pantalla. 
Valor por defecto: 850

panelY
Descripción: La posición Y del panel de registro de caza en la pantalla. 
Valor por defecto: 440

boxWidth
Descripción: El ancho del panel de registro de caza en píxeles. 
Valor por defecto: 160

boxHeight
Descripción: La altura del panel de registro de caza en píxeles cuando no está minimizado. 
Valor por defecto: 115

headerHeight
Descripción: La altura de la barra de encabezado (la parte superior del panel) en píxeles. 
Valor por defecto: 20

Colores (RGBA)

panelBgColor
Descripción: El color de fondo del panel (valores de 0.0 a 1.0). 
Valor por defecto: {0.0, 0.0, 0.0, 0.8}

panelBorderColor
Descripción: El color del borde/barra de título del panel. 
Valor por defecto: {0.3, 0.2, 0.2, 1.0}

titleColor
Descripción: El color utilizado para el texto del título y el botón de alternar (+/-). 
Valor por defecto: {255, 215, 0, 255}

labelColor
Descripción: El color utilizado para el texto de las etiquetas (ej. "Tiempo de Caza:"). 
Valor por defecto: {230, 230, 230, 255}

valueColor
Descripción: El color utilizado para los valores numéricos (R,G,B,A). 
Valor por defecto: {255, 165, 0, 255}

Fuentes y Espaciado

toggleButtonFontType
Descripción: El tipo de fuente utilizado para el texto del botón de alternar (+/-). (Típicamente, 0 = normal, 1 = negrita, 2 = grande, etc.) 
Valor por defecto: 2

defaultFontType
Descripción: El tipo de fuente por defecto utilizado para la mayoría del texto de etiquetas en el panel. 
Valor por defecto: 1

lineHeight
Descripción: La altura de línea en píxeles para el espaciado entre filas de texto en el panel. 
Valor por defecto: 11

Otros Ajustes Visuales

titleText
Descripción: El texto mostrado en la barra de título del panel. 
Valor por defecto: "Instant Hunting Log"

autoHideTime
Descripción: El tiempo en segundos tras el cual el registro se oculta automáticamente si no se recibe ningún paquete. 
Valor por defecto: 17
Bon Dia

Dakosmu

Cómo Funciona

El Instant Hunting Log se implementa utilizando scripts de Lua que interactúan con el servidor y cliente de Mu Online.

🖥 Del lado del servidor (GameServer)
- Rastrea las ganancias de EXP: El servidor rastrea la experiencia del jugador cada vez que muere un monstruo.
- Acumula EXP por minuto: Cada 60 segundos, el script registra el total de EXP ganado por minuto.
- Calcula el tiempo para el siguiente nivel: Basado en la tasa de ganancia de EXP, el script estima el tiempo restante hasta el siguiente nivel, el nivel de reinicio (350) y el nivel máximo (400).
- Envía datos al cliente: El servidor envía EXP por minuto, último EXP ganado, niveles ganados y tiempo hasta el siguiente nivel a través de un paquete personalizado.

🎮 Del lado del cliente (Cliente del juego)
- Recibe datos de EXP: El cliente del juego escucha paquetes de datos de EXP entrantes del servidor.
- Procesa los datos del paquete: Extrae EXP por minuto, último EXP recibido, nivelaciones y tiempo hasta el siguiente nivel.
- Muestra HUD: La información se renderiza en una interfaz de usuario elegante y profesional utilizando un marco de UI personalizado.
- Función de auto-ocultamiento: La interfaz se oculta automáticamente cuando el EXP por minuto es cero, asegurando una interfaz limpia.
Bon Dia

Dakosmu

Estructura de Datos del Paquete

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

Código:
Byte Offset   Tipo de Dato   Descripción
0             DWORD         EXP por minuto
4             DWORD         Último EXP recibido
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) para reiniciar nivel (350)
24            DWORD         Tiempo (segundos) desde que comenzó la sesión
28            DWORD         ZEN por minuto
32            DWORD         Último ZEN recibido

Ejemplo de Datos del Paquete

Código:
Nombre del Paquete: HUNTING_LOG_PACKET-Player123 
  •    = 250000  (EXP por minuto)
  • [4]   = 5000    (Último EXP recibido)
  • [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 para reiniciar nivel)
  • [24]  = 5000    (Tiempo en segundos desde que comenzó la recolección)
  • [28]  = 120000   (ZEN por minuto)
  • [32]  = 27400   (Último ZEN recibido)

🔧 Instalación

Del lado del servidor (GameServer) 
Copia InstantHuntingLog.lua a: 
..\KG_Data\Scripts\Systems\InstantHuntingLog.lua
 
Reinicia el GameServer.

Del lado del cliente (Cliente del juego) 
Copia los siguientes scripts a: 
..\Data\KGData\Lua\Manager\Interface\HuntingLog.lua
..\Data\KGData\Lua\Manager\Interface\UIFramework.lua
 
Reinicia el Game Client.
Bon Dia

🡱 🡳