PDA

View Full Version : |Source| Correção personal id ao colocar senha no bau.



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