WhatsApp Discord
Tutorial Main 5.2 — Migrar ACuoi_GiftCode a tu Source 5.2 - Source Mu - Mu Server Files
 

Tutorial Main 5.2 — Migrar ACuoi_GiftCode a tu Source 5.2

Publicado por Dakosmu, Abr 11, 2026, 09:53 PM

Tema anterior - Siguiente tema

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

Dakosmu

Tutorial Main 5.2 — Migrar ACuoi_GiftCode a tu Source 5.2

Regístrate para ver el enlace

Este sistema cuenta con 6 puntos de integración distribuidos en 5 archivos, además de los 2 archivos propios del sistema. Sigue el orden exacto para garantizar una migración exitosa.

PASO 1 — Copiar los archivos propios
Crea la carpeta ThangCuoi/ dentro de tu proyecto si no existe, y agrega estos dos archivos tal cual los tienes del source 5.2:


ThangCuoi/ACuoi_GiftCode.h
ThangCuoi/ACuoi_GiftCode.cpp


Agrega ambos al proyecto de Visual Studio (clic derecho → Add Existing Item).

PASO 2 — _enum.h
Busca el bloque de interfaces custom que empieza en INTERFACE_MEMNUOPTION = 108. Agrega INTERFACE_GIFTCODE en esa lista:


INTERFACE_MEMNUOPTION = 108,
INTERFACE_RANKING,
INTERFACE_EVENTITME,
INTERFACE_EVENRELIFE,
INTERFACE_AUTORESET,
INTERFACE_GIFTCODE,        // ← AGREGA ESTA LÍNEA
// ... resto de tus interfaces


El orden y número importa porque es un enum secuencial. Ponlo exactamente entre INTERFACE_AUTORESET y la siguiente que ya tengas.

PASO 3 — NewUISystem.h
3a) Include: Al final del bloque de #include de ThangCuoi:

#include <ThangCuoi/ACuoi_GiftCode.h>


3b) Miembro privado: En la sección private de la clase CNewUISystem:

CNewUIGiftCode* m_pNewUIGiftCode;


3c) Getter público: En la sección public:

CNewUIGiftCode* Get_pNewUIGiftCode()    const;


PASO 4 — NewUISystem.cpp
4a) Instanciación: Dentro de la función Create(), justo después de otro panel custom:

m_pNewUIGiftCode = new CNewUIGiftCode;
if (m_pNewUIGiftCode->Create(m_pNewUIMng, (640 - 270) / 2, 55) == false)
return false;


4b) Lista de Hide-all: Busca la lista que termina en 0, y agrega:

INTERFACE_GIFTCODE,


4c) Getter: Al final del archivo:

CNewUIGiftCode* CNewUISystem::Get_pNewUIGiftCode() const
{
return m_pNewUIGiftCode;
}


PASO 5 — ZzzInterface.cpp
Busca el bloque de || g_pNewUISystem->IsVisible(...) y agrega:

|| g_pNewUISystem->IsVisible(SEASON3B::INTERFACE_GIFTCODE) == true


Busca donde se llama Hide() en cadena y agrega:

g_pNewUISystem->Hide(SEASON3B::INTERFACE_GIFTCODE);


Esto debe ir junto a líneas como Hide(SEASON3B::INTERFACE_EVENRELIFE) para que el panel se cierre al abrir el inventario.

PASO 6 — NewUIHotKey.cpp
Agrega la comprobación de visibilidad para las hotkeys:

|| g_pNewUISystem->IsVisible(SEASON3B::INTERFACE_GIFTCODE) == true


PASO 7 — ThangCuoi/NewUIMenu.cpp (Botón de apertura)
Asigna un botón libre (por defecto el 14 en source 5.2):

if (m_Btn[14].UpdateMouseEvent())
{
g_pNewUISystem->Toggle(SEASON3B::INTERFACE_GIFTCODE);
g_pNewUISystem->Hide(SEASON3B::INTERFACE_MEMNUOPTION);
PlayBuffer(SOUND_CLICK01);
return true;
}


PASO 8 — Asset de textura
Ubicación obligatoria del archivo TGA:

Interface\JhonaTanLR\Gifcode.tga


Sin este archivo la imagen decorativa no será visible en el juego.

Resumen de archivos modificados
  • ThangCuoi/ACuoi_GiftCode.h/cpp: Archivos nuevos.
  • _enum.h: INTERFACE_GIFTCODE en el enum.
  • NewUISystem.h/cpp: Miembro, Create y Getter.
  • ZzzInterface.cpp / NewUIHotKey.cpp: Visibilidad y Hide.
  • ThangCuoi/NewUIMenu.cpp: Botón Toggle.

Si tienes alguna duda con los offsets o el botón del menú, ¡comenta en este post!
Bon Dia

🡱 🡳
Real Time Web Analytics