Well I had time so I rewrote it up myself. I'm not sure if it will work or not, or even if I have the right PlayerPointer, and it still needs a bypass, but here you go:
[php]
#include <windows.h>
#include <stdio.h>
DWORD* Player = (DWORD*)0x11868d00;
float saveX, saveY, saveZ;
float prevX, prevY, prevZ;
DWORD X = 0x18c;
DWORD Y = 0x194;
DWORD Z = 0x190;
DWORD WINAPI SetTeleportCoor(LPVOID);
DWORD WINAPI ArrayTeleport(LPVOID);
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)ArrayTeleport, NULL, NULL, NULL);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)SetTeleportCoor, NULL, NULL, NULL);
}
return TRUE;
}
DWORD WINAPI SetTeleportCoor(LPVOID)
{
for(;
{
if(*Player)
{
if(GetAsyncKeyState(VK_NUMPAD9)&1) // Saving Current Possition
{
saveX = *(Player + X);
saveY = *(Player + Y);
saveZ = *(Player + Z);
}
}
Sleep(20);
}
return 0;
}
DWORD WINAPI ArrayTeleport(LPVOID)
{
for(;
{
if(GetAsyncKeyState(VK_NUMPAD7)&1) //Teleport Forward
{
//save coordinates before telporting
prevX = *(Player + X);
prevY = *(Player + Y);
prevZ = *(Player + Z);
//teleport
*(float*)(Player+X) = saveX;
*(float*)(Player+Y) = saveY;
*(float*)(Player+Z) = saveZ;
}
if(GetAsyncKeyState(VK_NUMPAD8)&1) //Teleport Backward
{
*(float*)(Player+X) = prevX;
*(float*)(Player+Y) = prevY;
*(float*)(Player+Z) = prevZ;
}
Sleep(20);
}
return 0;
}
[/php]