Jump to content


Popular Content

Showing content with the highest reputation since 12/16/2017 in all areas

  1. 38 points
    Hello. Today I'd like to share this little stuff what I reversed from the official binary a month ago. This will fix the positions of textails(name position changes by every update packet on the main character), and also the position of the emotions when you are on a mount . I've made a little demonstration video where you can see a private server without the fix, my fixxed version and the official aswell. 1. Client/bin/playersettingmodule.py 2. Client/bin/introLoading.py 3. Place the race_height.txt from the official client into the yours and pack it in the root. 4. Client/UserInterface/PythonCharacterManagerModule.cpp 5. Client/GameLib/RaceManager.h 6. Client/GameLib/RaceManager.cpp 7. Client/UserInterface/InstanceBase.h 8. Client/UserInterface/InstanceBase.cpp 9. Client/UserInterface/InstanceBaseEffect.cpp 10. Client/UserInterface/PythonTextTail.cpp 11. Client/GameLib/ActorInstance.cpp I hope you like it, and if you find any problem just let me know in this topic.
  2. 26 points
    Since I have got a few requests: __________ OfficialClient_07042018_DE.rar https://mega.nz/#!QbZSQbqQ!2pVvuDOuKQBaZs8z_tkcfpARE37kLTSakdGpcL3HV7k Extracted: 07/04/2018 (DD/MM/YYYY) This archive should include the complete Metin2.DE Client
  3. 25 points
    Hi here are some new Metin2 Wallpaper Source: Turkmmo
  4. 22 points
    They did it again... Now the gameguard isn't runing. Here is the whole pack with item and mob protos, but the mob_proto isn't clear just dumped with false values, and ofc I don't recommend of use one of them either. (Exclude files: root, outdoor, outdoorempirebattle1) https://mega.nz/#!GBhjkLbZ!CU1tB_6RrgsD-PkosOJl-MeKXlwD3q7tSIufoxCyFJY
  5. 22 points
    Frankie/M2BobFixed/warxwar/RaFFa is stealing your players' passwords! What does it mean? Everyone who is using his last "ultimate protection" is indirectly sending all his players' users&passwords to his webserver. How? https://imgur.com/a/TqYYC As you can see, he's sending the player's user&pass at login to his remote webserver faking it as "m2bob login". Haha To understand better what's going on, we need to "decrypt" the text. https://i.imgur.com/iq9DuFj.png Why would he do such a thing? Well, it's nothing new that he does retarded things like this. Mostly for his own profit. And also to harm/destroy other servers, since he opened one from stolen server-files. How many servers are now fucked up? There are quite some so far. Is he really skilled? Haha, no. He's a retard. 99.8% of his code comes from stackoverflow.com, and he also was trying to rip-off Koray's protection. He also needs to update the hashes in his protection each time there's a new m2bob version. So, who is Frankie? He's an Italian bipolar guy, and professional liar (he would NEVER NEVER NEVER confess, but he would make some excuses). I taught him python in 2010, but he understood nothing, and I gave up on him. Between 2010-2013 he was just begging for money by doing some quick dirty job in python for random servers. In 2014-2015, he created his m2bobfixed service, and there's quite some people who cried blood because of that. In 2017, he faked that his skype was hacked by romanians to start reselling other people's files. In 2018, he opened a(n infamous) pserver from stolen files, and he's currently stealing users&passwords and private files from all of his "clients". If he joined your PC via teamviewer, or if he sent you some .exe/.dll, it's quite sure he stole something from you. Additional things: 1) He placed the protection inside a folder called "AccountProtect", but in reality it's a password stealer. Can you understand the irony? https://i.imgur.com/PuupV8U.png 2) You can try and decrypt the strings by yourself. Download https://pastebin.com/H9v0heBh then compile n run it: # c++ main.cpp # ./a.out
  6. 19 points
    Well I dont know which eterPacks where modified by the last official patches. I extracted some of them. 18.1 should be completly included (only the crypted parts). There are also some parts of 17.6/18.0 included. If something is missing, just tell me the eterpack's name and i'll add it. by Samagon ________ Extracted: 05/04/2018 (DD/MM/YYYY) Included patches: metin2_patch_easter1 metin2_patch_luck metin2_patch_mail metin2_patch_xmas Download: https://mega.nz/#!VGwzRIzY!SfZ6yGV_a21fiwyv2S6ugI9zRyhGoSwaCSMV5xup6Uk[
  7. 19 points
    I think they forgot to cythonize =)) I don't recommend to use that code, is ugly ... https://mega.nz/#!Ixl0nLZa!61VOx87EA9zBUiNAHD-poUZnaIx3VZr6RVgqUT3LZu4
  8. 16 points
    Hello, pretty sure anyone of you knows about the Dispel and Heal Lag problem that has been around since always. This little modification will fix both these problems completely. (Thanks @Horinna for helping with the in-game tests) Problem: The RemoveAffect function calls ComputePoints() (Complete rearrange of all the player stats and equip parts, one of the heaviest checks). The correct function to use is RefreshAffect() which does its job pretty fine! But that's not the only problem: Based on the current code, that function would get called every single time an affect gets removed or added, while it should only get called once, at the end of the process. Solution: We could make new functions for those 2 special flags (REMOVE_BAD_AFFECT and REMOVE_GOOD_AFFECT), but in order to keep things simple for you guys, i'll simply "dynamicize" the RemoveAffect function. 1. go to char_affect.cpp: 2: go to char.h: This way, we applied a simple boolean value arg to the RemoveAffect function, which will get set to true by default. By setting it to false like this RemoveAffect(affectLUL, false); we are basically saying the game to not Rearrange the points when affectLUL gets removed. now we will use a cycle to do that for every affect like usual, and we will rearrange of the points just once, at the end of the process, like it should be. 3. In char_affect.cpp: Done! Comparison:
  9. 16 points
    Latest update from .DE client: Hydra run content (boss, pet, map) <!> Protos are broken, don't use them <!> Download
  10. 16 points
    Hello. I was looking inside the official python files and I found a little fix for this: Let me explain a bit the problem. If you leave open the inventory/dragon soul inventory/expanded taskbar or the affected objects and then you are using quest for teleportation, the windows what you left open will be closed because of the quest and when the quest executed those windows what you left open before would be opened again, but the warp is killing this procedure and that happens what you can see in the video, the windows are there but you cannot see them. Btw you can close them with escape key. The fix is coming from webzen: Simple, just execute a .Hide() function before the Destroy function has been called on that object what is stuck on the main window after teleport and that's it. For example: interfaceModule.py -> Interface class -> Close function: if self.wndInventory: self.wndInventory.Hide()#fix self.wndInventory.Destroy() if self.wndDragonSoul: self.wndDragonSoul.Hide()#fix self.wndDragonSoul.Destroy()
  11. 15 points
    The textures of this water are ideally joined by no visible textures (seams). Colors are well matched to the climate of the metin. Download: You can find the link in the video description! If you want to see more of my work, look here: https://metin2dev.org/board/index.php?/topic/16751-3d-art-tatsumaru/
  12. 15 points
    Korean errors on Dungeon.cpp Fix Dungeon count monsters: struct FCountMonster { int n; FCountMonster() : n(0) {}; void operator()(LPENTITY ent) { if (ent->IsType(ENTITY_CHARACTER)) { LPCHARACTER ch = (LPCHARACTER) ent; if (ch->IsMonster() || ch->IsStone())//FIX n++; } } }; (Function was keeping also NPC, it could make you ugly problems). Fix Dungeon using more memory than right, with notice on all entities: // DUNGEON_NOTICE namespace { struct FNotice { FNotice(const char * psz) : m_psz(psz) { } void operator() (LPENTITY ent) { if (ent->IsType(ENTITY_CHARACTER)) { LPCHARACTER ch = (LPCHARACTER) ent; if (ch->IsPC()) //FIX ch->ChatPacket(CHAT_TYPE_NOTICE, "%s", m_psz); } } const char * m_psz; }; } (Notice was be triggered for every char entity) These was just 2 Korean errors that i want to share with you. I hope that it'll be useful Regards Hex.
  13. 14 points
    Hello, let's start! [15 Reactions == New Thread] 1- char_item.cpp Find for double ;; Yeah Monkeys, surprised XD? 2- On bool CHARACTER::EquipItem(LPITEM item, int iCandidateCell) find: if (iWearCell < 0) return false; add below: //FIX BLOCK MARRIAGE ITEMS WHILE RIDING if (iWearCell == WEAR_BODY && IsRiding() && (item->GetVnum() >= 11901 && item->GetVnum() <= 11914)) //Marriage Armors { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?????????????????????????????")); return false; } if (iWearCell == WEAR_WEAPON && IsRiding() && (item->GetVnum() == 50201)) //Marriage Weapon { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?????????????????????????????")); return false; } 3- SMALL PREVENTS ON questlua_global.cpp int _clear_server_timer(lua_State* L) { CQuestManager & q = CQuestManager::instance(); const char * name = lua_tostring(L, 1); DWORD arg = (DWORD) lua_tonumber(L, 2); if (name && arg) q.ClearServerTimer(name, arg); else sys_err("LUA PREVENT: Wrong argument on ClearServerTimer!"); return 0; } int _char_log(lua_State * L) { CQuestManager& q = CQuestManager::instance(); LPCHARACTER ch = q.GetCurrentCharacterPtr(); DWORD what = 0; const char* how = ""; const char* hint = ""; if (lua_isnumber(L, 1)) what = (DWORD)lua_tonumber(L, 1); if (lua_isstring(L, 2)) how = lua_tostring(L, 2); if (lua_tostring(L, 3)) hint = lua_tostring(L, 3); if (ch) LogManager::instance().CharLog(ch, what, how, hint); else sys_err("LUA PREVENT: !ch on _char_log!"); return 0; } 4- FIX ISSUE ON WAR (Not for all sources, but you can put it also if you haven't the problem): find: battle_is_attackable on battle.cpp first IF for victim must be like this: if (victim->IsDead() || victim->IsObserverMode()) return false; second IF for Char must be like this: if (ch->IsStun() || ch->IsDead() || ch->IsObserverMode()) return false; Thx to read here, hope it'll be useful. Regards Hex
  14. 14 points
    Patch 18.2: https://mega.nz/#!smJGkaYI!gvxayN0f-UY87fNXYKuPU4eENY0BVYlUMkMF6s2hP0M Includes: effect icon locale_de metin2_patch_catchking metin2_patch_common metin2_patch_costume_soccer metin2_patch_dawnmist_dungeon metin2_patch_mundi metin2_patch_ramadan_costume metin2_patch_weapon_summer_2018 metin2_patch_worldcup2018 root uiscript
  15. 14 points
    I hate when some people delete their bug fix topic...
  16. 14 points
    I made a sequence generator script. You can find it in here: https://github.com/martysama0134/how-to-mt2-general/tree/master/sequence-generator This python script automatically generates the sequence table for `EterLib\NetStream.cpp` (in `s_bSequenceTable`) and `game\src\sequence.cpp` (in `gc_abSequence`). (the keys get changed every time you run the script) A sequence table is just a simple random generated array with 16x2048 bytes between 0x0 and 0xfe. Replacing the sequence table makes older/unwanted launchers unable to access the server.
  17. 14 points
    Definitely DevDick. You can find him several times dicking around in this new leaked root: (screenshot by Syreldar)
  18. 13 points
  19. 13 points
  20. 12 points
    Description : The mount will follow you. The bonuses is set from item_proto. https://i.gyazo.com/9dac9deaada344672a153f37575d0b13.mp4 https://i.gyazo.com/05713068360a55cbbe25db6761925030.mp4https://i.gyazo.com/de7397f26a0b7aeeb66e1b4ce4af5b0d.mp4 Code is based on default pet code from Ymir, i don't offer support for extra features, details, anyway easy for use. (Sorry for tutorial, not so perfect.) Download: https://mega.nz/#!eMIgVajA!uxIaISsLj3S5BipWsgEHIX4k84AcyGByIcF8DsTfv_E
  21. 11 points
    Thanks for the information nodelar is empty. (1kb) If still sth. is missing, just tell me the eterpack File Info: by Samagon ________ Extracted: 06/04/2018 (DD/MM/YYYY) Included patches: metin2_patch_common metin2_patch_etc_costume1 metin2_patch_etc metin2_patch_horse_sound metin2_patch_luck_sound https://mega.nz/#!0Hpx3IqS!cHGm6fd9boae711uECBEuq06gABF5viEwSpYJUDh_vg
  22. 11 points
  23. 10 points
    Hi devs, I just discovered many clients are using old versions of Unicows.dll, DevIL.dll and ILU.dll. It's not as hard to update them and if you are deeply into a client development you appreciate those SDK or PDB. DevIL & ILU (?) Default client is using 16 years old version. Come clean, looks horrible, right? These libraries are open source so you can modify them. Here you can download latest SDK. During those 16 years of development there have been a lot of changes, here is excerpt of them. Changes: DirectX 9 & 10 support New bilinear scaling routine Support for alpha-only formats Better support for ICO, GIF and DDS format Fixed minor bugs with BMP and PNG formats Fixed a lot of issues about DDS format A lot of bug fixes Unicows (?) Well, actually you can delete this library from your client and it won't have any effect on client proper working (Windows Vista and newer). However, you have to keep this library if you want to support compatibility with Windows 95, Windows 98 and Windows Millenium Edition. Here is available package which contains library, it's PDB and license. Sources: http://openil.sourceforge.net/ https://www.microsoft.com/en-us
  24. 10 points
    Hey Metin2dev-Community WE WISH EVERYONE HAPPY EASTER Lovely greetings Metin2dev-Team
  25. 10 points
    Some years ago I created a (python2) script to generate xtea keys randomly, here it is: xtea-keys-generator.rar You can also find it in here: https://github.com/martysama0134/how-to-mt2-general/tree/master/xtea-keys-generator It generates the code for EterNexus, for EterPack.cpp, and also the hex string you see inside the compiled launcher.