//==========================================================================
//-- GM Windows 7 e Windows Vista
//==========================================================================
BYTE GMVista[2] = {0xEB, 0x42};
memcpy((int*)0x00509FDC, GMVista, sizeof(GMVista));
//==========================================================================
//-- FIX DISCONNECT RANKING SERVER
//==========================================================================
*(BYTE*)(0x004CB53E) = 0xEB;
//==========================================================================
//-- Protocol Error Fix & Outros Fixs
//==========================================================================
BYTE bProtocolErrorFix[] = { 0xE9, 0x9F, 0x0E, 0x00, 0x00, 0x90, 0x90 };
memcpy((LPBYTE)0x0045B092, bProtocolErrorFix, sizeof(bProtocolErrorFix));
BYTE bErrorL2Fix[] = { 0xEB, 0x2A, 0x90 };
memcpy((LPBYTE)0x004B7AFB, bErrorL2Fix, sizeof(bErrorL2Fix));
BYTE bInvalidSocketFix[] = { 0xEB, 0x13, 0x90 };
memcpy((LPBYTE)0x004B87CC, bInvalidSocketFix, sizeof(bInvalidSocketFix));
BYTE bInvalidScoketFix2[] = { 0xEB, 0x22, 0x90 };
memcpy((LPBYTE)0x004B87FB, bInvalidScoketFix2, sizeof(bInvalidScoketFix2));
BYTE bFixLuckDrop[7] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 };
memcpy((LPBYTE)0x004A58C0, bFixLuckDrop, sizeof(bFixLuckDrop));
BYTE bSoulNoLuck[3] = { 0xC0, 0x74, 0x69 };
memcpy((LPBYTE)0x0053D226, bSoulNoLuck, sizeof(bSoulNoLuck));
//==========================================================================
//-- Skip Speed Hack Check Fix
//==========================================================================
BYTE bSkipSpeedHackCheck[] = {0x5F, 0x5E, 0x5B, 0x8B, 0xE5, 0x5D, 0xC3, 0x90, 0x90, 0x90};
memcpy((LPBYTE) 0x0043A4FD, bSkipSpeedHackCheck, sizeof(bSkipSpeedHackCheck));
//==========================================================================
//-- GM Transformação Ring
//==========================================================================
BYTE JumpGMCode[] = {0xE9 ,0x3E, 0x08, 0x00, 0x00, 0x90, 0x90, 0x90};
memcpy((int*)0x00535AB8,JumpGMCode,sizeof(JumpGMCode));
BYTE PachtGMCode[] = {0x83, 0xC2, 0x2E, 0x89, 0x95, 0x6C, 0xEC, 0xFF, 0xFF,
0xE9, 0xB7, 0xF7, 0xFF, 0xFF};
memcpy((int*)0x005362FB,PachtGMCode,sizeof(PachtGMCode));
//==========================================================================
//-- Box of Kundum Drop
//==========================================================================
Util.SetNop(0x004A58C0,7);
Util.SetNop(0x004A58CE,7);
//==========================================================================
//-- GM Move "M" Key
//==========================================================================
*(BYTE*)(0x00567095) = 0xE9;
*(BYTE*)(0x00567096) = 0xF5;
*(BYTE*)(0x00567097) = 0x00;
*(BYTE*)(0x005670B8) = 0x90;
*(BYTE*)(0x005670B9) = 0x8B;
//==========================================================================
//-- [ANTI-HACK][Serial 0 Item] Fix
//==========================================================================
BYTE Serial0[9] = { 0xE9, 0x90, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90 };
memcpy((int*) 0x00548D50,Serial0,sizeof(Serial0));
BYTE Serial0UseItem[6] = { 0xE9, 0xAD, 0x00, 0x00, 0x00, 0x90 };
memcpy ((int*) 0x0045CE76, Serial0UseItem, sizeof(Serial0UseItem));
BYTE Serial0SellItem[6] = { 0xE9, 0x81, 0x00, 0x00, 0x00, 0x90 };
memcpy ((int*) 0x00448A36, Serial0SellItem, sizeof(Serial0SellItem));
BYTE Serial0PSHop[6] = { 0xE9, 0xB0, 0x00, 0x00, 0x00, 0x90 };
memcpy ((int*) 0x0044CB4A, Serial0PSHop, sizeof(Serial0PSHop));
BYTE Serial0BPSHop[6] = { 0xE9, 0xAE, 0x00, 0x00, 0x00, 0x90 };
memcpy ((int*) 0x0044ED0C, Serial0BPSHop, sizeof(Serial0BPSHop));
*(BYTE*)(0x0044248D) = 0xEB;
*(BYTE*)(0x00525CB5) = 0xEB;
*(BYTE*)(0x00529694) = 0xEB;
*(BYTE*)(0x0052A0D8) = 0xEB;
*(BYTE*)(0x00551266) = 0xEB;
*(BYTE*)(0x00551BF6) = 0xEB;
//==========================================================================
//-- Pk Kill Fix
//==========================================================================
*(BYTE*)(0x004DB385) = 0xEB;
*(BYTE*)(0x004DB764) = 0xEB;
*(BYTE*)(0x004DB7F2) = 0xEB;
*(BYTE*)(0x005DFFAA) = 0xEB;