resource.h#define IDI_ICON1 109#define IDI_ICON2 110#define IDI_ICON3 111#define IDI_ICON4 112#define IDI_ICON5 113
Main.rcIDI_ICON1 ICON "Main.ico"IDI_ICON2 ICON "MainEx.ico"IDI_ICON3 ICON "MainSx.ico"IDI_ICON4 ICON "MainFx.ico"IDI_ICON5 ICON "MainGx.ico"
Controller.cppvoid __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 } }}
MainInfo.ini//====================================================================================//-> Custom Client Icon Type// 0 - Padrao// 1 - MainEx// 2 - MainSx// 3 - MainFx// 4 - MainGx//====================================================================================CustomClientIconType = 3
GetMainInfo.cppWORD CustomClientIconType;info.CustomClientIconType = GetPrivateProfileInt("UPGRADE", "CustomClientIconType", 0, ".\\MainInfo.ini");
Potect.hWORD CustomClientIconType;