Main 5.2Pega Background: Some casting skills played standing animations while mo - Source Mu - Mu Server Files
 

Main 5.2Pega Background: Some casting skills played standing animations while mo

Publicado por Dakosmu, Dic 05, 2025, 06:41 PM

Tema anterior - Siguiente tema

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

Dakosmu

✅ Guía de Reparación: Animación de Magia Montada para Dark Horse (Caballo Oscuro) ✅

Esta guía detalla los pasos para modificar la función SetPlayerMagic en el archivo ZzzCharacter.cpp. El objetivo es asegurar que al lanzar magia o habilidades estando montado en el Caballo Oscuro, se utilice la animación correcta de lanzamiento montado (PLAYER_ATTACK_RIDE_ATTACK_MAGIC).

---

📍 Archivos y Funciones Afectadas
  • Archivo: ZzzCharacter.cpp
  • Función a Modificar: void SetPlayerMagic(CHARACTER* c)

📝 Contenido de la Reparación

Objetivo: En SetPlayerMagic, agregar la rama para el Caballo Oscuro (MODEL_HELPER + 4) para que ejecute la animación de lanzamiento montado (PLAYER_ATTACK_RIDE_ATTACK_MAGIC).

Código de Reemplazo Completo

A continuación se muestra el código completo de la función void SetPlayerMagic(CHARACTER* c) que debe reemplazar a la versión anterior en ZzzCharacter.cpp.

void SetPlayerMagic(CHARACTER* c)
{
    OBJECT* o = &c->Object;
    if (o->Type == MODEL_PLAYER)
    {
        SetAttackSpeed();
        if ((c->Helper.Type == MODEL_HELPER + 2 || c->Helper.Type == MODEL_HELPER + 3) && !c->SafeZone)
        {
            SetAction(o, PLAYER_RIDE_SKILL);
        }
        else if ((c->Helper.Type == MODEL_HELPER + 4 || gCustomPet2.GetInfoPetType(c->Helper.Type - 1171) == 6) && !c->SafeZone)
        {
            SetAction(o, PLAYER_ATTACK_RIDE_ATTACK_MAGIC);
        }
        else if ((c->Helper.Type == MODEL_HELPER + 37 || gCustomPet2.GetInfoPetType(c->Helper.Type - 1171) == 5) && !c->SafeZone)
        {
            SetAction(o, PLAYER_FENRIR_ATTACK_MAGIC);
        }
        else
        {
            if (gCharacterManager.IsFemale(c->Class))
                SetAction(o, PLAYER_SKILL_ELF1);
            else
                SetAction(o, PLAYER_SKILL_HAND1 + rand() % 2);
        }
    }
    else
    {
        if (c->SwordCount % 3 == 0)
            SetAction(&c->Object, MONSTER01_ATTACK1);
        else
            SetAction(&c->Object, MONSTER01_ATTACK2);
        c->SwordCount++;
    }
}

➡️ Paso a Paso para la Implementación
  • Localizar el Archivo: Abra el archivo ZzzCharacter.cpp en su entorno de desarrollo.
  • Buscar la Función: Busque la función completa void SetPlayerMagic(CHARACTER* c).
  • Reemplazar el Código: Reemplace completamente la función existente con el código proporcionado arriba.
  • Guardar y Compilar: Guarde los cambios y recompile su proyecto de cliente/servidor para que los cambios surtan efecto.
  • Prueba: Pruebe el juego. Ahora, al usar magia montado en el Caballo Oscuro, debería verse la animación correcta de lanzamiento montado (PLAYER_ATTACK_RIDE_ATTACK_MAGIC).

---
¡Reparación completa y probada! Si tiene alguna pregunta, no dude en consultarla.
Bon Dia

🡱 🡳
Real Time Web Analytics