Jump to content

Metin2 Dev

Bot
  • Posts

    2151
  • Joined

  • Last visited

  • Feedback

    100%

Everything posted by Metin2 Dev

  1. Could someone share v1.6, please? Download link is dead for me
  2. But doesn't the standard EterPackManager already have this ? m_iSearchMode == SEARCH_FILE_FIRST CEterPackManager::Instance().SetSearchMode(bPackFirst);
  3. Download Alternative download links → Mega.nz This feature allows you to show extra minimap textures for the area over the edge of the map instead of just rendering black. There are only some maps that have these extra minimap textures. Here is an archive with those maps: [Hidden Content] (Internal: [Hidden Content] )
      • 64
      • muscle
      • Metin2 Dev
      • Love
      • Good
  4. Download Alternative download links → Mega.nz You can change the icon resources using the /e mall_icon [flag] command. (*flag value must always be 0 or greater) In order for this feature to work properly you need extra changes for CAniImageBox, CTextFileLoader and CMemoryTextFileLoader. You will find them in a separate folder called "EXTRA CHANGES".
      • 18
      • Metin2 Dev
      • Love
      • muscle
  5. Download Alternative download links → Mega.nz This is exactly what the name says: a static variable implementation in python. This was introduced with Messenger Renewal so you will see it under the flag: ENABLE_MESSENGER_RENEWAL In the archive you will also find the implementation for OutlineToolTipText (see the picture above). This is an example on how to use OutlineToolTipText : ## uiscript: { "name" : "rewind_button", "type" : "button", "x" : 215, "y" : 2, "default_image" : ROOT_PATH + "rewind_button_default.sub", "over_image" : ROOT_PATH + "rewind_button_over.sub", "down_image" : ROOT_PATH + "rewind_button_down.sub", "outline_tooltip_text" : uiScriptLocale.SELECT_BOX_TOOLTIP_REWIND_BUTTON, # 선택 중인 아이템의 위치로 이동할 수 있습니다. }, ## root: self.__exit_button.SetOutlineToolTipText(localeInfo.PRIVATE_SHOP_MAP_EXIT_BUTTON) Also this is an example on how to use the StaticVariable for another object: (QuestionDialog) class FriendGuildMemberInfoBar(object): def __init__(self, is_family=False): super(FriendGuildMemberInfoBar, self).__init__(is_family) self.__Initialize() self.__LoadWindow() ui.StaticVariable.Create(uiCommon.QuestionDialog, self.FAVORITE_QUESTION_DIALOG_KEY) def __OnClickFavoriteButton(self): member_data = self.GetLinkingMemberData() if None == member_data: return question_dialog = ui.StaticVariable.Get(self.FAVORITE_QUESTION_DIALOG_KEY) if None == question_dialog: return question_dialog.SetCancelEvent(ui.__mem_func__(self.__OnCloseQuestionDialog)) question_dialog.Open() if member_data.IsFavorite(): question_dialog.SetText(uiScriptLocale.COMMUNITY_DELETE_FAVORITE_QUESTION) question_dialog.SetAcceptEvent(ui.__mem_func__(self._OnDeleteFavorite)) else: question_dialog.SetText(uiScriptLocale.COMMUNITY_ADD_FAVORITE_QUESTION) question_dialog.SetAcceptEvent(ui.__mem_func__(self._OnAddFavorite)) def __OnCloseQuestionDialog(self): question_dialog = ui.StaticVariable.Get(self.FAVORITE_QUESTION_DIALOG_KEY) if None != question_dialog: question_dialog.Close()
  6. Download Alternative download links → Mega.nz This feature lets EditLine move focus with TAB, SHIFT+TAB, and optionally RETURN (for username/password in login window). - TAB -> Move to the next edit line - SHIFT+TAB -> Move to the previous edit line - AppendTarget(target) enables TAB focus by default. - AppendTarget(target, True) also moves focus when RETURN is pressed. Notes: - You need to add this to every edit line in your UI - I added an example for uiWhisper but you need to add it to the windows where you only have one editline too - When the parent window hides, FocusNavigator clears the saved index and kills focus from its targets => no more KillFocus calls on Close or Hide - Clicking non-focusable UI will reactivate the game window => no more ghost editlines and blocked UI
      • 26
      • Metin2 Dev
      • Flame
      • Love
      • Good
  7. Download Alternative download links → Mega.nz As you probably know if you have a big editline you can paste an item hyperlink in it. This feature allows you to block the hyperlink paste in a certain editline. The official servers use this in one place: the mailbox message editline. editLine.SetHyperLinkImpossible(True)
      • 31
      • Flame
      • Love
      • Good
      • Metin2 Dev
  8. Download Alternative download links → Mega.nz This feature lets TAB select the next nearby monster target. - you can only target monsters - m_kTargetVIDList keep a list of already targeted monsters so there is a rotation between them Note: the python calling and the chrmgr module changes are not official. Thy have an entire function handling the pressed key for the KeyChange system. When I finish the KeyChange system I will come back to this.
  9. Download Alternative download links → Mega.nz ## Map attribute setup: Use attribute flag 8 (1 << 3) on every client/server attr.atr tile where private shops should be blocked. ## Private shop map: The exit command in game/cmd_general.cpp checks map index 392. If your map index differs, change the line: if (ch->GetMapIndex() != 392) The client window checks map name: metin2_map_privateshop If your private shop map has another name, update root/uiprivateshop.py too. ## Notes: The npc positions are auto generated with a python script so the rotation is not accurate, only the position is.
      • 26
      • Metin2 Dev
      • Love
      • Good
      • muscle
  10. Download Alternative download links → Mega.nz This is a replacement for StoreSlotCoolTime / RestoreSlotCoolTime. This is a proper fix, store/restore was more like a patch for the problem.
      • 49
      • Love
      • Metin2 Dev
      • muscle
      • Good
      • Flame
  11. Download Alternative download links → Mega.nz From today on I will also post the Pseudocode for the respective code. You need the following for this to work properly: [Hidden Content] [Hidden Content] [Hidden Content] Notes: - For clipping mask there are two different PythonWindow.cpp files - chose the one you need
      • 23
      • Metin2 Dev
      • Love
      • Good
  12. Hello. Now I see what you are talking about. The wz developers are just idiots, as always. I am pretty sure the logic was meant to be like I made it because they added this EnableFrustum to over 200 effects, some having 0 and some having 1. The mistake was that I set m_bEnableFrustum to False in ::Clear which was supose to be True (my bad). After looking again the final code in official will be: // Change inside ParticleProperty.cpp: void CParticleProperty::Clear() { ... m_bEnableFrustum = TRUE; } // Change inside ParticleSystemData.cpp if (rTextFileLoader.GetTokenBoolean("enablefrustum", &m_ParticleProperty.m_bEnableFrustum)) { m_ParticleProperty.m_bEnableFrustum = FALSE; } With this it will work exactly like on official, meaning if the variable "enablefrustum" exist in the mse (the value doesn't matter) => the frustum check will be disabled (yeah, no logic). My recomandation (NOT OFFICIAL): // Change inside ParticleProperty.cpp: void CParticleProperty::Clear() { ... m_bEnableFrustum = TRUE; } // Change inside ParticleSystemData.cpp if (!rTextFileLoader.GetTokenBoolean("enablefrustum", &m_ParticleProperty.m_bEnableFrustum)) { m_ParticleProperty.m_bEnableFrustum = TRUE; } This code will work like this: 1. If the variable exist in the file: m_bEnableFrustum will take the value from the file 2. If the variable does not exist in the file: m_bEnableFrustum will be True
  13. Download Alternative download links → Mega.nz With this tool you can dump the oficial protos (v26.0.6) in a format you like. For now only the last protos work. I don't know if I will update it to suport other type of protos. Features: - you can dump only the columns you need - you can dump only the languages you need - you can change the column strings however you like - a file with "saved_data" is provided which is basically a database for the columns the official servers don't pack in the protos [Hidden Content] [Hidden Content] [Hidden Content]
      • 20
      • Love
      • Metin2 Dev
      • Good
  14. Download Alternative download links → Mega.nz PS: I don't know what versions these fixes were added in Fixes: - First click doesn't fail anymore (when clicking from a distance) - If the mining fails the change will be broadcasted around (also for you) Notes: - InstanceBase.cpp -> FUNC_WAIT: this is diferent in the oficial binary, I just adapted it for mining only - Server part is just a guess because they added this (kDigMotion.target_vid == 0 && kDigMotion.count == 0) in PythonNetworkStreamPhaseGame.cpp - The notice function from game.py is also changed (def OnCannotMining) but I can't find the texts in locale_game.txt
  15. Download Alternative download links → Mega.nz Features: - When you recieve damage and is 0 it will print MISS - New icons for critical/penetrate/crit+pene mix/block/dodge - All damage is rendered last in the pipeline so it's printed above all other game objects (before interface) All python changes are made on the 2018 leaked root. Notes: - inside the .mse there is a new (to me) variable called "StaticRotation" that I didn't reverse yet - the "EnableFrustum" variable I think it was added some versions ago so I didn't place it under this feature flag - the "RecvDamageInfoPacket" have more info in the official binary (auto attack system). I only kept the relevant parts for these changes If I missed something please tell me and I will fix it as soon as posible!
  16. Slot Char Enlargement Alternative download links → Mega All python changes are made on the 2018 leaked root. How does it work: What is not official: - the game option part is not official, they use a new UI now for game options - the option save part is not oficial, they use something called "Char Config" which is basically the normal config but diferent for every character For any issues reply in this thread and I will come with solutions!
  17. Patch 26.0.6 Alternative download links → metin2.download is down
  18. char_item.cpp part
  19. I removed the code that you mentioned to bypass sex if. And if you transmute an armor with a male only costume and equip it on a female it works just fine. Why do we have to check if it fits the right gender?
  20. This exploit appears in the more recent item_proto.txt from official servers. They added ITEM_TUNABLE flag for all refineable items. The problem is the source have no check for USE_DETACHMENT to only work on weapons or armors. How the exploit works: 1. You get a necklace and you add ORE on it 2. You wait until the time of ore arrives at a perfect vnum like 80012 (DR Voucher) 3. You use USE_DETACHEMENT scroll on that necklace and you will get a DR Voucher The fix: Add a check in char_item.cpp inside case USE_DETACHMENT: like this: if(item2->GetType() != ITEM_WEAPON && !(item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY)) return false; Have fun!
  21. Good job If I remember corectly the last part with packet_encode is also a memory leak fix
  22. Nice catch There is also one in GuildManager.cpp in void CGuildManager::Update(): const TGuildWaitStartInfo & ws = m_pqWaitStart.top().second;
×
×
  • 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.