Jump to content

Search the Community

Showing results for tags 'python'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Metin2 Dev
    • Announcements
  • Community
    • Member Representations
    • Off Topic
  • Miscellaneous
    • Metin2
    • Showcase
    • File Requests
    • Community Support - Questions & Answers
    • Paid Support / Searching / Recruiting
  • Metin2 Development
  • Metin2 Development
    • Basic Tutorials / Beginners
    • Guides & HowTo
    • Binaries
    • Programming & Development
    • Web Development & Scripts / Systems
    • Tools & Programs
    • Maps
    • Quests
    • 3D Models
    • 2D Graphics
    • Operating Systems
    • Miscellaneous
  • Private Servers
    • Private Servers
  • Uncategorized
    • Drafts
    • Trash
    • Archive
    • Temporary
    • Metin2 Download

Product Groups

  • Small Advertisement
  • Large Advertisement
  • Advertising

Categories

  • Third Party - Providers Directory

Categories

  • Feature Plan

Categories

  • Release Notes

Categories

  • Overview
  • Pages
    • Overview
    • File Formats
    • Network
    • Extensions

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Pillory


Marketplace


Game Server


Country


Nationality


Github


Gitlab


Discord


Skype


Website

  1. Here's the correct guide on how2 pickup motion. Firstly go to UserInterface/PythonCharacterModule.cpp and search for: PyModule_AddIntConstant(poModule, "NEW_AFFECT_DRAGON_SOUL_QUALIFIED", CInstanceBase::NEW_AFFECT_DRAGON_SOUL_QUALIFIED); add this function under it: PyModule_AddIntConstant(poModule, "MOTION_PICK_UP", CRaceMotionData::NAME_PICK_UP); Secondly go to UserInterface/PythonPlayerInput.cpp and search for: void CPythonPlayer::PickCloseItem() add this function: pkInstMain->GetGraphicThingInstancePtr()->InterceptOnceMotion(CRaceMotionData::NAME_PICK_UP); Thirdly go to GameLib/ActorInstanceMotion.cpp and search for: case CRaceMotionData::NAME_SLAP_HURT_WITH_SHAMAN: add this function under it: case CRaceMotionData::NAME_PICK_UP: Fourthly go to GameLib/RaceManager.cpp and search for: s_kMap_stType_dwIndex.insert(std::map<std::string, DWORD>::value_type("SKILL5", CRaceMotionData::NAME_SKILL+125)); add this function under it: s_kMap_stType_dwIndex.insert(std::map<std::string, DWORD>::value_type("PICK_UP", CRaceMotionData::NAME_PICK_UP)); Fifthly go to GameLib/RaceMotionData.cpp and search for: case NAME_DIG: add this function under it: case NAME_PICK_UP: Sixthly go to GameLib/RaceMotionData.h and search for: NAME_JOY, add this function under it: NAME_PICK_UP, Compile it and you're good to go. Now to finish this tutorial, go to root/playersettingmodule.py and search for: def SetGeneralMotions(mode, folder): add this function: chrmgr.RegisterCacheMotionData(mode, chr.MOTION_PICK_UP, "pick_up.msa") Tutorial finished, have fun.
  2. SERVER PART: input_main.cpp void CInputMain::PartyUseSkill(LPCHARACTER ch, const char* c_pData) { TPacketCGPartyUseSkill* p = (TPacketCGPartyUseSkill*) c_pData; if (!ch->GetParty()) return; if (ch->GetPlayerID() != ch->GetParty()->GetLeaderPID()) { ch->ChatPacket(CHAT_TYPE_INFO, "<Group> Only the leader can use this function."); return; } switch (p->bySkillIndex) { case PARTY_SKILL_HEAL: ch->GetParty()->HealParty(); break; case PARTY_SKILL_WARP: { if (ch->GetSkillLevel(SKILL_LEADERSHIP) >= 10) { //10 IS THE MIN LEVEL OF LEADERSHIP SKILL TO USE TELEPORT LPCHARACTER pch = CHARACTER_MANAGER::instance().Find(p->vid); if (pch) { ch->GetParty()->SummonToLeader(pch->GetPlayerID()); }else{ ch->ChatPacket(CHAT_TYPE_INFO, "<Teleport> The character is not online."); } }else{ ch->ChatPacket(CHAT_TYPE_INFO, "<Teleport> You need upgrade your leadership skill to use this function."); } } break; } } party.cpp void CParty::SummonToLeader(DWORD pid) { LPCHARACTER l = GetLeaderCharacter(); if (m_memberMap.find(pid) == m_memberMap.end()) { l->ChatPacket(CHAT_TYPE_INFO, "<Teleport> The character is too far."); return; } LPCHARACTER ch = m_memberMap[pid].pCharacter; if (!ch) { l->ChatPacket(CHAT_TYPE_INFO, "<Teleport> The character was not found in your map."); return; } if (ch->IsDead()) { l->ChatPacket(CHAT_TYPE_INFO, "<Teleport> I can't teleport the character if he is dead."); return; } ch->Show(l->GetMapIndex(), l->GetX(), l->GetY()); ch->Stop(); } CLIENT PART: root -> uiparty.py FIND THE __ShowStateButton and: ## Warp if self.stateButtonDict.has_key(self.MEMBER_BUTTON_WARP): button = self.stateButtonDict[self.MEMBER_BUTTON_WARP] button.SetPosition(xPos, y) button.Show() xPos += 23 Thanks to marty sama that sell this for 50€. NOW IT'S COMPLETELY FREE!
  3. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Hi everyone, in my free time I'm trying to upgrade the mainline to most recently webzen releases. This is the Mythic Class of DS, enjoy. [Hidden Content] In order to use it as Webzen does, you need to have implemented:
  4. Reversed From Official Binary A feature created so that each character has a separate config settings [Hidden Content] [Hidden Content]
  5. Hello metin2 Dev. I'm here to present a method on how to create a new passive skill. the design of my own passive won't be shared so i recommend you to create a new one. Here is a gif. So, let's go to the tutorial. And this is how you create a new support skill. Anything you need help with, don't hesitate to write here or to contact. With best regards, Doose.
  6. M2 Download Center Download Here ( Internal ) Nothing much, something quite simple but it gives it’s looks for those who are interested in details, so let’s start with it. Here is a visual appearance of the application window. [Hidden Content] Sorry for the low quality GIF. Here is a bigger view, [Hidden Content] UserInterface/Locale_inc.h UserInterface/PythonApplicationModule.cpp UserInterface/PythonNetworkStream.cpp Client/root/game.py
  7. M2 Download Center Download Here ( GitHub ) Download Here ( MEGA ) Download Here ( Internal ) Hey M2Dev, here is a little statistics overview of the Round Trip Time (RTT) Ping and Packet Loss. Usefully for some, useless for others, so I decided to share it. Preview The image is an example... The results where not captured accurately because they kept updating while I tried to take screenshots. You will not get any PING on localhost. If you find any problems let me know.
  8. Download GitHub Repository Temporarily boosts the character's physical attack and / or skill damage. You can learn more about the system from the official wiki page. Thanks to @blackdragonx61 for the reversed effect position.
  9. cross-channel maintenance can be turned on or off. When you start the maintenance, the maintenance screen is instantly displayed to the players who are in the game. The maintenance screen appears for players who log into the game. When you cancel the maintenance, the maintenance screen is closed for all players. M2 Download Center Download Here ( Internal ) [Hidden Content] I coded the system open to development. You can add the reason for maintenance if you want.
  10. Hello, As the title says, there is a significant exploit in the chat link system. Given that many servers utilize this system, I believe most private servers are affected by this exploit. Essentially, someone can execute any CMD command they want on a player's computer by instructing them to click on an item. How does it work? [Hidden Content] He sends this through whisper or public chat, and the player clicks on the item. The command opens notepad.exe. How can you fix it? Firstly, STOP using os.system to open links. There are special libraries for that, such as the one I will use to implement this fix. Please note that this is a straightforward fix and may not be 100% foolproof because malicious links can still be sent to open in the browser. I recommend using a link validation technique on the server side and allowing only specific links. [Hidden Content]
  11. M2 Download Center Download Here ( Internal ) Auto refine option when you upgrade the item with SCROLL or on NPC. I did all checks like example : When you have just one scroll in inventory, refine window will be close. When the item is already maximum upgrade. (+8 to +9 just in case will be succes) and more .. Preview: [Hidden Content] Download : [Hidden Content]
  12. M2 Download Center Download Here ( Internal ) Since some piece of shit ''developer'' decided that it's ok to resell my system, here you go. [Hidden Content] have fun.
  13. M2 Download Center Download Here ( Internal ) Download Here ( GitHub )
  14. Hi, I don't know if you've noticed, but every time you open a shop or want to add a stone to an item, the window inexplicably opens somewhere on the right at the top near the inventory. It bothered me for quite a while, so I looked into the code, and the fix is very easy. I'm sharing it with you, and I would appreciate it if you let me know if any other window does the same, as I've only noticed these two so far. Open uiattachmetin.py and search in def Open(self, metinItemPos, targetItemPos): self.UpdateDialog() Add under: self.SetCenterPosition() ############################ Open uishop.py and search in def Open(self, vid): self.Refresh() Add under: self.SetCenterPosition() Thats all :D
  15. 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()
  16. Reversed from 22.2.7.0 Official Binary Client part is from 2018 Official Root [Hidden Content] [Hidden Content]
  17. Hello, I've added strong against metins/bosses, and now, I am trying to add em to item_attr. The goal is to make what is a bonus that I can add manually to an item, to be "addable" by add/change bonus items, if that makes sense? Now I do not know what that implies, any ideas/suggestions would be much apreciated! PS. I did try to add a new row in the table with APPLY_ATTBONUS_METIN, no luck tho. Thanks Tutorial by Owsap Server Source We can do the MySQL part now since we have finished with the server part. MySQL Now let's move on to the Client Source. Client Source Let's not forget our special tool, DumpProto. DumpProto Last but not least your client needs to read the new bonus type. Client Root And finally, your bonus needs a name. Client Locale ⚠ Following the order of the points and apply types are very important, make sure every modification is in order since an incorent order may read another bonus.
  18. M2 Download Center Download Here ( Internal ) Hi, here I publish my edit of the public Render Target System. I hate it, when people earn money with public systems. Preview: [Hidden Content] DL: [Hidden Content] Original Thread [Hidden Content]
  19. Download Other Mirros Download Here (GitHub) Download Here (Mega) Hey M2Dev, I want to share something small but visually appreciated by players that are paying attention to details. What I'm sharing with you today will solve the issue of item tooltips with large strings, these strings overflow the width of the tooltip causing the text to hang out of the edge, especially when metin stones are attached to your weapon or armor. BEFORE PREVIEW AFTER PREVIEW .
  20. A fool came and gave you no peace and you blocked this fool. Let's see what will happen. additional: while coding the system i fixed a few errors related to mesenge_manager and made adjustments and p2p works. -> You can block or delete a player from the list by typing the player's name from the Messenger panel. There is also a block button inside the target buttons. M2 Download Center Download Here ( Internal ) Download Here ( GitHub )
  21. M2 Download Center Download Here ( Advance Refine Systems ) Download Here ( Cheque System ) Download Here ( Soul Bind System ) Hello everyone ! I've been away from metin2 for about 6 months and i've get back from less then a month and made thoes systems , i've start selling them but i didn't sell it to anyone and i got bored from metin2 again so i'm going to release it and go off from metin2 for ever . about the Advance Refine System here some info: so download and have fun [Hidden Content]
  22. M2 Download Center Download Here ( Internal ) Download Here ( GitHub )
  23. Download Alternative download links → Mega Hello Metin2 Dev. I'm here to present a Portable Shop System. How does it work? Players get a panel when click F7 with several options. This system exists to make players able to buy items while farming. In case of any problem, contact me or write here. With best regards, Doose.
  24. M2 Download Center Download Here ( Internal )
  25. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) [Hidden Content]
×
×
  • 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.