Source Party List HP-SD Main 5.2

Source Party List HP-SD Main 5.2

Source Party List HP-SD Main 5.2

Source Party List HP-SD Main 5.2
Source Party List HP-SD Main 5.2

Resumen General

En esta publicación, exploraremos el código fuente de la lista de miembros del grupo (party list) en la versión 5.2. Este código es fundamental para gestionar la información del estado de salud (HP) y escudo (SD) de los personajes en el juego, especialmente en plataformas como MuEmu y SSEMu. Aprenderemos a mejorar la funcionalidad de la interfaz de usuario para ofrecer una mejor experiencia de juego.

Secciones Clave del Código

1. Main – NewUIPartyListWindow.cpp

Método Render

bool CNewUIPartyListWindow::Render() {
    if (!m_bActive) return true;

    EnableAlphaTest();
    glColor4f(1.f, 1.f, 1.f, 1.f);
    
    g_pRenderText->SetFont(g_hFont);
    g_pRenderText->SetTextColor(255, 255, 255, 255);
    g_pRenderText->SetBgColor(0, 0, 0, 0);
    
    for (int i = 0; i < PartyNumber; i++) {
        // Lógica para renderizar la lista de miembros del grupo
        // Se dibujan los fondos y se establecen colores según el estado del miembro
        // Se renderizan las imágenes de HP y SD para cada miembro del grupo
    }
    
    DisableAlphaBlend();
    return true;
}
  • Propósito: Este método renderiza la interfaz de usuario para la lista de miembros del grupo, mostrando cada miembro con su nombre, HP y SD.
  • Características:
    • Colores para indicar el estado de los miembros.
    • Barras de vida (HP) y escudo (SD) para cada miembro.

2. Wsclient.cpp

Método ReceivePartyList

void ReceivePartyList(BYTE* ReceiveBuffer) {
    LPPRECEIVE_PARTY_LISTS Data = (LPPRECEIVE_PARTY_LISTS)ReceiveBuffer;
    int Offset = sizeof(PRECEIVE_PARTY_LISTS);
    PartyNumber = Data->Count;
    for (int i = 0; i < Data->Count; i++) {
        // Se recibe la información de cada miembro del grupo
    }
    g_ConsoleDebug->Write(MCD_RECEIVE, "0x42 [ReceivePartyList(partynum : %d)]", Data->Count);
}
  • Propósito: Este método recibe la lista de miembros del grupo del servidor y actualiza la información local.
  • Características:
    • Actualiza el número de miembros del grupo y copia la información desde el buffer recibido.

3. Modificaciones en Wsclient.h y _struct.h

  • Adición de nuevos campos: Se han añadido campos para almacenar el estado actual y máximo del escudo (SD) de los miembros del grupo.
  • Métodos para enviar y recibir información: Se han modificado o añadido métodos para manejar el envío y recepción de la información del escudo.

Ejemplo de Modificación

Adición de campos en Wsclient.h:

int CurSD; // Estado actual del escudo
int MaxSD; // Máximo escudo

Conclusión

La implementación de estos cambios en la lista de miembros del grupo en la versión 5.2 mejora significativamente la gestión de la interfaz de usuario en MuEmu y SSEMu. Los jugadores ahora pueden ver de manera más clara el estado de sus compañeros de grupo en términos de HP y SD, lo que resulta en una experiencia de juego más fluida y agradable. Además, la sincronización de información entre el cliente y el servidor se asegura, garantizando que todos los datos sean precisos y actualizados.

Enlace al Video

Enlace de Descarga

Enlaces Internos

  1. Añadir Sockets Manualmente a Armas y Escudos en MuOnline
  2. Publicaciones de Octubre 2024
  3. Cambiar Armas en el Evento Chaos Castle de MuOnline Season 6
  4. Foro
  5. Whasapp

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *