Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 01/10/21 in all areas

  1. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) [Hidden Content]
    32 points
  2. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) [Hidden Content]
    26 points
  3. Python version. Work in both ways. From inventory to safebox and from safebox to inventory. [Hidden Content]
    16 points
  4. M2 Download Center Download Here ( Internal ) Hello everyone. Yesterday @Doonqa asked me if I could reverse this function of the game from the official binary. Known fact these functions are necessary and obligatory for the multilanguage systems and I have them since years ago, here they are. Download Any problem appears, comment box is down below ⬇ Cheers!
    14 points
  5. Hi guys, There's a guy that is blackmailing all servers that are using my offlineshop. Not just my clients, but also those who downloaded it from some idiot's leak. I'm sharing the fix here as 60/70% of the servers currently open use my shop. Fix: Random User : Why are u sharing it using metin2dev? Answer: I m bored to see this guy make money by blackmailing. Random User part2: Is it right to share this fix even with those who are not your customer? Answer: I honestly think that anyone who uses
    13 points
  6. Added new face for assassin woman. Details on the first page.
    11 points
  7. M2 Download Center Download Here ( Internal ) Download Here ( GitHub )
    10 points
  8. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) This is for those who use the official character select window. There is only the source part. You can check the 2018 root for the pack side.
    8 points
  9. After couple of requests and a bit of reverse engineering here is the snippet for the new appearance of level, if you need it.
    8 points
  10. Hello, int CInputMain::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) if (ch && ch->IsPC()) { if (get_global_time() < ch->analyze_protect) { ch->analyze_protect_count = ch->analyze_protect_count + 1; ch->ChatPacket(CHAT_TYPE_INFO, "<test server> analyze_protect_count. Count %d", ch->analyze_protect_count); if (ch->analyze_protect_count >= 300) { ch->analyze_protect_count = 0; d->SetPhase(PHASE_CLOSE); return (0); } } else ch->analyze_protect_count = 0; ch->analyze_pr
    8 points
  11. GF v20.6.5 Patch Contents: Locales with decrypted protos root+meta, uiscript, dumped binary About the protos: I'm not sure if the structs are 100% right because I did not find any reference in the binary about the new values but here are the changes I found: Item proto: Sockets increased to 6 from 3 | Added elemental refine element values Mob proto: Definetely unsure, sungmahee stats and exp, reorganised raceflags string arMRFVRaceFlag[] = { "ANIMAL", "UNDEAD", "DEVIL", "HUMAN", "ORC", "MILGYO", "INSECT", "DESERT", "TREE", "DECO", "HIDE",
    7 points
  12. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) [Hidden Content]
    7 points
  13. I've updated the tutorial by adding a new branch called vsimpl: https://github.com/martysama0134/how-to-cython-mt2/tree/vsimpl/HowToCython/CRootLib This will be very helpful for the following reasons: Automatic cythonization when you compile (via pre-compilation event) Only edited cythonized files will be compiled, and not everything every time i.e. I've previously fixed a bug in the main branch, so now only edited python files will be re-cythonized and not everything every time
    4 points
  14. Random User part4: Can you share the base so we can use the fix? Answer: Yes
    4 points
  15. Typical for romanians, they're so hungry for money.. @MadalinAlaska - Banned You should know that with those things what you did, you won't be happy in a long term. Have careful with karma, you'll have a server online in one day, those guys will revenge themselves somehow.
    4 points
  16. M2 Download Center Download Here ( Internal ) Hi guys, these work took for about 20 minutes to make but seems that players love it. It's just a small retouch for upgrade + so they can be seen wich one are with + and wich are not. And a retouch for stones (color of the stones) Stones +0, +1, +2 have black and white icons Stones +3 have normal color Stones +4 have enchanted color (usfeull for searching in shops) Download: Virustotal: https://www.virustotal.com/gui/fi
    4 points
  17. M2 Download Center Download Here ( Internal ) Hello everyone, this is my first map, I hope you enjoy it. IMG Download: https://www.mediafire.com/file/8vz6aredx8mbj8w/GM_MAP.rar/file
    4 points
  18. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) There's just a smart python module which i did for fun, for a friend, no support for implementation. Enjoy. Github repository: [Hidden Content]
    4 points
  19. Don't bother other people. First of all, we know that the system is working properly. I've seen many people are using it. You guys are using martysama source. I don't have that src so I can't help you for that kind of things. Probably problem is with packets.
    3 points
  20. #Changelog: Defined _USE_32BIT_TIME_T Fixed creating character bug.
    3 points
  21. #Changelog: boost removed. Guild Icon Problem Fixed.(DevIL-1.8.0 -> DevIL-1.6.5) Crypto++ 8.2.0 -> Crypto++ 8.4.0 Memory Leak Fix about Pack type Hybrid - SDB and Panama ScreenShot Quality Improved. /std:c++latest
    3 points
  22. Btw, instead of adding a .SetDelay() to all objects, you could do do a simple change. for all visual ani_image from screen. root/ui.py Search for: if True == value.has_key("delay"): window.SetDelay(value["delay"]) Replace with: [Hidden Content] So, you don't have to any part of python from tutorial, just this.
    3 points
  23. M2 Download Center Download Here ( Internal ) Download Here Useful to create in-game renders
    2 points
  24. This little code let you not attack mob if difference between you level and mob lever is over 15 //Battle.cpp //in bool battle_is_attackable(LPCHARACTER ch, LPCHARACTER victim) search: if (victim->IsDead()) return false; //Add Under: if (!(victim->IsPC())) { if (ch->GetLevel() - victim->GetLevel() > 15) { return false; } } GitHub
    2 points
  25. Those have not got leaked until now. You can use some informations from the dump I used to add to the official packs and some exercise to make it done how it is working.
    2 points
  26. You can pack almost any dll the client needs. It makes sure that the environment the players run your binary is the same. For example there's visual studio redistributable which depends on the vs version installed - and even then there are multiple minor versions. If you use vc 140 compiler for example players will need the 140 redistributable, otherwise they can't run your binary. To make sure the players have exactly the same dlls as you, you'd just bundle them with the client - which of course leads into more dlls located inside the client directory. But this way you can distribute your dll
    2 points
  27. M2 Download Center New V3 - V2 V1 Download Here ( GitHub ) Prepared src packages: *Granny 2.11.8 *libjpeg-9a *Python-2.7 *Crypto++ 8.4.0 *DevIL-1.6.5 *lzo-2.10 Archive password: black
    2 points
  28. When you reset your skill group more then once in a row, you will get this weird bug when you cant see the real skill level + cant use the skills until you relog. With this fix you dont need to relog anymore. Video explaining the bug: https://www.youtube.com/watch?v=P3_MpfmH9dk To fix that, we need to change just 1 line - in file ClientSRC/UserInterface/PythonNetworkStreamPhaseGame.cpp in the function bool CPythonNetworkStream::RecvChangeSkillGroupPacket() change the line CPythonPlayer::Instance().NEW_ClearSkillData(); to CPythonPlayer::Instance().NEW_ClearSkillData(t
    2 points
  29. M2 Download Center Download Here ( Internal ) Heys guys, I just realized that so many of you still using that vdi from 2014 with an old bsd and an old gcc that was not even c++11 compatible. So that I just created a new image with a fresh FreeBSD (12.1) having gcc 9 and without an Extern directory (all externals are installed from pkg repo). I put on some (I think) unmodified sources that can be compiled on it but you can upload your own files there. I hope it will make many of yours life easier! Download: https://mega.nz/file/PNgW1DjJ#g_FUHsjGUfyqcf
    2 points
  30. M2 Download Center Download Here ( Internal NEW V2 ) Download Here ( GitHub ) Includes winter and day-night change.
    2 points
  31. M2 Download Center Download Here ( Internal ) Download: [Hidden Content]
    2 points
  32. M2 Download Center Download Here ( Internal 2.5 ) Download Here ( Last Release ) This is an archiver I've created, and it looks quite stable so far. The PackMakerLite (PML) supports type 0-1-2-3-4-5-6 (type 4-5 only pack, type 6 only unpack). As a summarize, the metin2 types are handled like this: Type 0 - only storage (no encryption/compression; it can be read fully from the .epk) Type 1 - compressed - lzo(file) Type 2 - compressed and encrypted - xtea(lzo(file)) Type 3 - encrypted with Panama - you must save an .iv key server-side in
    2 points
  33. There are a lot of people which had problem with localeInfo because korean-characters and bad encoding, there's a clean file with refactored code. Removed all the code which isn't used like korean characters < bad encoding [runmain error / crash](editors problem) and more checks. Removed over 500 lines unused. Removed function mapping(**kwargs) and use constructor of dict > dict(**kwarg) which is same (**kwarg let you take arbitrary number of keyword arguments). Removed function CutMoneyString because is used just when locale is HongKong, CIBN. Removed che
    2 points
  34. You don't need server source for this, you can do it directly via source client. For being in real time you'll need to do a boolean variable inside of CInstanceBase class which is updated from RecvAffectAddPacket, RecvAffectRemovePacket for each instance. So with that you could do a function like chrmgr.IsPoisoned(self.GetTargetVID()) which will result the status of poison for specific vid and check it in OnUpdate. Btw, the implementation is very bad, if i would want to do this, i don't touch the hpGauge, just add a new gauge bar over the hpGauge and hide/show it, that's all, co
    2 points
  35. ../Srcs/Client/UserInterface/PythonPlayerInput.cpp Replace the whole function void CPythonPlayer::__SetAutoAttackTargetActorID(DWORD dwVID) with: [Hidden Content]
    2 points
  36. @Mali61 Good idea, but what i did doesn't work like this. You've to check each dragon soul from all pages if they aren't expired and the specific page is activated too. [Hidden Content]
    2 points
  37. @cjunior2011 @Syriza @nonnorulez [Hidden Content]
    2 points
  38. 1 point
  39. Thanks, code updated Changes in: InstanceBaseEffect.cpp Add two files: PythonTextTail.h PythonTextTail.cpp
    1 point
  40. http://vegas-projects.com/client-optimization/ thanks me later...
    1 point
  41. That's right, the default code is crap for this scenario with extended requirements. If you add a value to vnum4 and count4, the refining will not work anymore for that ID, the required items will be ignored, you can upgrade the item without any requirements. Basically what they did is to set the material count just when the next column of 'vnum' is empty. Let's take two examples: The refine proto id 430, will have material_count = 1, because the next column 'vnum1' is empty and the condition was fulfilled. The refine proto i
    1 point
  42. GF v20.6.2 Patch All files together Separated folders m_* New pet, mount, costume + hairstyle root metas Who knows
    1 point
  43. if (dwDistance < dwCloseItemDistance && (pInstance->stOwnership.empty() || pInstance->stOwnership == myName || CPythonPlayer::Instance().IsPartyMemberByName(pInstance->stOwnership.c_str()))) #include "PythonPlayer.h"
    1 point
  44. Dear community, this is my first guide for you in which I will show you how you change the older Granny 2.4 version which is the client using to the newer Granny 2.9 version. For this tutorial I'm using the mainline_released client source (all client sources are the same as I heard). DO NOT FORGET TO CREATE BACKUPS! 1. Step: Navigate to novalineSrcsToolsRAD Game Toolsgrannycommon and unzip the file granny_common_2_9_12_0_release.zip. You will receive some folders. Now you navigate into the folder include and copy the granny.h file to the include folder of your client (for me it's
    1 point
  45. You could do it with a map. [Hidden Content] Also you could use my C++ library (there exists python too) for coloring a string, much easier. https://github.com/Vegas007/Metin2-Color-Formatter #include "cff.h" std::string text = CFF::format("Metin2", "green"); std::string text = CFF::format(std::to_string(8000), "banana"); std::string text = CFF::format(std::to_string(412.55), "red"); std::string text = CFF::format("Pending", "#113355"); std::string text = CFF::format("Item name:", "springgreen", CFF::FLAG_NEW_TAB) + CFF::format(pItemData->GetName(), "c
    1 point
  46. v19.6.12 XMas Patch msm files Includes(latest modified files): New pets New mounts New costumes Locales(protos sunday [15th]) Example pictures:
    1 point
  47. Hi everyone, I would like to share a memory leak fix about pack type Hybrid, Hybrid with SDB and panama. I saw it while analyzing Webzen's new pack type. EterPack.cpp Search this: if( !m_pCSHybridCryptPolicy->DecryptMemory(std::string(filename), static_cast<const BYTE*>(*data), index->data_size, *zObj) ) { return false; } Replace with this if( !m_pCSHybridCryptPolicy->DecryptMemory(std::string(filename), static_cast<const BYTE*>(*data), index->data_size, *zObj) ) { delete zObj; return false; } Search this: if( !m_pCSHy
    1 point
×
×
  • 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.