Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/25/20 in all areas

  1. 6 points
  2. M2 Download Center Download Here ( Internal ) InstanceBase.h find NAMECOLOR_WAYPOINT, add NAMECOLOR_METIN, PythonCharacterManagerModule.cpp find PyModule_AddIntConstant(poModule, "NAMECOLOR_MOB", CInstanceBase::NAMECOLOR_NORMAL_MOB); add PyModule_AddIntConstant(poModule, "NAMECOLOR_METIN", CInstanceBase::NAMECOLOR_METIN); InstanceBaseEffect.cpp find else if (IsPoly()) { return NAMECOLOR_MOB; } add else if (IsStone()) { return NAMECOLOR_METIN; } PythonMiniMap.cpp find m_NPCPositionVector.clear(); add m_MetinPositionVector.clear(); find else if (pkInstEach->IsNPC()) { aMarkPosition.m_fX = ( m_fWidth - (float)m_WhiteMark.GetWidth() ) / 2.0f + fDistanceFromCenterX + m_fScreenX; aMarkPosition.m_fY = ( m_fHeight - (float)m_WhiteMark.GetHeight() ) / 2.0f + fDistanceFromCenterY + m_fScreenY; m_NPCPositionVector.push_back(aMarkPosition); } add else if (pkInstEach->IsStone()) { aMarkPosition.m_fX = ( m_fWidth - (float)m_WhiteMark.GetWidth() ) / 2.0f + fDistanceFromCenterX + m_fScreenX; aMarkPosition.m_fY = ( m_fHeight - (float)m_WhiteMark.GetHeight() ) / 2.0f + fDistanceFromCenterY + m_fScreenY; m_MetinPositionVector.push_back(aMarkPosition); } find // NPC STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, CInstanceBase::GetIndexedNameColor(CInstanceBase::NAMECOLOR_NPC)); aIterator = m_NPCPositionVector.begin(); while (aIterator != m_NPCPositionVector.end()) { TMarkPosition & rPosition = *aIterator; m_WhiteMark.SetPosition(rPosition.m_fX, rPosition.m_fY); m_WhiteMark.Render(); ++aIterator; } add // Metin STATEMANAGER.SetRenderState(D3DRS_TEXTUREFACTOR, CInstanceBase::GetIndexedNameColor(CInstanceBase::NAMECOLOR_METIN)); aIterator = m_MetinPositionVector.begin(); while (aIterator != m_MetinPositionVector.end()) { TMarkPosition & rPosition = *aIterator; m_WhiteMark.SetPosition(rPosition.m_fX, rPosition.m_fY); m_WhiteMark.Render(); ++aIterator; } PythonMiniMap.h find TInstanceMarkPositionVector m_NPCPositionVector; add TInstanceMarkPositionVector m_MetinPositionVector; root/colorinfo.py find CHR_NAME_RGB_WARP = (136, 218, 241) add CHR_NAME_RGB_METIN = (240, 255, 255) You can select another color from here root/introloading.py find chrmgr.NAMECOLOR_WAYPOINT : colorInfo.CHR_NAME_RGB_WAYPOINT, add chrmgr.NAMECOLOR_METIN : colorInfo.CHR_NAME_RGB_METIN,
    1 point
  3. M2 Download Center Download Here ( CN ) - Download Here ( DE ) - Download Here ( ES ) - Download Here ( KR ) Download Here ( GR ) - Download Here ( IT ) - Download Here ( NL ) - Download Here ( HU ) Download Here ( PL ) - Download Here ( RO ) - Download Here ( SG ) - Download Here ( US ) Download Here ( AE ) - Download Here ( CZ ) - Download Here ( DK ) - Download Here ( FR ) Download Here ( PA ) - Download Here ( PT ) - Download Here ( RU ) - Download Here ( TR ) Download Here ( BR ) - Download Here ( BETA ) - Download Here ( EN ) - Download Here ( MX ) Hey guys, I've stumbled upon some old Metin2 clients on an old DVD, so I thought I'd share them with you. I also included some of the already existing clients on this forum. Table of Contents: Gameforge June 2007: EN December 2008: DE, ES, FR, IT May 2010: DK, EN, ES, FR, GR, HU, NL, PL, PT, RO, TR, US August 2010: PA (Beta) March 2011: TR April 2011: DK, EN, ES, FR, GR, HU, NL, PT, RO, TR, US December 2011: AE, CZ, DE, DK, EN, ES, FR, GR, HU, IT, MX, NL, PL, PT, RO, RU, TR, US March 2012: MX March 2013: EN (13.03.2013), EN (28.03.2013) April 2013: CZ, DE, ES (16.04.2013), ES (17.04.2013), FR (16.04.2013), FR (17.04.2013), IT, PL, RU June 2013: TR September 2013: DK, GR, HU, NL, PT, RO, US, PA (Beta) July 2015: CZ, DE, DK, EN, ES, FR, GR, HU, IT, NL, PL, PT, RO, RU, TR, US Singapore (TEC) April 2012 May 2012 US (G4Box/Z8games) November 2007 April 2008 (repacked) (Original topic here) October 2008 October 2009 April 2011 September 2011 Brasil (Ongame) 2015 (v14) 2016 (v15) April 2018 (v16) July 2018 (v17) February 2019 (v18) April 2019 (v19) May 2019 (v20) August 2019 (v21) Other August 2005: CN Beta client (YMIR) (Original topic here) December 2012: KR (Webzen) (repacked) (Original topic here) 2015 (ver. 0.0.0.1): Gameforge Beta 2019 (ver. 0.0.0.2): Gameforge Beta Pictures: Download Links: Archive.org: [Hidden Content] Torrent download (also using archive.org as a webseed): [Hidden Content] GameForge direct links: Should you have other clients (installers would be great!), please leave a reply to this topic with a download link and I'll happily add them to the collection. Edits: April 20th, 2020: Added many clients from Gameforge's web download server. April 21st, 2020: Added more clients that I've discovered on GF's download server. April 21st, 2020: Added all the clients I could find on GF's server. December 30th, 2023: Reuploaded the collection on archive.org, added Metin2 SG (14.04.2012) client thanks to @ForgiveN March 20th, 2014: Added 2011 & 2012 Gameforge Mexico clients, US April 2011 client, Gameforge August 2010 beta client Cheers, Exynox.
    1 point
  4. 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: [Hidden Content] 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(true); This bug happened because old skill data were not removed from m_skillSlotDict. With passing parameter "true" to function NEW_ClearSkillData, everything (including old bugged skill data) will be removed from m_skillSlotDict. Then function RefreshCharacter from uiCharacter.py will automatically insert correct data to the m_skillSlotDict.
    1 point
  5. M2 Download Center Download Here ( Internal ) Introduction Hey, since I'm often asked if I can make an example for this or that in Python, I just post some of these examples in this thread from time to time. Usually they just end up in my trash (that's why the collection is small for now) but maybe it will help some of you to learn something. You are also welcome to post examples here and I will add them to the startpost. You have a wish for a certain example? Then write it in here. PS: These examples are designed very simple, so that they can be understood. Examples ui.ComoBox() ui.ScrollBar() with text ui.AniImageBox() as loading bar ui.ListBox() ui.ToggleButton() ui.RadioButtonGroup() ui.DragButton() ui.Bar(), ui.Box(), ui.Line() ui.Gauge(), ui.SliderBar() ui.TextLine(), ui.EditLine() Pagination Tabs DropDown Tree Category Navigation ListBox Search TextLineScrollable Class Collapsible window
    1 point
  6. M2 Download Center Download Here ( Internal ) As the title says, here's how you can synchronize your skill_table from client with skill_proto from server. [1]. First of all we've to rewrite the enum part of tokens (which is used in CPythonSkill::RegisterSkillTable), that means we change the order of index-tab-line with a new order, because ymir didn't used all columns. In that way we keep the file much cleaner and just with necessary columns (9 columns instead of 27). Srcs/Client/UserInterface/PythonSkill.h Search for the next enum: Replace it with: Srcs/Client/UserInterface/Locale_Inc.h [2]. Compile the source client again. [3]. Open Navicat (preferably the latest versions) and do the following things: Open player table Export Wizard -> Mark skill_proto -> Export to ../location/skilltable.txt Export format -> *.txt Unmark All fields then Unselect All Select available fields: -> {'dwVnum', 'bMaxLevel', 'bLevelLimit', 'szPointPoly', 'szSPCostPoly', 'szDurationPoly', 'szDurationSPCostPoly', 'szCooldownPoly', 'dwTargetRange'} Unmark: Include column titles Text Qualifier: None Copy the skilltable.txt from Desktop to ../locale/en/ HOW-TO - VIDEO (The video is just an example, please follow the tutorial from step [3]) [Hidden Content] Thanks to @Syreldar for the idea.
    1 point
  7. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) [Hidden Content]
    1 point
  8. M2 Download Center Download Here ( Internal ) Christmas icons pack (32icon). Download: [Hidden Content]
    1 point
  9. M2 Download Center Download Here ( Internal ) Share content : Client / Files / VDI Brief description : • Official system • Official prototypes, identical subtype • No trash system added • Full bug fix • Ideal for learning the basics of metin2 emulation Download link : [Hidden Content]
    1 point
  10. 1 point
  11. 1 point
  12. 1 point
  13. 1 point
  14. 1 point
  15. UPDATE: If you comment the following function you will be able to login but obviously you will not see the trees: / __SetObjectInstance_SetTree(pObjectInstance, c_pData, pProperty); I fixed it by upgrading granny to version 11 again and changing the "granny.dll" file in the client.
    1 point
  16. M2 Download Center Download Here ( Internal ) Hello, Here I post a little work that I made.
    1 point
  17. M2 Download Center Download Here ( Internal ) Download Here ( Github ) Advanced Duel Options (50% by ZeNu) Delete Random HP DMG Fix New Command for General DMG Tactical DMG
    1 point
  18. Metin2Dev Metin2Download Good Morning, Bonjour, صباح الخير, Hallo, Witaj, Salut, Merhaba, Здравствуйте, Buongiorno, Buenos dias, 여보세요, 你好, Olá... Important update of Metin2 Dev! The End... Dead Download Links & Dead Screenshots! I am announcing the end of several weeks of work which began in 2020. You may have noticed that recently I have re-published many topics on the forum, many releases. I saved the releases archives and I have divided topics for better ordering. Over the past few weeks, I have done a systematic check of all the tutorials and releases in Metin2 Dev. Metin2 Dev is made up of more than 1800 tutorials and releases dispersed in several categories, more than half of which are downloadable resources... These resources are necessary for the proper functioning of the forum and our favorite game! All the screenshots where are-uploaded when they were not hosted on our image host! All the archives have been saved on Metin2 Dev's servers, all our download links will now start with: https://metin2.download/, we always keep the original links! Your browser may get an alert when a file is not uploaded regularly, don't worry, it's safe to download! What does that mean? This means that every release, every download link will be functional in releases category! I will save the new download links myself, Funky Emulation or Metin2 Dev, every link works and I will save every new share! Statistics: +1800 Verified Topics +1500 Confirmed Topics +300 Topics need to be Fixed +1091 Files Saved +1200 Screenshots Saved What actions did I take? If the topic had a dead download link: We Need You I saved the file If the topic had game improvement scripts in code tags, I created archives for Metin2 Download Center while keeping the original topic, it was a mini system All Githubs All Archives Quests in .lua format I uploaded it to Metin2 Download Center I named the file, assigned a developer and a category on Metin2 Download Center I assigned the topic ID of Metin2 Dev / Funky Emulation for each file I edited the topic to add the Metin2 Download Center banner and the new download link I also saved the screenshots, I downloaded the image to my computer I uploaded the image to our image host and replaced the old images with the new ones I have reformatted some topics Made With A spring cleaning and a summer sweetness... This allowed us to clean up the forum topics, we moved many topics that were either obsolete or incomplete or the presence of a damaged download link did not allow us to restore it. I took the opportunity to try to restore the screenshots of the releases, it is always nice to have a preview before downloading, no? I also deleted the passwords from the archives that are downloaded from our servers! That's not all... We continue to rewrite the topics! Our concern today is quality. Unfortunately, this will not happen in a week. You can however participate and propose rewritings! I can't name you all individually, a huge thank you, a thank you to the community, which also participated in the restoration of some topics where the download link was dead. A thank you to @Veltor88 for saving topics, they will not be forgotten in the abyss of Metin2! As a thank you, he gets a rank similar to Honorable Member. He is now a Distinguished Member! Thanks also to @Tatsumaru for the Christmas logo! #DeadDownloadLink #NeverAgain Spoiler #WeNeedYou Without you, we are nothing! PS: I had to buy several computer mouse by dint of clicking... Sincerly, ASIKOO
    1 point
  19. 1 point
  20. It's now available on Metin2 Download Center! M2 Download Center Download Here ( CN ) - Download Here ( DE ) - Download Here ( ES ) - Download Here ( KR ) Download Here ( GR ) - Download Here ( IT ) - Download Here ( NL ) - Download Here ( HU ) Download Here ( PL ) - Download Here ( RO ) - Download Here ( SG ) - Download Here ( US ) Download Here ( AE ) - Download Here ( CZ ) - Download Here ( DK ) - Download Here ( FR ) Download Here ( PA ) - Download Here ( PT ) - Download Here ( RU ) - Download Here ( TR ) Download Here ( BR ) - Download Here ( BETA ) - Download Here ( EN ) - Download Here ( MX )
    1 point
  21. Just if you use SQLMsg* pkMsg then it's called a raw pointer and you've to delete it manually, but for std::unique_ptr<SQLMsg>, you don't have to do it, has no effects the reset method in this case. [Hidden Content] [Hidden Content] [Hidden Content] The benefit of using smart pointers like unique_prt || shared_ptr is that they automatically delete the pointed object when no longer needed (i.e. out of scope). [Hidden Content]
    1 point
  22. 1 point
  23. Is not that easy as you think and also you need to make individual code for each function, if they've arguments and more. Here's my method, i tested it and works fine. [Hidden Content]
    1 point
  24. Hey y'all. Question has been given, let me know.
    1 point
  25. 1. Srcs/Server/game/src/char.cpp static bool __party_can_join_by_level(LPCHARACTER leader, LPCHARACTER quest) { int level_limit = 30; return (abs(leader->GetLevel() - quest->GetLevel()) <= level_limit); } 2. root/uiExchange.py [Hidden Content]
    1 point
  26. Such a small system for extracting stones.
    1 point
  27. //@cmd_emotion.cpp //Search for: #include "wedding.h" //Add after: #include <algorithm> #include <vector> //Search for: ACMD(do_emotion) //Add before: bool CanKissAnybody(DWORD dwPID) { static const DWORD dwArrayIndex[] = { // Add in array the pid of players from player.player row "id". 13200, 14812, 15910 // ..... more }; std::vector<DWORD> m_vec_pids (dwArrayIndex, dwArrayIndex + _countof(dwArrayIndex)); return std::find(m_vec_pids.begin(), m_vec_pids.end(), dwPID) != m_vec_pids.end(); } //Search for: if (!victim->IsPC() || victim == ch) //Before, you will see if (victim) //Replace if (victim) with: if (victim && !CanKissAnybody(ch->GetPlayerID())) [Hidden Content] Especially thx to Vegas
    1 point
  28. Hi everyone!? I'm back I want to show you me new map. This is summoner's rift version metin2. Maybe soon I will create a 'twisted treeline' and 'aram' How do you like it? ? contact _________________________________________________________________________________ _________________________________________________________________________________
    0 points
×
×
  • 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.