antoniofr
26/02/2015, 03:40 PM
CORREÇÃO PARA A VERSÃO 97D+99I
Remove a exibição do box.
*(BYTE*)(0x0042350B) = 0xEB;
*(BYTE*)(0x0042359E) = 0xEB;
Função para trancar / destrancar o baú refeita.
void GWarePass::GCWarePassSend(int aIndex, PMSG_WAREHOUSEPASSSEND *lpMsg)
{
switch(lpMsg->Type)
{
case 0:
{
if(lpMsg->Pass != lpObj[aIndex].WarehousePW)
{
GCWarehouseStateSend(aIndex, 10);
return;
}
else
{
lpObj[aIndex].WarehouseLock = 0;
lpObj[aIndex].WarehousePW = 0;
GCWarehouseStateSend(aIndex, lpObj[aIndex].WarehouseLock);
GCWarehouseRecivePassword(aIndex,lpMsg);
}
}
break;
case 1:
{
lpObj[aIndex].WarehouseLock = 1;
lpObj[aIndex].WarehousePW = lpMsg->Pass;
GCWarehouseStateSend(aIndex, lpObj[aIndex].WarehouseLock);
}
break;
case 2:
{
if(lpMsg->Pass != lpObj[aIndex].WarehousePW)
{
GCWarehouseStateSend(aIndex, 10);
return;
}
else
{
GCWarehouseStateSend(aIndex, 0);
GCWarehouseRecivePassword(aIndex,lpMsg);
}
}
break;
}
GCWarehouseRecivePassword(aIndex,lpMsg);
}
Função original GCWarehouseRecivePassword
Offsets.h
typedef void (*pGCWarehouseRecivePassword)(int aIndex, PMSG_WAREHOUSEPASSSEND *lpMsg);
extern pGCWarehouseRecivePassword GCWarehouseRecivePassword;
Offsets.cpp
pGCWarehouseRecivePassword GCWarehouseRecivePassword = (pGCWarehouseRecivePassword)0x00423400;
Função GCWarehouseStateSend original
Offsets.h
typedef void (*pGCWarehouseStateSend)(int aIndex, char state);
extern pGCWarehouseStateSend GCWarehouseStateSend;
Offsets.cpp
pGCWarehouseStateSend GCWarehouseStateSend = (pGCWarehouseStateSend)0x004233A0;
Offset para hook
004029C3 $ E9 380A0200 JMP GameServ.00423400
Struct
struct PMSG_WAREHOUSEPASSSEND
{
PBMSG_HEAD h;
char Type;
short Pass;
char LastJoominNumber[10];
};
Créditos: antonio.fr
Remove a exibição do box.
*(BYTE*)(0x0042350B) = 0xEB;
*(BYTE*)(0x0042359E) = 0xEB;
Função para trancar / destrancar o baú refeita.
void GWarePass::GCWarePassSend(int aIndex, PMSG_WAREHOUSEPASSSEND *lpMsg)
{
switch(lpMsg->Type)
{
case 0:
{
if(lpMsg->Pass != lpObj[aIndex].WarehousePW)
{
GCWarehouseStateSend(aIndex, 10);
return;
}
else
{
lpObj[aIndex].WarehouseLock = 0;
lpObj[aIndex].WarehousePW = 0;
GCWarehouseStateSend(aIndex, lpObj[aIndex].WarehouseLock);
GCWarehouseRecivePassword(aIndex,lpMsg);
}
}
break;
case 1:
{
lpObj[aIndex].WarehouseLock = 1;
lpObj[aIndex].WarehousePW = lpMsg->Pass;
GCWarehouseStateSend(aIndex, lpObj[aIndex].WarehouseLock);
}
break;
case 2:
{
if(lpMsg->Pass != lpObj[aIndex].WarehousePW)
{
GCWarehouseStateSend(aIndex, 10);
return;
}
else
{
GCWarehouseStateSend(aIndex, 0);
GCWarehouseRecivePassword(aIndex,lpMsg);
}
}
break;
}
GCWarehouseRecivePassword(aIndex,lpMsg);
}
Função original GCWarehouseRecivePassword
Offsets.h
typedef void (*pGCWarehouseRecivePassword)(int aIndex, PMSG_WAREHOUSEPASSSEND *lpMsg);
extern pGCWarehouseRecivePassword GCWarehouseRecivePassword;
Offsets.cpp
pGCWarehouseRecivePassword GCWarehouseRecivePassword = (pGCWarehouseRecivePassword)0x00423400;
Função GCWarehouseStateSend original
Offsets.h
typedef void (*pGCWarehouseStateSend)(int aIndex, char state);
extern pGCWarehouseStateSend GCWarehouseStateSend;
Offsets.cpp
pGCWarehouseStateSend GCWarehouseStateSend = (pGCWarehouseStateSend)0x004233A0;
Offset para hook
004029C3 $ E9 380A0200 JMP GameServ.00423400
Struct
struct PMSG_WAREHOUSEPASSSEND
{
PBMSG_HEAD h;
char Type;
short Pass;
char LastJoominNumber[10];
};
Créditos: antonio.fr