Active+ Member HFWhite 499 Posted May 25 Active+ Member Share Posted May 25 (edited) Hello metin2 community. Can we somehow get rid of this visual bug that exists in all of our clients? Video: https://metin2.download/video/Rs85rr2R552tGDLJAh3QW64595l3sOV4/.mp4 Edited May 25 by Metin2 Dev International Core X - External 2 Internal 1 Link to comment Share on other sites More sharing options...
Solution CONTROL 78 Posted May 29 Solution Share Posted May 29 PythonPlayerInput.cpp Spoiler add on top: uint32_t m_TimeToClick = 0; adjust: void CPythonPlayer::__OnClickGround(CInstanceBase& rkInstMain, const TPixelPosition& c_rkPPosPickedGround) { if (m_TimeToClick >= timeGetTime()) return; if (!__IsMovableGroundDistance(rkInstMain, c_rkPPosPickedGround)) { m_TimeToClick = timeGetTime() + 1000; // Milliseconds To Click Again return; } if (rkInstMain.NEW_MoveToDestPixelPositionDirection(c_rkPPosPickedGround)) __ShowPickedEffect(c_rkPPosPickedGround); } adjust: void CPythonPlayer::__OnPressGround(CInstanceBase& rkInstMain, const TPixelPosition& c_rkPPosPickedGround) { if (m_TimeToClick >= timeGetTime()) return; __ClearReservedAction(); __ClearAutoAttackTargetActorID(); if (NEW_CancelFishing()) return; if (!__IsMovableGroundDistance(rkInstMain, c_rkPPosPickedGround)) { m_TimeToClick = timeGetTime() + 1000; // Milliseconds To Click Again return; } if (!rkInstMain.NEW_MoveToDestPixelPositionDirection(c_rkPPosPickedGround)) { __ReserveClickGround(c_rkPPosPickedGround); return; } } this should fix the issue and ofc u can adjust the 1000 Milliseconds as u like : ) GL Link to comment Share on other sites More sharing options...
Active+ Member HFWhite 499 Posted May 29 Author Active+ Member Share Posted May 29 6 hours ago, CONTROL said: PythonPlayerInput.cpp Hide contents add on top: uint32_t m_TimeToClick = 0; adjust: void CPythonPlayer::__OnClickGround(CInstanceBase& rkInstMain, const TPixelPosition& c_rkPPosPickedGround) { if (m_TimeToClick >= timeGetTime()) return; if (!__IsMovableGroundDistance(rkInstMain, c_rkPPosPickedGround)) { m_TimeToClick = timeGetTime() + 1000; // Milliseconds To Click Again return; } if (rkInstMain.NEW_MoveToDestPixelPositionDirection(c_rkPPosPickedGround)) __ShowPickedEffect(c_rkPPosPickedGround); } adjust: void CPythonPlayer::__OnPressGround(CInstanceBase& rkInstMain, const TPixelPosition& c_rkPPosPickedGround) { if (m_TimeToClick >= timeGetTime()) return; __ClearReservedAction(); __ClearAutoAttackTargetActorID(); if (NEW_CancelFishing()) return; if (!__IsMovableGroundDistance(rkInstMain, c_rkPPosPickedGround)) { m_TimeToClick = timeGetTime() + 1000; // Milliseconds To Click Again return; } if (!rkInstMain.NEW_MoveToDestPixelPositionDirection(c_rkPPosPickedGround)) { __ReserveClickGround(c_rkPPosPickedGround); return; } } this should fix the issue and ofc u can adjust the 1000 Milliseconds as u like : ) GL This fixes it... but I don;t really like the fix. Isn;t there any fix without the time check? Link to comment Share on other sites More sharing options...
CONTROL 78 Posted May 29 Share Posted May 29 4 hours ago, HFWhite said: This fixes it... but I don;t really like the fix. Isn;t there any fix without the time check? Like what .. magic ? It's a problem that occurre when you spam a walkable + unwalkable areas, there's no other solution better than a simple timer ... Link to comment Share on other sites More sharing options...
Active+ Member HFWhite 499 Posted May 29 Author Active+ Member Share Posted May 29 1 hour ago, CONTROL said: Like what .. magic ? It's a problem that occurre when you spam a walkable + unwalkable areas, there's no other solution better than a simple timer ... animation related fix or something lmao I don't know. but thank you anyway!! Link to comment Share on other sites More sharing options...
Active+ Member HFWhite 499 Posted May 29 Author Active+ Member Share Posted May 29 13 hours ago, CONTROL said: PythonPlayerInput.cpp Reveal hidden contents add on top: uint32_t m_TimeToClick = 0; adjust: void CPythonPlayer::__OnClickGround(CInstanceBase& rkInstMain, const TPixelPosition& c_rkPPosPickedGround) { if (m_TimeToClick >= timeGetTime()) return; if (!__IsMovableGroundDistance(rkInstMain, c_rkPPosPickedGround)) { m_TimeToClick = timeGetTime() + 1000; // Milliseconds To Click Again return; } if (rkInstMain.NEW_MoveToDestPixelPositionDirection(c_rkPPosPickedGround)) __ShowPickedEffect(c_rkPPosPickedGround); } adjust: void CPythonPlayer::__OnPressGround(CInstanceBase& rkInstMain, const TPixelPosition& c_rkPPosPickedGround) { if (m_TimeToClick >= timeGetTime()) return; __ClearReservedAction(); __ClearAutoAttackTargetActorID(); if (NEW_CancelFishing()) return; if (!__IsMovableGroundDistance(rkInstMain, c_rkPPosPickedGround)) { m_TimeToClick = timeGetTime() + 1000; // Milliseconds To Click Again return; } if (!rkInstMain.NEW_MoveToDestPixelPositionDirection(c_rkPPosPickedGround)) { __ReserveClickGround(c_rkPPosPickedGround); return; } } this should fix the issue and ofc u can adjust the 1000 Milliseconds as u like : ) GL only need to do the void CPythonPlayer::__OnPressGround(CInstanceBase& rkInstMain, const TPixelPosition& c_rkPPosPickedGround) part Link to comment Share on other sites More sharing options...
Active+ Member HFWhite 499 Posted May 29 Author Active+ Member Share Posted May 29 Ok so, I found a fix which does not need time check I made the continuous click only possible from a certain distance from the main character. const float MIN_CLICK_DISTANCE = 50.0f; Link to comment Share on other sites More sharing options...
CONTROL 78 Posted May 30 Share Posted May 30 (edited) 50 minutes ago, HFWhite said: Ok so, I found a fix which does not need time check I made the continuous click only possible from a certain distance from the main character. const float MIN_CLICK_DISTANCE = 50.0f; you can still reach an edge where it's (walkable/clickable + unwalkable/unclickable areas) and do the trick .. as i said (nothing) will be better than a timer just simply give the character a time to execute the animation, what is so bad about that ? 7 hours ago, HFWhite said: only need to do the void CPythonPlayer::__OnPressGround(CInstanceBase& rkInstMain, const TPixelPosition& c_rkPPosPickedGround) part your choice, but the trick still can be done with quick click's, i just found it disturbing so i fix it too .. Edited May 30 by CONTROL Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now