Jump to content

Recommended Posts

Hello guys, there is the following bug with @ Maliย transmutation system.

Look below: i have this item (120lvl) transmutated with Silver Bell (15 lvl).ย 
.png
1. The stats of this item:
.png

2. When i click C these are the stats of the player when i wear the transmutated item:
.png

3. When i wear the original item (120lvl) without transmute, these are the stats:
.png

4. When i wear the Silver Bell (15lvl) without transmute, these are the stats: (It has same stats as 2)
.png
5. Last, when i transmute the Silver Bell (15lvl) with the 120lvl Bell, these are the stats:
.png
.png

So... the problem is that it takes the stats of the item that i want to "Show". Any ideas?

โ€œ๐“๐“ต๐“ต ๐”€๐“ฎ ๐“ฑ๐“ช๐“ฟ๐“ฎ ๐“ฝ๐“ธ ๐“ญ๐“ฎ๐“ฌ๐“ฒ๐“ญ๐“ฎ ๐“ฒ๐“ผ ๐”€๐“ฑ๐“ช๐“ฝ ๐“ฝ๐“ธ ๐“ญ๐“ธ ๐”€๐“ฒ๐“ฝ๐“ฑ ๐“ฝ๐“ฑ๐“ฎ ๐“ฝ๐“ฒ๐“ถ๐“ฎ ๐“ฝ๐“ฑ๐“ช๐“ฝ ๐“ฒ๐“ผ ๐“ฐ๐“ฒ๐“ฟ๐“ฎ๐“ท ๐“พ๐“ผ.โ€ ~ ๐“–๐“ช๐“ท๐“ญ๐“ช๐“ต๐“ฏ ๐“ฝ๐“ฑ๐“ฎ ๐“–๐“ป๐“ฎ๐”‚

Link to comment
https://metin2.dev/topic/32604-transmutation-bug-mali-system/
Share on other sites

  • 1 month later...

FIX

Search in UserInterface/PythonNetworkStreamPhaseGameActor.cpp for:

void __SetWeaponPower(IAbstractPlayer& rkPlayer, DWORD dwWeaponID)
{
...
}


Replace it with:

void __SetWeaponPower(IAbstractPlayer& rkPlayer, DWORD dwWeaponID)
{
	DWORD minPower = 0;
	DWORD maxPower = 0;
	DWORD minMagicPower = 0;
	DWORD maxMagicPower = 0;
	DWORD addPower = 0;

	CItemData* pkWeapon;
#if defined(ENABLE_WEAPON_COSTUME_SYSTEM) || defined(__BL_TRANSMUTATION__)
	if (CItemManager::Instance().GetItemDataPointer(CPythonPlayer::Instance().GetItemIndex(TItemPos(INVENTORY, c_Equipment_Weapon)), &pkWeapon))
#else
	if (CItemManager::Instance().GetItemDataPointer(dwWeaponID, &pkWeapon))
#endif
	{
		if (pkWeapon->GetType() == CItemData::ITEM_TYPE_WEAPON)
		{
			minPower = pkWeapon->GetValue(3);
			maxPower = pkWeapon->GetValue(4);
			minMagicPower = pkWeapon->GetValue(1);
			maxMagicPower = pkWeapon->GetValue(2);
			addPower = pkWeapon->GetValue(5);
		}
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
		else if (pkWeapon->GetType() == CItemData::ITEM_TYPE_COSTUME)
		{
			dwWeaponID = rkPlayer.GetItemIndex(TItemPos(INVENTORY, c_Equipment_Weapon));

			CItemData* pkWeaponReal;
			if (CItemManager::Instance().GetItemDataPointer(dwWeaponID, &pkWeaponReal))
			{
				if (pkWeaponReal->GetType() == CItemData::ITEM_TYPE_WEAPON)
				{
					minPower = pkWeaponReal->GetValue(3);
					maxPower = pkWeaponReal->GetValue(4);
					minMagicPower = pkWeaponReal->GetValue(1);
					maxMagicPower = pkWeaponReal->GetValue(2);
					addPower = pkWeaponReal->GetValue(5);
				}
			}
		}
#endif
	}

	rkPlayer.SetWeaponPower(minPower, maxPower, minMagicPower, maxMagicPower, addPower);
}


That will fix it.

Kind Regards,
ONE

  • Facepalm 1
  • Love 3

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
ร—
ร—
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.