1
Papelera de reciclaje General / Re: MuServer Season12 Episode1 + Source Code
« Posteado: January 12, 2024, 09:10:26 AM »
CLIENT?tem client??
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
só me chamar no pvt belezathank ;)
Pode me ajudar?
PMSG_STATS_ADVANCE
PBMSG_HEAD2 h;
no arquivo StatsAdvance.h
///Controller.cppController gController;///104e
// ----------------------------------------------------------------------------------------------
void __declspec(naked) iconHook()
{
static DWORD dwIcon = (DWORD)LoadIcon(gController.Instance, MAKEINTRESOURCE(IDI_ICON1));///chuckhai icoi
static DWORD dwJmp = 0x004D0E3C;
_asm
{
MOV EAX, dwIcon
JMP dwJmp
}
}
bool Controller::Load()
{
this->VKF9_State = 0;
if( !this->MouseHook )
{
this->MouseHook = SetWindowsHookEx(WH_MOUSE, this->Mouse, gController.Instance, GetCurrentThreadId());
// ----
if( !this->MouseHook )
{
return false;
}
}
// ----
if( !this->KeyboardHook )
{
this->KeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, this->Keyboard, gController.Instance, NULL);
// ----
if( !this->KeyboardHook )
{
return false;
}
}
//chuckhai icoi
SetRange((LPVOID)0x004D0E2F, 13, ASM::NOP);
SetOp((LPVOID)0x004D0E2F, iconHook, ASM::CALL);///icoi
return true;
}
// ----------------------------------------------------------------------------------------------
LRESULT Controller::Mouse(int Code, WPARAM wParam, LPARAM lParam)
{
if( GetForegroundWindow() != *(HWND*)(MAIN_WINDOW) )
{
return CallNextHookEx(gController.MouseHook, Code, wParam, lParam);
}
MOUSEHOOKSTRUCTEX * Mouse = (MOUSEHOOKSTRUCTEX*)lParam;
switch(wParam)
{
break;
case WM_LBUTTONUP:
case WM_LBUTTONDOWN:
{
if(GetForegroundWindow() == *(HWND*)(MAIN_WINDOW))
{
gController.ProcInterface(wParam);
if (gNewInterface.EventAllWindow(wParam,Mouse) == true)
{
return 1;
}
}
}
break;
}
// ----
return CallNextHookEx(gController.MouseHook, Code, wParam, lParam);
}
// ----------------------------------------------------------------------------------------------
LRESULT Controller::Keyboard(int Code, WPARAM wParam, LPARAM lParam)
{
if (Code < 0) return CallNextHookEx(gController.KeyboardHook, Code, wParam, lParam);
if( (Code == HC_ACTION) && (wParam == WM_KEYDOWN))
{
KBDLLHOOKSTRUCT Hook = *((KBDLLHOOKSTRUCT*)lParam);
// ----
if( GetForegroundWindow() == *(HWND*)(MAIN_WINDOW) )
{
if (gInterface.ControlTextBox(Hook))
{
return 1;
}
}
// ----
switch(Hook.vkCode)
{
case VK_F12:///chuckhai fix ctr + f12 fullll
{
if( gTrayMode.TempWindowProc == NULL )
{
gTrayMode.TempWindowProc = SetWindowLong(*(HWND*)(MAIN_WINDOW), GWL_WNDPROC, (long)gController.Window);
}
// ----
gTrayMode.SwitchState();
}
default:
break;
// --
}
}
return (LRESULT)NULL;
}
¿Cómo uso tu código?
1.04.05?
#include "Import.h"
if (GetForegroundWindow() != pGameWindow)
{
return CallNextHookEx(gController.KeyboardHook, Code, wParam, lParam);
}
Controller gController;///104e
// ----------------------------------------------------------------------------------------------
void __declspec(naked) iconHook()
{
static DWORD dwIcon = (DWORD)LoadIcon(gController.Instance, MAKEINTRESOURCE(IDI_ICON1));///chuckhai icoi
static DWORD dwJmp = 0x004D0E3C;
_asm
{
MOV EAX, dwIcon
JMP dwJmp
}
}
bool Controller::Load()
{
this->VKF9_State = 0;
if( !this->MouseHook )
{
this->MouseHook = SetWindowsHookEx(WH_MOUSE, this->Mouse, gController.Instance, GetCurrentThreadId());
// ----
if( !this->MouseHook )
{
return false;
}
}
// ----
if( !this->KeyboardHook )
{
this->KeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, this->Keyboard, gController.Instance, NULL);
// ----
if( !this->KeyboardHook )
{
return false;
}
}
//chuckhai icoi
SetRange((LPVOID)0x004D0E2F, 13, ASM::NOP);
SetOp((LPVOID)0x004D0E2F, iconHook, ASM::CALL);///icoi
return true;
}
// ----------------------------------------------------------------------------------------------
LRESULT Controller::Mouse(int Code, WPARAM wParam, LPARAM lParam)
{
if( GetForegroundWindow() != *(HWND*)(MAIN_WINDOW) )
{
return CallNextHookEx(gController.MouseHook, Code, wParam, lParam);
}
MOUSEHOOKSTRUCTEX * Mouse = (MOUSEHOOKSTRUCTEX*)lParam;
switch(wParam)
{
break;
case WM_LBUTTONUP:
case WM_LBUTTONDOWN:
{
if(GetForegroundWindow() == *(HWND*)(MAIN_WINDOW))
{
gController.ProcInterface(wParam);
if (gNewInterface.EventAllWindow(wParam,Mouse) == true)
{
return 1;
}
}
}
break;
}
// ----
return CallNextHookEx(gController.MouseHook, Code, wParam, lParam);
}
// ----------------------------------------------------------------------------------------------
LRESULT Controller::Keyboard(int Code, WPARAM wParam, LPARAM lParam)
{
if (Code < 0) return CallNextHookEx(gController.KeyboardHook, Code, wParam, lParam);
if( (Code == HC_ACTION) && (wParam == WM_KEYDOWN))
{
KBDLLHOOKSTRUCT Hook = *((KBDLLHOOKSTRUCT*)lParam);
// ----
if( GetForegroundWindow() == *(HWND*)(MAIN_WINDOW) )
{
if (gInterface.ControlTextBox(Hook))
{
return 1;
}
}
// ----
switch(Hook.vkCode)
{
case VK_F12:///chuckhai fix ctr + f12 fullll
{
if( gTrayMode.TempWindowProc == NULL )
{
gTrayMode.TempWindowProc = SetWindowLong(*(HWND*)(MAIN_WINDOW), GWL_WNDPROC, (long)gController.Window);
}
// ----
gTrayMode.SwitchState();
}
default:
break;
// --
}
}
return (LRESULT)NULL;
}
Olá,
sabes offset para Main version 1.04.05?