Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Kal Online
You last visited: Today at 00:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Player Coordinates/HP Pattern

Discussion on Player Coordinates/HP Pattern within the Kal Online forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2010
Posts: 23
Received Thanks: 4
Player Coordinates/HP Pattern

Hi Guys,

does someone have the current patterns for player coordinates and player hp?

Best regards!
LastKingOfHell is offline  
Old 02/16/2025, 05:26   #2
 
HighGamer.'s Avatar
 
elite*gold: 50
Join Date: May 2014
Posts: 1,910
Received Thanks: 941
For 2019 Engine ? or 2025 Engine? i got both

Here is 2019 engine

Code:
	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;
}
HighGamer. is offline  
Thanks
1 User
Old 02/16/2025, 10:52   #3
 
elite*gold: 0
Join Date: Feb 2010
Posts: 23
Received Thanks: 4
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
LastKingOfHell is offline  
Old 02/16/2025, 19:19   #4
 
HighGamer.'s Avatar
 
elite*gold: 50
Join Date: May 2014
Posts: 1,910
Received Thanks: 941
Quote:
Originally Posted by LastKingOfHell View Post
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
Code:
	//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;
HighGamer. is offline  
Thanks
1 User
Old 02/17/2025, 12:01   #5
 
elite*gold: 0
Join Date: Feb 2010
Posts: 23
Received Thanks: 4
Thanks a lot, this works great, do you have the ones for player hp as well so that i can automatize my potting without having to pay for the doggebie meds?
LastKingOfHell is offline  
Old 02/17/2025, 21:59   #6
 
HighGamer.'s Avatar
 
elite*gold: 50
Join Date: May 2014
Posts: 1,910
Received Thanks: 941
Code:
	//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????***????xx????xxxxxx??***?x????***"), 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????***????xx????xxxxxx??***?x????***"), 1, true);
HighGamer. is offline  
Thanks
1 User
Old 02/19/2025, 08:24   #7
 
elite*gold: 0
Join Date: Feb 2010
Posts: 23
Received Thanks: 4
I am dumb and i got it fixed. Thanks a lot for your help!
LastKingOfHell is offline  
Reply


Similar Threads Similar Threads
Metin2 C++ How do I pull player mob coordinates
08/14/2023 - Metin2 - 2 Replies
Hello, I have not found an answer to this question for a long time, I am writing an internal text2 cheat, but I do not know how to pull the player and mob coordinates. I also found a soruce and that person pulled GetPixelPosition and GetMainActorPtr from this function, if it is pulled from here, how can I find the addresses from here?
Getting player coordinates in Genshin Impact
05/23/2023 - Genshin Impact - 0 Replies
Is there any way to get player current coordinates from game?
Metin2Earth - Player vs Metin Stones - Player vs Player
08/02/2018 - Metin2 PServer Advertising - 8 Replies
WEBSITE REGISTER DOWNLOAD https://metin2earth.com/images/presentation/1.png https://metin2earth.com/images/presentation/2.png https://metin2earth.com/images/presentation/3.png https://metin2earth.com/images/presentation/4.png https://metin2earth.com/images/presentation/5.png https://metin2earth.com/images/presentation/6.png https://metin2earth.com/images/presentation/7.png



All times are GMT +1. The time now is 00:06.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.