Autor Tema: Change Main Icon by GetMainInfo  (Leído 2218 veces)

Desconectado Betell Host

  • *
  • *


  • 670

    118

    1114
  • br
  • Betell Host Configurações MuOnline
Código para mudar o Icon pelo GetMainInfo



ICON

Código
resource.h

#define IDI_ICON1                       109
#define IDI_ICON2                       110
#define IDI_ICON3                       111
#define IDI_ICON4                       112
#define IDI_ICON5                       113

Código
Main.rc

IDI_ICON1               ICON                    "Main.ico"
IDI_ICON2               ICON                    "MainEx.ico"
IDI_ICON3               ICON                    "MainSx.ico"
IDI_ICON4               ICON                    "MainFx.ico"
IDI_ICON5               ICON                    "MainGx.ico"

Código
Controller.cpp

void __declspec(naked) iconHook()
{
//- Custom Client Ico (S8)
if (gProtect.m_MainInfo.CustomClientIconType == 1)
{
static DWORD dwIcon = (DWORD)LoadIcon(gController.Instance, MAKEINTRESOURCE(IDI_ICON2));

static DWORD dwJmp = 0x004D0E3C;

_asm
{
MOV EAX, dwIcon
JMP dwJmp
}
}

//- Custom Client Ico (EX)
if (gProtect.m_MainInfo.CustomClientIconType == 2)
{
static DWORD dwIcon = (DWORD)LoadIcon(gController.Instance, MAKEINTRESOURCE(IDI_ICON3));

static DWORD dwJmp = 0x004D0E3C;

_asm
{
MOV EAX, dwIcon
JMP dwJmp
}
}

//- Custom Client Ico (Mu Plasma)
if (gProtect.m_MainInfo.CustomClientIconType == 3)
{
static DWORD dwIcon = (DWORD)LoadIcon(gController.Instance, MAKEINTRESOURCE(IDI_ICON4));

static DWORD dwJmp = 0x004D0E3C;

_asm
{
MOV EAX, dwIcon
JMP dwJmp
}
}

//- Custom Client Ico (Mu Plasma)
if (gProtect.m_MainInfo.CustomClientIconType == 4)
{
static DWORD dwIcon = (DWORD)LoadIcon(gController.Instance, MAKEINTRESOURCE(IDI_ICON5));

static DWORD dwJmp = 0x004D0E3C;

_asm
{
MOV EAX, dwIcon
JMP dwJmp
}
}

//- Custom Client Ico (Classic)
else
{
static DWORD dwIcon = (DWORD)LoadIcon(gController.Instance, MAKEINTRESOURCE(IDI_ICON1));

static DWORD dwJmp = 0x004D0E3C;

_asm
{
MOV EAX, dwIcon
JMP dwJmp
}
}
}

Código
MainInfo.ini

//====================================================================================
//-> Custom Client Icon Type
// 0 - Padrao
// 1 - MainEx
// 2 - MainSx
// 3 - MainFx
// 4 - MainGx
//====================================================================================
CustomClientIconType = 3

Código
GetMainInfo.cpp

WORD CustomClientIconType;



info.CustomClientIconType = GetPrivateProfileInt("UPGRADE", "CustomClientIconType", 0, ".\\MainInfo.ini");

Código
Potect.h
WORD CustomClientIconType;



Créditos

Emershow
BetellHost





« Última Modificación: Marzo 06, 2023, 06:40:15 pm por Betell Host »

Gracias:


 

.