Hi Guys,
does someone have the current patterns for player coordinates and player hp?
Best regards!
does someone have the current patterns for player coordinates and player hp?
Best regards!
coordinatesBaseAddress = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x8B\x88\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00"), XorStrOld("x????xx????xx????xx????x????xx????xx????xx????xx????xx????"), 7, true);
if (!coordinatesBaseAddress)
coordinatesBaseAddress = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x8B\x88\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00"), XorStrOld("x????x????xx????xx????xx????xx????xx????xx????xx????xx????"), 6, true);
if (coordinatesBaseAddress) {
#ifdef DEBUGMODE
Log("Detected Coordinates Base = %X\n", coordinatesBaseAddress);
#endif
coordinatesBaseAddress = mainBaseAddress;
}
myPlayerXOffset = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x8B\x88\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00"), XorStrOld("x????xx????xx????xx????x????xx????xx????xx????xx????xx????"), 48, true);
if (!myPlayerXOffset)
myPlayerXOffset = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x8B\x88\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00"), XorStrOld("x????x????xx????xx????xx????xx????xx????xx????xx????xx????"), 48, true);
if (myPlayerXOffset) {
#ifdef DEBUGMODE
Log("Detected PlayerXOffset = %X\n", myPlayerXOffset);
#endif
}
myPlayerYOffset = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x8B\x88\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00"), XorStrOld("x????xx????xx????xx????x????xx????xx????xx????xx????xx????"), 30, true);
if (!myPlayerYOffset)
myPlayerYOffset = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x8B\x88\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00"), XorStrOld("x????x????xx????xx????xx????xx????xx????xx????xx????xx????"), 30, true);
if (myPlayerYOffset) {
#ifdef DEBUGMODE
Log("Detected PlayerYOffset = %X\n", myPlayerYOffset);
#endif
}
myPlayerZOffset = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x8B\x88\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00"), XorStrOld("x????xx????xx????xx????x????xx????xx????xx????xx????xx????"), 13, true);
if (!myPlayerZOffset)
myPlayerZOffset = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x8B\x88\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00"), XorStrOld("x????x????xx????xx????xx????xx????xx????xx????xx????xx????"), 12, true);
if (myPlayerZOffset) {
#ifdef DEBUGMODE
Log("Detected PlayerZOffset = %X\n", myPlayerZOffset);
#endif
}
myPlayerCurrentHealthXorKey1 = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x8B\x0D\x00\x00\x00\x00\x03\x48\x0C\x51\x8B\x15\x00\x00\x00\x00\x33\x15\x00\x00\x00\x00"), XorStrOld("xx????xxxxxx????xx????"), 12, true);
myPlayerCurrentHealthXorKey2 = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x8B\x0D\x00\x00\x00\x00\x03\x48\x0C\x51\x8B\x15\x00\x00\x00\x00\x33\x15\x00\x00\x00\x00"), XorStrOld("xx????xxxxxx????xx????"), 18, true);
myPlayerCurrentHealthMax = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x8B\x0D\x00\x00\x00\x00\x03\x48\x0C\x51\x8B\x15\x00\x00\x00\x00\x33\x15\x00\x00\x00\x00"), XorStrOld("xx????xxxxxx????xx????"), 2, true);
myPlayerCurrentManaMin = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x8B\x15\x00\x00\x00\x00\x03\x51\x10\x52\xA1\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\x68\x04\x01\x00\x00\x8D\x8D\xE0\xFE\xFF\xFF\x51\xE8\x00\x00\x00\x00\x83\xC4\x14"), XorStrOld("xx????xxxxx????xx????xxx??xxxxxxxx????xxx"), 11, true);
myPlayerCurrentManaMax = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x8B\x15\x00\x00\x00\x00\x03\x51\x10\x52\xA1\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\x68\x04\x01\x00\x00\x8D\x8D\xE0\xFE\xFF\xFF\x51\xE8\x00\x00\x00\x00\x83\xC4\x14"), XorStrOld("xx????xxxxx????xx????xxx??xxxxxxxx????xxx"), 2, true);
unsigned int GetPlayerCoordinateX() {
__try {
if (*(DWORD*)coordinatesBaseAddress != 0)
return (*(DWORD*)((*(DWORD*)(coordinatesBaseAddress)) + myPlayerXOffset));
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
return 0;
}
return 0;
}
unsigned int GetPlayerCoordinateY() {
__try {
if (*(DWORD*)coordinatesBaseAddress != 0)
return (*(DWORD*)((*(DWORD*)(coordinatesBaseAddress)) + myPlayerYOffset));
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
return 0;
}
}
unsigned int GetPlayerCoordinateZ() {
__try {
if (*(DWORD*)coordinatesBaseAddress != 0)
return (*(DWORD*)((*(DWORD*)(coordinatesBaseAddress)) + myPlayerZOffset));
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
return 0;
}
}
unsigned int GetPlayerMinHP()
{
__try {
if (*(DWORD*)myPlayerCurrentHealthXorKey1 != 0 && *(DWORD*)myPlayerCurrentHealthXorKey2 != 0) {
unsigned int CurrentHPXor1 = *(DWORD*)(myPlayerCurrentHealthXorKey1);
unsigned int CurrentHPXor2 = *(DWORD*)(myPlayerCurrentHealthXorKey2);
return (CurrentHPXor1 ^ CurrentHPXor2);
}
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
return 0;
}
return 0;
}
unsigned int GetPlayerMaxHP()
{
__try {
if (*(DWORD*)myPlayerCurrentHealthMax != 0)
return *(DWORD*)(myPlayerCurrentHealthMax);
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
return 0;
}
return 0;
}
unsigned int GetPlayerMinMP()
{
__try {
if (*(DWORD*)myPlayerCurrentManaMin != 0)
return *(DWORD*)(myPlayerCurrentManaMin);
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
return 0;
}
return 0;
}
unsigned int GetPlayerMaxMP()
{
__try {
if (*(DWORD*)myPlayerCurrentManaMax != 0)
return *(DWORD*)(myPlayerCurrentManaMax);
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
return 0;
}
return 0;
}
Quote:
Thank you! I was thinking for current engine for int server, so 2025 i guess. I got my old stuff still functioning, i am just lacking the pattern for coordinates for it to run properly again :D
//FIXED 2024
if (!coordinatesBaseAddress)
coordinatesBaseAddress = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\xB9\x04\x00\x00\x00\xC1\xE1\x00\x8B\x15\x00\x00\x00\x00\x8B\x84\x0A\x28\x47\x00\x00\x50\x68\x00\x00\x00\x00\xB9\x04\x00\x00\x00\xD1\xE1\x8B\x15\x00\x00\x00\x00\x8B\x84\x0A\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\xB9\x04\x00\x00\x00\x6B\xD1\x00\xA1\x00\x00\x00\x00\x8B\x8C\x10\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8D"), XorStrOld("x????xxxxxxxxxx????xxx??xxxx????xxxxxxxxx????xxx??xxxx????xxxxxxxxx????xxx??xxxx????x"), 15, true);
//FIXED 2025
if (!coordinatesBaseAddress)
coordinatesBaseAddress = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\xBA\x04\x00\x00\x00\xC1\xE2\x00\xA1\x00\x00\x00\x00\x8B\x8C\x10\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\xBA\x04\x00\x00\x00\xD1\xE2\xA1\x00\x00\x00\x00\x8B\x8C\x10\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\xBA\x04\x00\x00\x00\x6B\xC2\x00\x8B\x0D\x00\x00\x00\x00\x8B\x94\x01\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00\x8D"), XorStrOld("x????xxxxxxxxx????xxx????xx????xxxxxxxx????xxx????xx????xxxxxxxxxx????xxx????xx????x"), 14, true);
//FIXED 2024
if (!myPlayerXOffset)
myPlayerXOffset = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\xB9\x04\x00\x00\x00\xC1\xE1\x00\x8B\x15\x00\x00\x00\x00\x8B\x84\x0A\x28\x47\x00\x00\x50\x68\x00\x00\x00\x00\xB9\x04\x00\x00\x00\xD1\xE1\x8B\x15\x00\x00\x00\x00\x8B\x84\x0A\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\xB9\x04\x00\x00\x00\x6B\xD1\x00\xA1\x00\x00\x00\x00\x8B\x8C\x10\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\x8D"), XorStrOld("x????xxxxxxxxxx????xxx??xxxx????xxxxxxxxx????xxx??xxxx????xxxxxxxxx????xxx??xxxx????x"), 22, true);
//FIXED 2025
if (!myPlayerXOffset)
myPlayerXOffset = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x68\x00\x00\x00\x00\xBA\x04\x00\x00\x00\xC1\xE2\x00\xA1\x00\x00\x00\x00\x8B\x8C\x10\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\xBA\x04\x00\x00\x00\xD1\xE2\xA1\x00\x00\x00\x00\x8B\x8C\x10\x00\x00\x00\x00\x51\x68\x00\x00\x00\x00\xBA\x04\x00\x00\x00\x6B\xC2\x00\x8B\x0D\x00\x00\x00\x00\x8B\x94\x01\x00\x00\x00\x00\x52\x68\x00\x00\x00\x00\x8D"), XorStrOld("x????xxxxxxxxx????xxx????xx????xxxxxxxx????xxx????xx????xxxxxxxxxx????xxx????xx????x"), 21, true);
if (!myPlayerYOffset && myPlayerXOffset)
myPlayerYOffset = myPlayerXOffset + 8;
if (!myPlayerZOffset && myPlayerXOffset)
myPlayerZOffset = myPlayerXOffset + 4;
//2025
myPlayerCurrentHealthXorKey1 = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x8B\x15\x00\x00\x00\x00\x52\xA1\x00\x00\x00\x00\x33\x05\x00\x00\x00\x00\x50"), XorStrOld("xx????xx????xx????x"), 8, true);
myPlayerCurrentHealthXorKey2 = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x8B\x15\x00\x00\x00\x00\x52\xA1\x00\x00\x00\x00\x33\x05\x00\x00\x00\x00\x50"), XorStrOld("xx????xx????xx????x"), 14, true);
myPlayerCurrentHealthMax = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\x8B\x15\x00\x00\x00\x00\x52\xA1\x00\x00\x00\x00\x33\x05\x00\x00\x00\x00\x50"), XorStrOld("xx????xx????xx????x"), 2, true);
//2025
myPlayerCurrentManaMin = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\xA1\x0C\x35\x92\x00\x50\x8B\x0D\x04\x35\x92\x00\x51\x68\x00\x00\x00\x00\x68\x04\x01\x00\x00\x8D\x00\x00\xFE\xFF\xFF\x00\xE8\x00\x00\x00\x00\x83\xC4\x14"), XorStrOld("x????xxx????xx????xxxxxx??xxx?x????xxx"), 8, true);
myPlayerCurrentManaMax = PointerFindPattern(BaseAddressStart, BaseAddressEnd, (PBYTE)XorStrOld("\xA1\x0C\x35\x92\x00\x50\x8B\x0D\x04\x35\x92\x00\x51\x68\x00\x00\x00\x00\x68\x04\x01\x00\x00\x8D\x00\x00\xFE\xFF\xFF\x00\xE8\x00\x00\x00\x00\x83\xC4\x14"), XorStrOld("x????xxx????xx????xxxxxx??xxx?x????xxx"), 1, true);