Honorable Member xP3NG3Rx 19665 Posted October 1, 2015 Honorable Member Share Posted October 1, 2015 (edited) M2 Download Center This is the hidden content, please Sign In or Sign Up ( Internal ) Hi, developers! Before you start, create a backup from your source files immediately! Today I'm gonna share with you my last work. I have read every informations from the official binary from beta(metin2client_r11185) and r7071. It was not an easy task to understand functions but successed. I will not write down the implementation step by step, but I wrote some informations into the files what you should to do to implement the system. If you do not understand the steps I put original(from dev branch) and modified files into the archive to compare the original and the changed files with notepad++ or something else comparer tool to see the changes. - There are some files which optional changes to show the mob-aiflag on those monsters which are not aggressive but summoned by aggressive with "/ma" command. - There was a little problem with Python 2.7.3 therefore I split asunder the gui-script. And be careful, the main script is using True and False variables. - You can disable the whole system in common/service.h and UserInterface/Locale_inc.h with undefined or with commented macro. I hope everything are understandable and I did not miss something from the release, and sorry for my bad english. Special thanks to TheSLZ for test the implementation. And last but not least here is the result: Spoiler This is the hidden content, please Sign In or Sign Up Edited August 20, 2022 by Metin2 Dev Core X - External 2 Internal 173 2 1 2 4 2 4 3 2 1 62 1 8 112 Link to comment Share on other sites More sharing options...
ds_aim 241 Posted October 1, 2015 Share Posted October 1, 2015 How do you succed to unpack new binary ? OEP it's on RVA 2B92E8. But i dont' t succeded to unpack. Code was virtualized? Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19665 Posted October 1, 2015 Author Honorable Member Share Posted October 1, 2015 I did not unpack, I'm debugging with IDA Pro v6.6. 1 Link to comment Share on other sites More sharing options...
thespeedy 20 Posted October 1, 2015 Share Posted October 1, 2015 can anyone a picture with english or german text? Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19665 Posted October 1, 2015 Author Honorable Member Share Posted October 1, 2015 Monster-information [Level] [Aggressive]Monsters:Fekete ork -> Black orcSzellemfa -> Ghost treeOrk varázsló -> Orc magician 1 Link to comment Share on other sites More sharing options...
ZacqooLeaven 48 Posted October 1, 2015 Share Posted October 1, 2015 thanks Link to comment Share on other sites More sharing options...
Tasho 243 Posted October 1, 2015 Share Posted October 1, 2015 thanks, but one more thing if I may ... I sow that you have IsPet() in thows files, can you be so kind to release only the IsPet part? I tried some shit but wont work Link to comment Share on other sites More sharing options...
Krixius 13 Posted October 1, 2015 Share Posted October 1, 2015 1001 18:15:24143 :: 'module' object has no attribute 'WJ_SHOW_MOB_INFO' Link to comment Share on other sites More sharing options...
Premium Galet 510 Posted October 1, 2015 Premium Share Posted October 1, 2015 (edited) Hi, where do you get the : "metin2client_r11185 and r7071" From the official client then opened it using IDA ? Thanks, maybe better than my own ! Edited August 20, 2022 by Metin2 Dev Core X - External 2 Internal 6 1 2 Link to comment Share on other sites More sharing options...
Futi 6 Posted October 1, 2015 Share Posted October 1, 2015 Level is displayed but the * on the Aggressiv Monster Not Link to comment Share on other sites More sharing options...
Active Member Koray 1996 Posted October 1, 2015 Active Member Share Posted October 1, 2015 I have off topic question, do you know what do mean "wj" ? there are a lot of this word in new function macros Link to comment Share on other sites More sharing options...
Krixius 13 Posted October 2, 2015 Share Posted October 2, 2015 Hi, all works fine but this have a error. When i press Level in Game Options. The level don't disapear ._. So, the option don't works. Link to comment Share on other sites More sharing options...
Premium Mano 22 Posted October 2, 2015 Premium Share Posted October 2, 2015 epic release from epic developer gonna test it today Link to comment Share on other sites More sharing options...
Premium ragem0re 155 Posted October 2, 2015 Premium Share Posted October 2, 2015 Hi, first of all thanks for your hard work. The level display works fine, but like Futi said, the * on aggressive mobs does not work. Link to comment Share on other sites More sharing options...
Premium Mano 22 Posted October 2, 2015 Premium Share Posted October 2, 2015 (edited) i added it and the mob level is working good but Aggressive mobs is not working Edited October 2, 2015 by Mano Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19665 Posted October 2, 2015 Author Honorable Member Share Posted October 2, 2015 First of all sorry for lately reply.Yes I know already TheSLZ informed me, sorry for that but I missed out something from the UserInterface/NetworkActorManager.cpp, I will update the archive within some minutes after I had recheck everything again. CInstanceBase* CNetworkActorManager::__AppendCharacterManagerActor(SNetworkActorData& rkNetActorData) kCreateData.m_dwLevel=rkNetActorData.m_dwLevel; #if defined(WJ_SHOW_MOB_INFO) kCreateData.m_dwAIFlag=rkNetActorData.m_dwAIFlag; #endif kCreateData.m_dwGuildID=rkNetActorData.m_dwGuildID; The IsPet() part same with IsPC() if you follow the line in back(Go to definition in VS) just the different is that the Pets(the new growable pets) have new instance type (TYPE_PET = 10, pc is 6 etc). gameLib/ActorInstance.cpp + Header file into class CActorInstance bool IsPet(); bool CActorInstance::IsPet() { if (TYPE_PET == m_eActorType) return true; return false; } UserInterface/InstanceBase.cpp + Header file into class CInstanceBase BOOL IsPet(); BOOL CInstanceBase::IsPet() { return m_GraphicThingInstance.IsPet(); } gameLib/ActorInstance.h enum EType { TYPE_ENEMY, TYPE_NPC, TYPE_STONE, TYPE_WARP, TYPE_DOOR, TYPE_BUILDING, TYPE_PC, TYPE_POLY, TYPE_HORSE, TYPE_GOTO, TYPE_PET, TYPE_OBJECT, // Only For Client }; @koray: Sorry but I do not know what does it mean the WJ tag. @galet I have an unpacked r7071 but the imports are not corrected and crash when starts, but can load it in ida, and the (already not actual) r11185(from beta) able to debug with attach process when ... I do not want to tell that because "they" are reading this forum as Shogun said and I do not want to change this state, because I want to bebug the new binaries in the future continuously . About: Module object has no attribute "blablabla". Check your pythonsystemmodule.cpp file again and add the new variable if you did not do yet. 5 Link to comment Share on other sites More sharing options...
Premium Mano 22 Posted October 2, 2015 Premium Share Posted October 2, 2015 ahahah even after adding it into CInstanceBase* CNetworkActorManager::__AppendCharacterManagerActor(SNetworkActorData& rkNetActorData) under kCreateData.m_dwLevel=rkNetActorData.m_dwLevel; i had added this as you said #if defined(WJ_SHOW_MOB_INFO) kCreateData.m_dwAIFlag=rkNetActorData.m_dwAIFlag; #endif and there is still bug on it the * is not shown Link to comment Share on other sites More sharing options...
Despero 130 Posted October 2, 2015 Share Posted October 2, 2015 (edited) First of all sorry for lately reply.Yes I know already TheSLZ informed me, sorry for that but I missed out something from the UserInterface/NetworkActorManager.cpp, I will update the archive within some minutes after I had recheck everything again. CInstanceBase* CNetworkActorManager::__AppendCharacterManagerActor(SNetworkActorData& rkNetActorData) kCreateData.m_dwLevel=rkNetActorData.m_dwLevel; #if defined(WJ_SHOW_MOB_INFO) kCreateData.m_dwAIFlag=rkNetActorData.m_dwAIFlag; #endif kCreateData.m_dwGuildID=rkNetActorData.m_dwGuildID; Works ! Thank you https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif Edited August 20, 2022 by Metin2 Dev Core X - External 2 Internal 1 1 1 Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19665 Posted October 2, 2015 Author Honorable Member Share Posted October 2, 2015 You're welcome! 2 Link to comment Share on other sites More sharing options...
Despero 130 Posted October 2, 2015 Share Posted October 2, 2015 (edited) You're welcome! Can you pls add me in Skype: -EDIT- Edited October 20, 2015 by Shisui Skype ID removed (Read Board Rules) Link to comment Share on other sites More sharing options...
Honorable Member xP3NG3Rx 19665 Posted October 2, 2015 Author Honorable Member Share Posted October 2, 2015 (edited) @Despero: I can't log into my skype, because of my slow internet bandwith(32kbps). Optional update: char_item.cpp> //1. Search this function: bool CHARACTER::GiveItemFromSpecialItemGroup(DWORD dwGroupNum, std::vector<DWORD> &dwItemVnums, std::vector<DWORD> &dwItemCounts, std::vector <LPITEM> &item_gets, int &count) //And replace the MOB case of switch (dwVnum) with this: case CSpecialItemGroup::MOB: { sys_log(0, "CSpecialItemGroup::MOB %d", dwCount); int x = GetX() + number(-500, 500); int y = GetY() + number(-500, 500); CHARACTER_MANAGER::instance().SpawnMob(dwCount, GetMapIndex(), x, y, 0, true, -1, true, true); bSuccess = true; } break; questlua.cpp> //1. Search the mob_spawn function. //Replace this: //############################################################################ mob = CHARACTER_MANAGER::instance().SpawnMob(mob_vnum, ch->GetMapIndex(), x, y, 0); //############################################################################ //With this: //############################################################################ mob = CHARACTER_MANAGER::instance().SpawnMob(mob_vnum, ch->GetMapIndex(), x, y, 0, false, -1, true, true); //############################################################################ //2. Delete this from the mob_spawn function: //############################################################################ if (bAggressive) mob->SetAggressive(); //############################################################################ Edited October 3, 2015 by xP3NG3Rx Update added 2 Link to comment Share on other sites More sharing options...
Krixius 13 Posted October 5, 2015 Share Posted October 5, 2015 the button for hide level of mobs, don't work ._., any idea for fix it? Regards Link to comment Share on other sites More sharing options...
Premium ragem0re 155 Posted October 5, 2015 Premium Share Posted October 5, 2015 the button for hide level of mobs, don't work ._., any idea for fix it? Regards Check the code again, everthing is working fine for me Link to comment Share on other sites More sharing options...
Eko 25 Posted October 8, 2015 Share Posted October 8, 2015 Thank you man, very nice share 1 Link to comment Share on other sites More sharing options...
Chris 0 Posted October 9, 2015 Share Posted October 9, 2015 //// Link to comment Share on other sites More sharing options...
Recommended Posts