WhatsApp Discord
Fix Nick sobre la Cabeza en Monturas (Dark Horse y Fenrir Source 5.2 BASE - Source Mu - Mu Server Files
 

Fix Nick sobre la Cabeza en Monturas (Dark Horse y Fenrir Source 5.2 BASE

Publicado por Dakosmu, Mar 28, 2026, 01:34 AM

Tema anterior - Siguiente tema

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

Dakosmu

Fix Visual: Corrección del Nick sobre la Cabeza en Monturas (Dark Horse y Fenrir)

En este tutorial aprenderás a corregir el error visual donde el Nick del personaje aparece atravesando el cuerpo cuando se utiliza una montura, ajustando correctamente el offset de altura en el cliente.


Regístrate para ver el enlace
Regístrate para ver el enlace




Este fix está orientado a desarrolladores que trabajan con el código fuente del cliente (Main) y buscan mejorar la estética visual de sus servidores Mu Online.

Análisis del Problema
El bug ocurre en el archivo CGMHeadChat.cpp, específicamente dentro de la función
RenderBooleans(). Actualmente, el cliente utiliza un valor de altura (offset) genérico para personajes a pie, ignorando si el usuario está montando un Dark Horse, Fenrir o un Raven. Esto causa que el texto del nombre quede posicionado demasiado bajo.

Antes de aplicar los cambios, asegúrate de tener una copia de seguridad de tu archivo CGMHeadChat.cpp.

Pasos para aplicar el Fix:

  • Abre tu solución en Visual Studio y busca el archivo CGMHeadChat.cpp.
  • Localiza la función
    RenderBooleans() (aproximadamente entre las líneas 430 y 476).
  • Identifica la lógica actual que calcula el
    add_boundin y reemplázala por el siguiente bloque de código optimizado:

Fix Nick sobre la Cabeza en Monturas (Dark Horse y Fenrir Source 5.2 BASE

float add_boundin = 0.0;

// ---- NUEVO: Ajuste dinámico por montura ----
int sc_type_helper = (ci->Owner != NULL) ? ci->Owner->Helper.Type : 0;

if (sc_type_helper == MODEL_HELPER + 4 || o->movementType == Movement::Horse)
{
// Ajuste para Dark Horse / Unicorn / Raven
add_boundin += 130.f;

}
else if (sc_type_helper == MODEL_HELPER + 37 || o->movementType == Movement::Fenrir)
{
// Ajuste para montura Fenrir
add_boundin += 110.f;
}
else
{
// Lógica original para personajes a pie o transformaciones pequeñas
if (o->Type >= MODEL_LITTLESANTA && o->Type <= MODEL_LITTLESANTA_END
|| o->Type == MODEL_MERCHANT_MAN)
add_boundin += (gmProtect->m_RenderCharacterName) ? 50.f : 20.f;
else
add_boundin += (gmProtect->m_RenderCharacterName) ? 90.f : 40.f;
}
// ---- FIN DEL FIX ----

Una vez reemplazado el código, compila tu DLL o Main y verifica los resultados dentro del juego.

Si el nombre aún se ve muy alto o muy bajo, simplemente ajusta los valores 130.f o 110.f en el código anterior hasta lograr la posición perfecta para tu versión de archivos.

Video Demostrativo del Resultado:

Conclusión:
Con este pequeño ajuste de programación, mejorarás notablemente la interfaz de usuario de tu servidor, dándole un acabado mucho más profesional y pulido a las animaciones de los personajes.

¿Te ha servido este fix para tu servidor? Si tienes dudas sobre los valores de offset para otras monturas personalizadas, ¡déjanos un comentario abajo y con gusto te ayudaremos!

Créditos: Dakosmu
Bon Dia

🡱 🡳
Real Time Web Analytics