Code:
#define GS_FIX28_1 (0x0042F2F4) // Support +28
#define GS_FIX28_2 (0x00501F86+3) // Support +28
#define GS_FIX28_3 (0x005573C4) // +28 Normal Items (Using Life)
#define GS_FIX28_4 (0x005378CE+2) // +28 for 380 Items (Using Life
#define GS_FIX28_5 (0x00501F4C) // +28 for 380 Items (Using Life
SetNop(GS_FIX28_1,2);
SetByte(GS_FIX28_2,0x07);
SetNop(GS_FIX28_3,2);
SetByte(GS_FIX28_4,0x07);
SetNop(GS_FIX28_5,2);
BYTE cFixPacketPerSecond[6] = {0xE9,0x42,0x01,0x00,0x00,0x90};
memcpy((int*)0x004B10FB,cFixPacketPerSecond,sizeof(cFixPacketPerSecond));
BYTE cFixPartyZen[31] = {0x8B,0x4D,0xE4,0x8B,0x55,0x0C,0x03,0xC9,0x03,0xC9,
0x03,0xC9,0x03,0xC9,0x81,0xC1,0x00,0x24,0x00,0x00,0x89,
0x8A,0xD8,0x00,0x00,0x00,0xE9,0x83,0xFC,0xFF,0xFF};
memcpy((int*)0x005174E7,cFixPartyZen,sizeof(cFixPartyZen));
BYTE cFixPartyZen2[12] = {0xE9,0x65,0x03,0x00,0x00,0x90,0x90,0x90,0x90,0x90,0x90,0x90};
memcpy((int*)0x0051717D,cFixPartyZen2,sizeof(cFixPartyZen2));
void __declspec(naked) GetQueComplStatusFix()
{
_asm
{
//004B1D9E Hook, JMP back 004B1DA7
CMP DWORD PTR SS:[EBP-0x30],0x3E3 //Original
JE 0x004B1DD9;
CMP DWORD PTR SS:[EBP-0x30],0x79 //121 Error
JE 0x004B1DD9;
mov esi, 0x004B1DA7;
jmp esi;
}
}
*(unsigned int*)0x0071B500 = (unsigned int)GetQueComplStatusFix;
#define DELETEGUILD (0x00450376)
#define LEAVEGUILD1 (0x0045048D)
#define LEAVEGUILD2 (0x004504AC)
#define LEAVEGUILD3 (0x004504E9)
#define DELETECHAR (0x0043B9D6)
memset((PBYTE)DELETEGUILD,0x90,6); //DELETE GUILD
memset((PBYTE)LEAVEGUILD1,0x90,2); // FIX LEAVE GUILD
memset((PBYTE)LEAVEGUILD2,0x90,5); // FIX LEAVE GUILD
memset((PBYTE)LEAVEGUILD3,0x90,2); // FIX LEAVE GUILD
memset((PBYTE)DELETECHAR,0x90,5); // fix delete char
Some important Fixs...