FIX CRÍTICO: Bug de Experiencia (No Subir Nivel / 1 Mob = Nivel Máximo) (Base Pi - Source Mu - Mu Server Files
 

FIX CRÍTICO: Bug de Experiencia (No Subir Nivel / 1 Mob = Nivel Máximo) (Base Pi

Publicado por Dakosmu, Nov 04, 2025, 02:07 PM

Tema anterior - Siguiente tema

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

Dakosmu

🐛 FIX CRÍTICO: Bug de Experiencia (No Subir Nivel / 1 Mob = Nivel Máximo) (Base Pike 4.3)

Esta guía cubre un FIX urgente en el GameServer para corregir el problema de la experiencia en la Base Pike 4.3, que se manifiesta de dos maneras extremas:

  • El personaje no puede subir de nivel (la experiencia se calcula mal al llegar al nivel máximo).
  • Matar un solo monstruo (mob) resulta en la subida instantánea a Nivel 400.

Este problema generalmente se debe a un error en el cálculo de la experiencia acumulada una vez que el personaje ha alcanzado el nivel máximo, haciendo que la resta de la experiencia excedente sea incorrecta.

⚙️ Paso a Paso: Corrección en GameServer ObjectManager.cpp

  • 1. Localizar el Archivo
Abre el código fuente de tu GameServer y localiza el archivo: ObjectManager.cpp.

  • 2. Buscar y Comentar las Líneas
Busca dentro de la función de manejo de experiencia (que puede ser `CGObj::AddExperience` o una sección similar) las siguientes dos líneas de código que realizan el cálculo de resta de experiencia regular y Master.

LÍNEAS A BUSCAR:
AddExperience -= (((--MaxLevelUp) == 0) ? AddExperience : (lpObj->NextExperience - lpObj->Experience));

AddExperience -= (((--MaxLevelUp) == 0) ? AddExperience : (DWORD)(lpObj->MasterNextExperience - lpObj->MasterExperience));

  • 3. Aplicar el Fix (Comentar)
Comenta estas dos líneas usando `//` al inicio de cada una. Comentar estas líneas deshabilita la lógica de resta incorrecta que causa el *bug*.

CÓDIGO MODIFICADO:
//AddExperience -= (((--MaxLevelUp) == 0) ? AddExperience : (lpObj->NextExperience - lpObj->Experience));

//AddExperience -= (((--MaxLevelUp) == 0) ? AddExperience : (DWORD)(lpObj->MasterNextExperience - lpObj->MasterExperience));

  • 4. Recompilar
Recompila tu GameServer para aplicar el cambio y reemplaza el archivo ejecutable (`GameServer.exe` o similar) en tu servidor.
[/list]

📢 Nota Importante

Este *fix* asume que el cálculo de experiencia excedente está siendo manejado correctamente por otra parte del código o que la eliminación de esta resta es la solución definitiva para este error específico en la Base Pike 4.3.


Subir de nivel será ahora un proceso correcto y gradual.

Créditos:
Código Base: MUCommunity.
Análisis y Formato: Gemini.
Bon Dia

🡱 🡳
Real Time Web Analytics