Jump to content
Forgot your email address? ×
  • Create New...


  • Posts

  • Joined

  • Last visited

  • Days Won


Owsap last won the day on September 19

Owsap had the most liked content!

About Owsap

  • Birthday 09/02/1997

Metin2 Dev

  • My Message
  • Status


  • Nationality
  • Country
    South Korea
  • Gender


Social Networks

Recent Profile Visitors

7380 profile views

Owsap's Achievements

Rising Star

Rising Star (9/14)

  • Reacting Well
  • Dedicated Rare
  • Very Popular Rare
  • First Post
  • Collaborator

Recent Badges




Community Answers

  1. You can use the already existing functions. say_item_vnum(item_vnum)
  2. Surely blocking all key functions should be enough while you have the key change window opened. I don’t think you will be using the key functions while you even have the window open since your intention is to change some settings so I think it makes a little sense to block all key functions while the window is still open. /// 1. // Search void CPythonPlayer::OnKeyDown(int iKey) { // Add below if (m_isOpenKeySettingWindow) return; // 2. // Search void CPythonPlayer::OnKeyUp(int iKey) { // Add below if (m_isOpenKeySettingWindow) return; After testing it looks correct now.
  3. Confirmed, I guess a workaround for this is to check if the key change window is open then ignore the ALT key function until the key change window is closed?
  4. Just replace CPythonNonPlayer::MOB_RANK_PAWN with 0.
  5. const CPythonNonPlayer::TMobTable* pkMobTable = CPythonNonPlayer::instance().GetTable(rVictim.GetRace()); if (pkMobTable && pkMobTable->bRank == CPythonNonPlayer::MOB_RANK_PAWN) return false; You also need to include PythonNonPlayer.h #include "../UserInterface/PythonNonPlayer.h"
  6. Use a static variable instead for szTmpBuf. static char szTmpBuf[1024 + 1] = {};
  7. This is actually something interesting to implement in the client with a drop-down menu because all modern games are now using this type of in-game setting. Changing the size of the window is relatively easy but the biggest issue is that it will distort every texture, font and any type of graphical objects in the client. Since we are talking about Metin2 it will not be that easy task in my point of view because changing the resolution of the entire game isn’t so easy in DirectX as in OpenGL because you need to reset the device in DirectX and doing this it will mess the anti-analyzing of the terrain textures, you can call it the “famous UAC bug” (and that happens because when the screen is black/lost it will reset itself) and that’s just one problem. The worst part is all graphical elements in the client getting distorted like fonts. I’m not an expert in DirectX but I assume you would have to reset the *ms_lpd3dDevice device and render the entire graphical objects again. I did try to play around with CGraphicDevice and ms_matScreen2 but the results weren’t so good as expected.
  8. I actually added them just for support in case it ends up beeing used.
  9. Please, avoid spamming this topic and when you post a problem show us a screenshot or GIF / video to help us identify the problem. I have reviewed and double checked the entire system on a clean server file "40250", there is no problem with GetGlobalPosition function or the pickle functions, you don’t even need the pickle module in the library because it uses standard C. About the GetGlobalPosition issue, there is only 1 GetGlobalPosition inside the Window class since 2014 so you don’t need to add another one anywhere else and the system doesn’t even call this function inside the ChatWindow whatsoever. @Maze, when you teleport, if the setting window is open, it will close, this has been fixed 21 days ago. If you need a better guide than the tutorial guidelines I made, check the entire file I implemented the system clicking the link below. [Hidden Content] Troubleshooting on older clients. Here is also a preview of the system working on an older client which sources and root files are clean / basic. Preview: [Hidden Content]
  10. Thanks @Jxxkub, the quick slot pagination is now fixed, check the repository. Tutorial for adding new keys & functions. [Hidden Content] This is just an example to guide the implementation of new keys and functions.
  11. I couldn't identify any problem with the key changing, before posting everything I took the time to implement the system on a clean binary source. Once again, I checked and everything seems to be working correctlty. Preview 1 / Preview 2
  12. Make sure you edited the OnKeyDown and OnKeyUp functions correctly in game.py Take a look at this full file example (search for ENABLE_KEYCHANGE_SYSTEM) : [Hidden Content]
  13. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Download Here ( MEGA ) As the title indicates, the system allows you to change the default keyboard keys. Click here to check the tutorial for adding new keys & functions. Click here for tab targeting key support.
  14. Personally, I found the title of this topic being a little confusing just because the fact that Metin2 has a stupid resistance gauge which is also called “Stamina”, BUT what we also know from Metin2 and other RPG’s that use special magical abilities is that they are usually measured in MP "Magic Points", "Mana Points" and even “Stamina Points” and here is the confusion from the title. Which Stamina? Resistance or Mana? Here is a little reference in Magic (game terminology) - Wikipedia : [Hidden Content] EXP = ("Experience") HP = ("Health Points") SP = ("Stamina Points") MP = ("Magic Points") MP = ("Mana Points") Both in game terminology are the same designation. ST = (Simply, "Stamina") And again, personally, I would suggest, if the author agrees along as the administration team, altering the topic name from “Stamina” to “Mana” or something similar that’s not simply just “Stamina”. Regardless, thanks for sharing.

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.