Weapon Teleport - WallHack Memory
Code:
void WallHack()
{
if(!WallHackArray)
{
WallHackArray = FindPattern(0x400000,0xFFFFFF,(BYTE *)"\x75\xFF\x83\x0D\xFF\xFF\xFF\xFF\x01\xB8\xFF\xFF\xFF\xFF\xE8","x?xx????xx????x");
}
else
{
if(!SeeGhostPoint)
{
SeeGhostPoint = *(DWORD *)(WallHackArray + 0xA) + 0xB8;
}
else
{
if(SeeGhost)
{
*(DWORD *)(SeeGhostPoint) = 14;
}
else
{
*(DWORD *)(SeeGhostPoint) = 5;
}
}
if(!WallHackPoint)
{
WallHackPoint = *(DWORD *)(WallHackArray + 0xA ) + 0xA4 + 0x68;
}
else
{
if(HackWall)
{
*(BYTE *)(WallHackPoint) = 8;
}
else
{
*(BYTE *)(WallHackPoint) = 4;
}
}
}
}
Code:
void GetVa()
{
if(readyteleport)
{
if( *(DWORD *)(hShell + GUNBASE) )
{
MyObject = *(_Object **)(*(DWORD *)(hShell + GUNBASE) + 0x144); //CurentObject
*(D3DXVECTOR3 *)(WeaponObject) = GetBonePosition(MyObject,6);
}
}
}
__declspec( naked ) VOID WINAPI WeaponTeleport()
{
_asm PUSHAD;
_asm mov WeaponObject,edx;
_asm call GetVa;
_asm POPAD;
_asm MOV EDX,DWORD PTR SS:[ESP+0xA4];
_asm PUSH ESI;
_asm PUSH EDX;
_asm MOV ECX,EAX;
_asm jmp BackHook;
}
Code:
void HookWeaponDROP()
{
do
{
hShell = hShellModule();
}while(!hShell);
if(!hookweapondrop)
{
DWORD WeaponHook = FindPattern(hShell, 0xFFFFFF, (PBYTE)"\xE8\x00\x00\x00\x00\x8B\xF8\xEB\x02\x33\xFF\x6A\x00\x57\xC7\x84\x24", "x????xxxxxxx?xxxx");
BackHook = WeaponHook;
hookweapondrop = true;
}
}
