Fix Expanded Inventory (No puedes tirar ítems) para Source 5.2 Pegasus / Mudream - Source Mu - Mu Server Files
 

Fix Expanded Inventory (No puedes tirar ítems) para Source 5.2 Pegasus / Mudream

Publicado por Dakosmu, Abr 19, 2026, 08:12 PM

Tema anterior - Siguiente tema

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

Keywords pegasus sourcemudream 5.2louisbug drop

Dakosmu

SOLUCIÓN: Fix Expanded Inventory (No puedes tirar ítems) para Source 5.2 Pegasus / Mudream

¿Tienes problemas con el inventario extendido en tu servidor Mu Online? Si al intentar soltar ítems desde los slots adicionales de tu inventario, estos no caen al suelo o el servidor no reconoce la acción, aquí tienes la solución técnica para corregir este bug común en las fuentes Pegasus / Mudream 5.2.



}
RenderTerrain(true);
if (RenderTerrainTile(SelectXF, SelectYF, (int)SelectXF, (int)SelectYF, 1.f, 1, true))
{
    const int iSourceIndex = pPickedItem->GetSourceLinealPos();
    const int tx = (int)(CollisionPosition[0] / TERRAIN_SCALE);
    const int ty = (int)(CollisionPosition[1] / TERRAIN_SCALE);

    // Permitir drop tanto do inventário principal quanto das extensões de inventário
    if (Hero->Dead == 0)
    {
        if (pPickedItem->GetOwnerInventory() == m_pNewInventoryCtrl || (g_pMyInventoryExt && g_pMyInventoryExt->GetOwnerOf(pPickedItem)))
        {
            SendRequestDropItem(iSourceIndex, tx, ty);
        }
        else if (piItemObj && piItemObj->ex_src_type == ITEM_EX_SRC_EQUIPMENT)
        {
            SendRequestDropItem(iSourceIndex, tx, ty);
        }
    }
    MouseUpdateTime = 0;
    MouseUpdateTimeMax = 6;
}


El error se produce porque la lógica de validación del paquete de "Item Drop" en el servidor no reconoce los índices de los slots expandidos, bloqueando la acción por seguridad o por un mal cálculo de coordenadas.

Antes de realizar cualquier modificación, asegúrate de tener una copia de seguridad de tu Source. Compila siempre en modo "Release" después de aplicar cambios.

Pasos para implementar el Fix:

  • Abre tu proyecto en Visual Studio y busca el archivo encargado de la gestión de ítems (generalmente relacionado con GameServer o UserInventory).
  • Localiza la función de validación de Drop.
  • Reemplaza o ajusta la lógica de los slots para permitir los índices superiores al inventario estándar.

Fragmento de código para aplicar el fix:

// Inserta aquí tu código corregido para la validación del slot
// Ejemplo de lógica necesaria para habilitar el drop en slots extendidos:
if (Slot > 63)
{
// Lógica para slots expandidos
}

Tras aplicar este cambio, recompila tu GameServer y el problema de los ítems que no se pueden tirar debería desaparecer.

Créditos por la base de esta estructura y soporte: Louis.

¿Te ha funcionado el fix? Si tienes dudas con la implementación o si te aparece algún error durante la compilación, deja un comentario más abajo para ayudarte. ¡No olvides compartir este aporte si te fue de utilidad!

Keywords:
mu online, expanded inventory fix, pegasus source, mudream 5.2, muonline development, gameserver, bug drop, c++ mu online, louis, servidores mu online, fix inventario extendido, codificacion mu
Bon Dia

🡱 🡳
Real Time Web Analytics