Jump to content

xHeaven

Premium
  • Posts

    25
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by xHeaven

  1. Since when Metin2 is coded in Borland Delphi? Because your file is coded in it, which means its likely just a stub. Since when Metin2 binaries have EOF? Because your file has. Why does the binary have assembly info from Phoenix Keylogger? ("crack by retrix")
  2. Wtf? Why would you need to do that? Just change the keys in your binary and your packer, build your binary, repack your data files and you are fine. No need to change every time you compile.
  3. Weeeell, unfortunately that's kind of right. Anyway, here's how to do it, enabling/disabling it from the configuration file is easy to do, if someone wanna implement it, here it is.
  4. ReadProcessMemory WriteProcessMemory You could try to hook them and play around, there are several sources available how to do it.
  5. It's relatively easy to block lalaker's cheat to be honest, he is mostly using rpm/wpm. You will likely have to get some thirdparty products, though.
  6. Actually, the 10 seconds wait time is just simply kind of annoying, but nothing else. I mean, what if the player crashes, the player's PC crashes, the player's internet cuts off, etc..? The server won't save its data? It should. My guess would be your first thought, corrupt MySQL tables, or something else in the background, but definitely not connected to the in-game "Exit game" option.
  7. I'm looking into these issues, and will try to make a patch, of course I will update the main post if I succeed. I've also experienced the double-sound steps, couldn't find a fix to it yet. Also, I didn't test the character skills yet, so I can't confirm that yet, but I'm pretty sure it can be fixed if that's really present. In the meantime, if any of you can fix these problems, don't hesitate to write a post about it, I'll put that into the main post as well. Thanks in advance for your contribution!
  8. Whoops, sorry, you were right, that was a typo in the guide. Actually, you have to find Timer.cpp in the Eterbase library, not the EterBase.cpp. Fixed the guide already.
  9. Use the file search on Windows, I'm pretty sure you have it. Btw, take a look on the bool CPythonSystem::LoadConfig() function in UserInterface\PythonSystem.cpp. It's pretty easy to make an FPS cap, just read the value of the key from the config file, and convert it to float via the atof() function. Example: else if (!stricmp(command, "FPS_LIMIT")) g_fGameFPS = atof(value);
  10. Well, the client now eats more CPU and GPU, maybe that's the reason. You might need to set an FPS cap via the config file, so the 250 FPS is available, but only for those who actually want it.
  11. Upload your modified interfacemodule.py to pastebin, otherwise we can't help.
  12. That's definitely an option, anyway, there will be no consequences if a user doesn't reach the maximum FPS. It's just a maximum value. Being able to set the maximum FPS via config, so the VGA won't work too much (rofl), would be a good addition, though.
  13. That's a pretty neat practice, thanks for the heads-up!
  14. Sounds like a /shutdown-ed server. Anyway, if there's an error, you should have a .core dump in your channel's directory, debug it and most likely you will find what's wrong. Those unknown headers are pretty common, I doubt that's the problem here.
  15. Thanks for your contribution. Anyone who wants this, Method1 OR Method2 Can you share video with comparation(before/after)? Unfortunately, I haven't made any video with/without this.
  16. M2 Download Center Download Here ( Internal ) Hey, I don't want to waste your time, so let's start, it's gonna be short. src\Client EterBase\Timer.cpp | Find function: CTimer::GetElapsedMillisecond() Find this inside the function above: return 16 + (m_index & 1); Make it look like this: return 3 + (m_index & 3); EterBase\Timer.cpp | Find function: CTimer::Advance() Find this inside the function above: m_dwCurrentTime += 16 + (m_index & 1); Make it look like this: m_dwCurrentTime += 3 + (m_index & 3); GameLib\GameType.cpp | Find this (top of the file): extern float g_fGameFPS = 60.0f; Make it look like this: extern float g_fGameFPS = 250.0f; EterPythonLib\PythonWindow.cpp | Find function: CAniImageBox::CAniImageBox(PyObject * ppyObject) Find this inside the function above: m_byDelay(4), Make it look like this: m_byDelay(13), GameLib\MapOutdoorWater.cpp | Find function: CMapOutdoor::RenderWater() Find this inside the function above: STATEMANAGER.SetTexture(0, m_WaterInstances[((ELTimer_GetMSec() / 70) % 30)].GetTexturePointer()->GetD3DTexture()); Make it look like this: STATEMANAGER.SetTexture(0, m_WaterInstances[((ELTimer_GetMSec() / 30) % 30)].GetTexturePointer()->GetD3DTexture()); Since we don't want E/Q/R/F/T/G keys to be messed up, UserInterface\PythonApplication.cpp | Find these variables at the top of the file: float c_fDefaultCameraRotateSpeed = 1.5f; float c_fDefaultCameraPitchSpeed = 1.5f; float c_fDefaultCameraZoomSpeed = 0.05f; Make them look like this (you can tweak them more, these values aren't strict, just seems about right to me): float c_fDefaultCameraRotateSpeed = 0.5f; float c_fDefaultCameraPitchSpeed = 0.2f; float c_fDefaultCameraZoomSpeed = 0.007f; Client\pack\root\uitaskbar.py Find: if.constInfo.IN_GAME_SHOP_ENABLE: After: self.rampageGauge1.OnMouseOverIn = ui.__mem_func__(self.__RampageGauge_OverIn) Add: self.rampageGauge1.SetDelay(13) After: self.rampageGauge2.OnMouseLeftButtonUp = ui.__mem_func__(self.__RampageGauge_Click) Add: self.rampageGauge2.SetDelay(13) Scroll a little bit down, and then.. After: self.hpGauge = self.GetChild("HPGauge") Add: self.hpGauge.SetDelay(13) After: self.mpGauge = self.GetChild("SPGauge") Add: self.mpGauge.SetDelay(13) After: self.stGauge = self.GetChild("STGauge") Add: self.stGauge.SetDelay(13) Fast armor shining fix / UserInterface\PythonApplication.cpp (thanks @Nirray) Search on top of the file: double g_specularSpd=0.007f; Replace it with: double g_specularSpd=0.0017f; Python part simpler version by @VegaS™ That's all, compile your binary, pack your root and you are done. If you have any questions, feel free to ask it, or if you find an error, typo, anything inside this tutorial, don't hesitate to tell me, and I'll fix it ASAP. Credits goes to kespımuro and me for ghetto-fixing the rotation buttons. Cheers, xHeaven
  17. You shouldn't care about it at all, it's is just some random noname AV. This is clearly a false-detection, most likely you have something in your code that triggers it.
  18. Use Notepad++ to edit your locale_string. In Notepad++, click on the Settings tab on the top, select Preferences, in the popup window, select the last item on the left side (which is MISC.), and turn on "Autodetect character encoding" if it's not enabled yet. Your current locale_string is messed up already, though, so the best would be replacing the whole file with the backup, and do the editing procedure again.
×
×
  • 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.