Jump to content

Recommended Posts

  • Active Member

 

Hey M2DEV!
Today I will show you how to fix one unpleasant error related to the auto attack.
When you attack a monster automatically and for example want to move away from the monster, what do you do?
Probably you will turn off the auto attack and try to move away from the monster using the WASD keys?
Yes, but it won't work because the target doesn't reset when you try to disable the auto-attack.

Before fix:
https://metin2.download/picture/7dt9c1gmBnBzM9l6EUhms0I1WQj8m1zh/.gif

After fix:

https://metin2.download/picture/D63EBDENh0gk26hbM8m41fCA136k5Ar6/.gif


Open file: UserInterface\PythonPlayer.h
Make
"__ClearAutoAttackTargetActorID();" public!
UWWtCn2.png


Open file: UserInterface\PythonPlayerModulec.cpp
We need to create a new method

 

PyObject * playerClearAutoAttackTargetActorID(PyObject* poSelf, PyObject* poArgs)
{
	CPythonPlayer::Instance().__ClearAutoAttackTargetActorID();
	return Py_BuildNone();
}

 

add method to s_methods[]
 

{ "ClearAutoAttackTargetActorID", playerClearAutoAttackTargetActorID, METH_VARARGS },

 

 

PU73MuY.png

 


Compile bin!

Open file: root/uitaskbar.py
search

 

elif self.EVENT_MOVE_AND_ATTACK == event:

 

replace this part:

elif self.EVENT_MOVE_AND_ATTACK == event:
	btn = self.mouseModeButtonList[dir].GetChild("button_move_and_attack")
	func = player.MBF_SMART
	player.ClearAutoAttackTargetActorID()
	tooltip_text = localeInfo.TASKBAR_ATTACK


pack root file!


P.S Please forgive me for my English, I use a GoogleTranslate

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 9
  • Good 4
  • Love 18
Link to comment
https://metin2.dev/topic/24749-little-fix-autoattack/
Share on other sites

  • 2 years later...

Idk if it's ok, but for me this way is more convenient:

PythonPlayer.h
under
DWORD					m_dwAutoAttackTargetVID;
add
bool					m_bIsAutoAttack;

PythonPlayerInput.cpp
Modify if (rkInstMain.IsAttackableInstance(rkInstVictim)) from __OnPressActor like:
if (rkInstMain.IsAttackableInstance(rkInstVictim))
{
  __SetAutoAttackTargetActorID(rkInstVictim.GetVirtualID());
  m_bIsAutoAttack = true;
}

PythonPlayerInputKeyboard.cpp
add
if (m_bIsAutoAttack)
{
  __ClearAutoAttackTargetActorID();
  m_bIsAutoAttack = false;
}

under
void CPythonPlayer::NEW_SetMultiDirKeyState(bool isLeft, bool isRight, bool isUp, bool isDown)
{

This way you can cancel your auto attacks using keyboard w a s d keys

Edited by [TiTAN]
  • Metin2 Dev 1
  • Good 1
  • Love 1
Link to comment
https://metin2.dev/topic/24749-little-fix-autoattack/#findComment-158405
Share on other sites

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.