Well as you guys know, most PTC commands now require you to call them via memory and the addresses have been released before, now after the patch many of you no longer have the PTC hacks since the address's location changed. I'm here to give you the Signature Scan for these addresses and the current address after the patch, enjoy
Jump
Code:
Main->Variables->dwJump = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x1D\x00\x00\x00\x00\xD9\xC9\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0", "xx????xxxx????xx????xx");
Main->Variables->dwJump = *(DWORD*)(DWORD)(Main->Variables->dwJump + 0x2);
Pickup Range
Code:
Main->Variables->dwActivationDistance = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x05\x00\x00\x00\x00\xEB\x2F\x80\x7F\x01\x00\x0F\x94\xC2\x88\x96\x93\x04\x00\x00", "xx????xxxxxxxxxxxxxxx");
Main->Variables->dwActivationDistance = *(DWORD*)(DWORD)(Main->Variables->dwActivationDistance + 0x2);
Speed
Code:
Main->Variables->dwBaseMoveAccel = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\xD9\xC1", "xx????xxxx????xx????xxxxxxxxx????xx????xxxx????xx????xxxxxxxxx????xxxxxx");
Main->Variables->dwBaseMoveAccel = *(DWORD*)(DWORD)(Main->Variables->dwBaseMoveAccel + 0x2);
Main->Variables->dwStartAccel = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x1D\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08\xD9\x1D\x00\x00\x00\x00", "xx????xxxx????xx????xxxxxxxxx????");
Main->Variables->dwStartAccel = *(DWORD*)(DWORD)(Main->Variables->dwStartAccel + 0x2);
Main->Variables->dwMaxAccel = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00", "xx????xxxxxxxx????xx????xxxxxxxxx????xx????xxxx????xx????xxxxxxxxx????xx????");
Main->Variables->dwMaxAccel = *(DWORD*)(DWORD)(Main->Variables->dwMaxAccel + 0x2);
Main->Variables->dwAccelInc = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xD9\x05\x00\x00\x00\x00\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2", "xx????xxxx????xx????xxxxxxxxx????xx????xxxx????xx????xxxx????xxxxxxx????xx");
Main->Variables->dwAccelInc = *(DWORD*)(DWORD)(Main->Variables->dwAccelInc + 0x2);
Main->Variables->dwWalkVel = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xD9\x05\x00\x00\x00\x00\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2", "xx????xxxx????xx????xxxx????xxxxxxx????xxxx????xx????xxxxxxxxx????xx");
Main->Variables->dwWalkVel = *(DWORD*)(DWORD)(Main->Variables->dwWalkVel + 0x2);
Main->Variables->dwFRunVel = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44", "xx????xxxx????xx????xxxxxxxxx????xxxx????xx????xxxxx");
Main->Variables->dwFRunVel = *(DWORD*)(DWORD)(Main->Variables->dwFRunVel + 0x2);
Main->Variables->dwBRunVel = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC9\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0", "xx????xxxx????xx????xxxxxxxxx????xxxxxxxx????xx????xxxxxxxxx????xx????xxxx????xx????xx");
Main->Variables->dwBRunVel = *(DWORD*)(DWORD)(Main->Variables->dwBRunVel + 0x2);
Main->Variables->dwSRunVel = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC9\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08", "xx????xxxxxxxx????xx????xxxxxxxxx????xx????xxxx????xx????xxxxxxx");
Main->Variables->dwSRunVel = *(DWORD*)(DWORD)(Main->Variables->dwSRunVel + 0x2);
Main->Variables->dwDuckVel = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\x89\x35\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x68\x00\x00\x00\x00\x8D\x87\x00\x00\x00\x00\x50", "xx????xxxxxx????x????xx????x????xx????x");
Main->Variables->dwDuckVel = *(DWORD*)(DWORD)(Main->Variables->dwDuckVel + 0x2);
Gravity/Hover
Code:
Main->Variables->dwGravity = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xD9\x05\x00\x00\x00\x00\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08\xD9\x1D\x00\x00\x00\x00", "xx????xxxx????xx????xxxx????xxxxxxx????xxxx????xx????xxxxxxxxx????");
Main->Variables->dwGravity = *(DWORD*)(DWORD)(Main->Variables->dwGravity + 0x2);
FPS
Code:
Main->Variables->dwFPS = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x15\x00\x00\x00\x00\xD8\x15\x00\x00\x00\x00\x89\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\x89\x1D\x00\x00\x00\x00\xD9\x97\x00\x00\x00\x00\xD9\x97\x00\x00\x00\x00", "xx????xx????xx????xxxxxxxxx????xx????xx????xx????");
Main->Variables->dwFPS = *(DWORD*)(DWORD)(Main->Variables->dwFPS + 0x2);
Tracers
Code:
Main->Variables->dwTracers = Main->Tools->FindPattern((DWORD)Main->Variables->dwCShellEntryPoint, Main->Variables->dwCShellCodeSize, (BYTE*)"\xD9\x15\x00\x00\x00\x00\x89\x0D\x00\x00\x00\x00\x83\x3D\x00\x00\x00\x00\x00\x75\x21\xD9\xC1\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\x89\x0D\x00\x00\x00\x00\x83\x3D\x00\x00\x00\x00\x00\x75\x27\xD9\xC1\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0E\xD9\x1D\x00\x00\x00\x00", "xx????xx????xx?????xxxxxx????xxxxxxxxx????xx????xx????xx?????xxxxxx????xxxxxxxxx????");
Main->Variables->dwTracers = *(DWORD*)(DWORD)(Main->Variables->dwTracers + 0x2);
Addresses
Code:
#define Jump 0x377A5794
#define Activation Distance 0x377AAD6C
#define BaseMoveAccel 0x377A5674
#define StartAccel 0x377A5698
#define MaxAccel 0x377A56BC
#define AccelInc 0x377A56E0
#define WalkVel 0x377A5704
#define FRunVel 0x377A5728
#define BRunVel 0x377A574C
#define SRunVel 0x377A5770
#define DuckVel 0x377A57B8
#define Gravity 0x377A5338
#define FPS 0x377A1D00
#define Tracers 0x377AB51C
Pseucode for Use:
Code:
template <class T>
void SetVariable(DWORD Address, T Value)
{
*(T*)Address = Value;
}
if(Main->Variables->iActivationDistance)
{
//Activation Distance On = 99999
SetVariable(Address, /*Value you wish to set*/);//On
}
else
{
//Activation Distance Original Value = 100
SetVariable(Address, /*Set the original value*/);//Off
}
Credits:
USSR(Me)
@
Ch40zz-C0d3r
xCyniu