WhatsApp Discord
[Release 97K] Hook de Renderización: Capa Posterior (Behind Windows) - Source Mu - Mu Server Files
 

[Release 97K] Hook de Renderización: Capa Posterior (Behind Windows)

Publicado por Dakosmu, Mar 23, 2026, 02:54 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Dakosmu

[Release 97K] Hook de Renderización: Capa Posterior (Behind Windows)

¡Hola a todos los desarrolladores y entusiastas de Mu Online! Hoy les traigo una pequeña pero potente modificación técnica para la versión 97K. Si estás trabajando en customizaciones de interfaz, este aporte te será de gran utilidad.

Este hook permite renderizar elementos visuales específicamente detrás de las ventanas originales del juego (como el Inventario, Stats, etc.). Es la solución ideal para implementar sistemas de notificaciones, fondos personalizados o elementos decorativos que no deben interferir con la interacción de los menús del usuario.

Este método utiliza una redirección de memoria para insertar código personalizado justo antes de que el motor gráfico procese las ventanas principales del cliente.

Instrucciones de Implementación

Para integrar esta función en tu proyecto C++, sigue estos pasos:

  • Localiza tu archivo principal de hooks o el gestor de interfaz de tu DLL.
  • Aplica el salto de memoria utilizando la dirección específica para la versión 97K.
  • Define la función de renderizado respetando el llamado a la función original para evitar parpadeos o errores gráficos.

// Aplicar el Hook en la inicialización de tu DLL
SetCompleteHook(0xE8, 0x004BC0A9, &Interface::RenderBeforeMainWindows);

void Interface::RenderBeforeMainWindows()
{
// Llama a la función original para mantener la integridad de la renderización
((void(_cdecl*)())0x004BC220)();

// --- Adicione su código de renderización aquí ---
// Ejemplo: RenderBitmap(IMAGE_ID, x, y, width, height, ...);
// Ejemplo: DrawMessage("Sistema de Notificaciones Activo", ...);
}

Asegúrate de que las direcciones de memoria (0x004BC0A9 y 0x004BC220) coincidan exactamente con tu ejecutable main.exe de la versión 97K para evitar cierres inesperados (Crash).

¡Listo! Con esto, cualquier textura o texto que dibujes dentro de esta función aparecerá de fondo, permitiendo que las ventanas del juego se superpongan correctamente.

No olvides que si estás utilizando un pack de texturas personalizado, los IDs de los Bitmaps deben estar previamente cargados en la memoria del cliente.

Créditos:
  • MattZeras (Implementación y Adaptación)
  • Comunidad de Desarrollo Mu Online

¿Tienes alguna duda sobre cómo implementar esto en tu fuente o necesitas ayuda con las coordenadas de renderizado? ¡Deja tu comentario abajo y compartamos conocimientos!
Bon Dia

🡱 🡳
Real Time Web Analytics