Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/26/24 in all areas

  1. IMPORTANT NOTE Only those who use a C++11 standards compiler can apply this edit! (Compilers Supporting C++11; GCC 4.8 and above, Clang 3.3 and above, VS 12 and above) INTRODUCTION & PROBLEM Hello, today we will completely renew the /full_set command from the GM commands and the other commands connected to it (like do_all_skill_master, do_item_full_set, do_attr_full_set). We will replace useless items and their enchantments, make the function content more modern, and add informational messages (C++11 and above). I didn't need to add stones and ores, the items and their enchantments were already op enough. WHY ? Anyone who wants to try something in game with a GM character during the testing phase or on the live server, or who just wants to strengthen their character, has been busy producing special items for themselves through the DB (or with various auxiliary scripts). We aim to get rid of an extra hassle with this code that exists in the original source of the game. SUGGESTION Since the items obtained here will be at a very high rate, I recommend that you make these codes available only to player with GM_IMPLEMENTOR authority. UPDATE - 04/25/2024 Upon the request of a user from @ Amsterdam, a check was added to ensure that the GM character is not lower than the level of the items to be equipped. If the character is lower than 90 Lvl, the function will give an error and will not continue. Apart from this, a separate information message has been added for each item in the item_attr section. SOLUTION First, open the "cmd_gm.cpp" file. [Hidden Content]
    4 points
  2. Download Center Internal Mega.nz GitHub Hi devs, I wanted to add this feature to my mainlines, being that this system is now considered standard in all servers. I downloaded the public version that emulated how the Pet System worked, but I decided to make my own (and am sharing it so you can test it for me as well) In game pic: Pros: Fewer lines of code (50 or so, versus 1200+ in the public system) By not using apply_type and value to assign the monster to ride, we will not lose a usable bonus Being horse-based, trivially it is code that has been tested for years. If you are on the mount and warp, you will still be on the mount at login (being that we use EnterHorse) You can take advantage of the horse name system with a few modifications You only get mount bonuses if you are riding it and not while it is summoned Cons: I couldn't find any Thanks to @ HFWhite for testing. You should at least have the mount costume system.
    3 points
  3. Patch v24.1.1.0: *New easter stuff. [Hidden Content] [Hidden Content] MEGA or M2DL
    3 points
  4. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Create app at here:[Hidden Content] Copy CLIENT ID Then change Discord.h/DiscordClientID Add images at here: example my image's name is image1 You can also use smallImageKey and smallImageText
    3 points
  5. Download GitHub Repository Synchronizes the character's position with the server and can be used to free them if they get stuck. If there is no available position within the available distance, the character will be warped to the village. .
    2 points
  6. Once I planned to create a football map, but the idea was scrapped in the early stages. I'm handing over the map to you in an incomplete form (perhaps it will serve as a basis for someone to create their own football ground). Download: [Hidden Content]
    2 points
  7. Download Metin2 Download New logo for those who need it, quite modern and simple. Tutorial: Open the file, double-click on the box to the left of the text "EDIT THIS LAYER", change the text with the desired name from the opened window and then press CTRL + S. Download: [Hidden Content]
    2 points
  8. [Hidden Content] Download -> M2DL (Update 2023-02-03) (IPS sometimes adds invisible characters when copying and pasting with IPS Code...) 24/08/2017: Polished up other functions. Added party_get_member_count, Added party_get_member_pids, Added clear_dungeon, Added table_get_keyword_index, Added table_is_any_subarray_containing_keyword, Added table_get_subarray_keyword_index 26/08/2017: Added table_shuffle. 12/12/2017: Added open_shop (Opens a shop without needing to use 2 lines of code); 30/04/2018: Reworked table_shuffle, since it was not working properly. Added InDungeon() [bool]. Added ToDungeonIndex(map_index) [int]. 01/06/2018: Added factorial (factorial(5) returns 120); 14/11/2019: (Did you miss me?) Updated the whole list, better code and even more functions! 25/12/2021: Added is_valid_number, is_integer_number. (safe funcs you should be using on numerical inputs) table_shuffle now creates a copy of the table and works on it instead of changing the table itself. The end result is the same, but the table passed as argument remains untouched. Reworked get_time_format. Renamed IsOdd to is_odd. 25/6/2022: Added get_gold_format Added BuildSkillListOfLevel Minor fixes. 25/10/2022: Fixed IntToRomanStr typo 29/01/2023: Rewritten. Added some new stuff. Provided more examples and data for each func. 20/03/2023: Added get_random_number_within_except(range_min, range_max, except_table). 25/04/2023: Added table_get_count(table). Added is_valid_num_field(num). Added is_valid_table_field(table). Added is_valid_func_field(func). Added time_remaining_until(os.date("%H:%M")). 11/05/2023: Added color_str(color, text). Updated some global calls for the latest globals.lua update. 26/09/2023: Added num_to_char(num). Added char_to_num(string). Added string_to_ascii_array(string). Added ascii_array_to_string(table). Added skill_level_to_id(num). Added skill_id_to_level(string). Added time_to_sec(num, string). (Kept the old separated functions for backwards compatibility) Little get_time_format improvement, it's still backwards-compatible. 01/24/2024 (last update): The func 'is_valid_number' now has an "allow_zero" arg. and default values. Added 'count_digits(num)'. Added 'get_nth_digit(num, index)'. Added 'generate_num_array(limit)'. Added 'get_time_after_seconds(sec)'. Added 'mirror_shuffle(original_table, shuffled_table, target_table)' Renamed BuildSkillList to BuildSkillList2 in order to avoid conflicts with the default func from ymir.
    2 points
  9. Hello Friends You know that so many files are shared in the Forum that some of them are compiled with GCC8 - GCC9 or GCC10. There is also MySQL, of course, if it is on MySQL, MySQL 5.6 or MariaDB 10.3 is used. That's why I will share 2 different Freebsd VDIs on a single topic. 1 - Mysql 5.6 Version 2 - MariaDB 10.3 Version You can download and use these 2 VDIs according to your needs. ISO File Used - 2021-Apr-09 06:58 ; Freebsd Login ; User : root Password : dev Package Installation List for MySQL 5.6 ; gcc10: 10.3.0 gcc8: 8.5.0_1 gcc9: 9.4.0 gdb: 10.2_1 gmake: 4.3_2 makedepend: 1.0.6,1 mysql56-client: 5.6.51 mysql56-server: 5.6.51 python27-2.7.18_1 Package Installation List for MariaDB 10.3 ; gcc10: 10.3.0 gcc8: 8.5.0_1 gcc9: 9.4.0 gdb: 10.2_1 gmake: 4.3_2 makedepend: 1.0.6,1 mariadb103-client: 10.3.30 mariadb103-server: 10.3.30 python27-2.7.18_1 Download Link ; Google.Drive (Download) Dosya.Upload (Download) Virüs Scan ; Thank you for using it and for your nice comments. Enix Yazılım.
    2 points
  10. Download Metin2 Download (Source code) [Hidden Content] [Hidden Content]/releases/latest It's uses config.ini and locale_list.txt from official client. The language option is stored in the loca.cfg file. It's a silly name, but I did it because it's official did as well. You can change file name. Target Framework: .NET Framework 4.8
    2 points
  11. M2 Download Center Download Here ( Internal ) VIP Boxes Items with VIP packages written in c++. Are available in this day versions: 1, 3, 7, 14 i 30. There are 2 types of this boxes, first which allows player to "give, trade, drop - etc.", and second type which don't allows player to sell, drop, give etc. - you can use them as reward from quest.
    2 points
  12. Download Metin2 Download MAP PICS: LINK DOWNLOAD: [Hidden Content]
    2 points
  13. M2 Download Center Download Here ( Internal ) Hello, i release a working qc source. tested with vs2019 and freebsd 11.3 64 bit. Be sure you compile liblua on both systems before build the qc kind regards VT: [Hidden Content] DL: [Hidden Content]
    2 points
  14. INTRODUCTION & PROBLEM Hello, today we will completely renew one of the most frequently used GM commands, the /set command. We will add all the necessary controls to this command, which does not contain any controls or information, and we will activate gender, character and skill group changes and add a new field where you can adjust the magic speed of the players. WHY ? You may think that there is no need for the GM team to use this anyway, but not every GM in the game is obliged to master the game functions, so our aim is to make their job as easy as possible and eliminate the possibility of triggering something wrong. SOLUTION First, open the "cmd_gm.cpp". [Hidden Content]
    1 point
  15. Download Updated at 2023.08.05. Alternative download links: Client & Serverfiles + VDI + Extension Pack [40250] Reference Serverfile + Client + Src [15 Available Languages] My goal was to make a reference r40250 serverfile as official as possible compared to what GF had back when their files got leaked in early 2014. No new systems added, only bug fixes. While I spent several hours testing, there may still be bugs. Please report bugs to me so I can fix them in the future, I want to make this project as bug free as possible. Available languages: EN/DE/HU/FR/CZ/DK/ES/GR/IT/NL/PL/PT/RO/RU/TR Please read Languages.txt to learn how to change the default EN language. SSH for VM: root/123456789 MySQL: root/123456789 Ingame: admin/123456789 Aliases and it's commands: start cd /usr/metin2/server && sh start.sh close cd /usr/metin2/server && sh close.sh clean cd /usr/metin2/server && sh clean.sh backup cd /usr/metin2/server && sh backup.sh questcompile cd /usr/metin2/server/share/locale/english/quest && python2.7 make.py dbclean cd /usr/metin2/src/server/db/src && gmake clean dbdep cd /usr/metin2/src/server/db/src && gmake dep dbcompile cd /usr/metin2/src/server/db/src && gmake -j9 gameclean cd /usr/metin2/src/server/game/src && gmake clean gamedep cd /usr/metin2/src/server/game/src && gmake dep gamecompile cd /usr/metin2/src/server/game/src && gmake -j9 Please read Changelog.txt to find more about the changes I made. Special thanks to: @Mali for the clean and updated client & server src files. @Sanchez for the 2014 base client. @Veltor88 for the translate.lua pack. @Fazer for the locale_string pack I made a little video about installing the serverfile (vm) and changing the language: PS: I know it's pretty late in 2021 but better than ever Sincerely, TMP4
    1 point
  16. This will fix the use of if (window->IsType(UI::CBar3D::Type())) Example SetColor of Bar3D is not working because of this bug This bug is still available on official [Hidden Content]
    1 point
  17. Download Alternative download links → M2DL (Without VDI) This is an german files creat from TMP4 edit by SolWayne ! ALL EDITS ONLY IN GERMAN HAVE FUN
    1 point
  18. M2 Download Center Download Here ( Internal ) Hi everyone, As title say, this is a wiki system but, InGame . This system was made by Kori . When i download it, the system had a bug on item bar, so, i've removed it . Screen of system: The system is open by pressing a key ( choosed for you ) . How to ? Well, 1º - Unpack your root . 2º- Search for archive game.py 3º- Open it and add: import uiwiki 4º - Search for: def __init__(self, stream): and add: self.wiki = uiwiki.AgeofPlatonWiki() 5º - Search for: onPressKeyDict[app.DIK_F5] and next add: onPressKeyDict[app.DIK_F9] = lambda : self.__OnWiki() Note: in here: [app.DIK_F9], F9 will be the key would you need to press to can view the system . You can change it , like you want. 6º - In the end of all ( game.py ) add this: def __OnWiki(self): if self.wiki.IsShow(): self.wiki.Hide() else: self.wiki.Show() 7º - Download the archive, add it to root, and pack it again . Download: Link Here Password: www.metin2dev.org Have fun ! Kind Regards, Grave
    1 point
  19. Hey, is there a way to unpack the 2014 Beta Client? Its important to get the First Wolfman package (metin2_patch_pc3 &_m) I mean this one: Client 2014 Beta I searches but didnt found, aswell i didnt found a way to Break type4.. Would be amazing If anyone have it probaply or can do, i Bad Case i would Pay aswell...! Thanks
    1 point
  20. Have you changed anything on the Mob Proto? Did you get a game.core file stored in the files? Try debugging with GDB. Otherwise it looks a lot like a shot up mob_proto. Please feel free to explain what you recently did/changed on the Mob Proto. does mysql have rights?
    1 point
  21. 1 point
  22. M2 Download Center Download Here ( Internal ) June 17 2014 - I rewrote the whole the source. FAQ: How can I open the project, which version of Visual Studio do I need? I used Visual Studio 2013, but I'm sure you can open in 2012 too. What is CRC? You can learn more about Cyclic redundancy check here. How can I make a list for the patcher? You can use the lister tool, it's in the source. HOW TO MAKE IT WORKS: 1. Change the ServerURL variable in Globals.cs to your url 2. Build the project 3. Create a list with the lister tool (Example of the list) 4. Upload the files and the patchlist to your server (Example of the folder structure) Downloads: MEGA.CO.NZ If you have any question or suggestion please just reply to this topic. Kind Regards, Sanchez
    1 point
  23. Reversed From Official Binary [Hidden Content] [Hidden Content] Requirements:
    1 point
  24. Hi, [Hidden Content] [Hidden Content] This quest is responsible for granting basic costumes to players when they reach certain levels in the game. The quest is triggered when a player logs in or levels up in the game. It checks the player's level and grants various cosmetic items if certain conditions are met. Basic Costume: Players receive a basic costume based on their gender. Basic Hairstyle: Players receive a basic hairstyle and an additional cosmetic item. Basic Pet: Players receive a basic pet at a certain level. Basic Weapon: Players receive a basic weapon based on their class. Basic Mount: Players receive a basic mount at a certain level.
    1 point
  25. [Hidden Content] [Hidden Content]
    1 point
  26. Hello, I have been hearing about the existence of such an event from time to time. I thought of creating such a solution. I haven't had any problems so far in my tests. To briefly talk about the incident; Some pack files can be opened and edited while the game is open. This may pose a problem in some exceptional cases. Most of the time, changes made due to cache may not be reflected in the game unless the client is reset, but I still thought it wouldn't hurt to prevent this situation. In addition; Nowadays, foxfs etc. methods are used, so you can also consider this as additional security for your game. The codes are completely open to development and customization, you can progress them in any direction you want. I should point out that this method will work more efficiently with autopatcher. So, you also have a job to do here, the codes I share here are the first stage of this system. The necessary adjustments you will make to the autopatcher depending on these codes will be the second stage. To give an example from the working logic; As soon as the pack file named x is edited, the game will close completely, and when it is opened again, autopatcher (if there is a file integrity feature, etc.) will download the original instead of this edited pack file and allow you to log in from the original file. Likewise, if there is any intervention in the pack files again, these operations will be repeated automatically. (This is the idea I suggested, anyone can use it however they want.) Now let's get to the point.. Here's a short video showing it before editing: [Hidden Content] After video: [Hidden Content] [Hidden Content] For those who are curious; The codes run only once when the client is opened and only keep track of the pack files as long as the game (client) is open. In other words, it does not work repeatedly in situations such as teleportation or casting a character.
    1 point
  27. With these changes you will have the text outlined in chat, it can be read easier. I know it's not the best coding but it works, so if anyone wants to help improving the code it will be much appreciated Image: Download: [Hidden Content]
    1 point
  28. 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]
    1 point
  29. 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]
    1 point
  30. I'm surprised to learn that it actually compiles on macOS -- I guess that's one point for having the network code implemented in libevent and not epoll, as @wolfhelm kindly suggested. (But in order to give Caesar the things that are Caesar's, the original kqueue code should have also worked on macOS) Also, expect really weird behaviour on ARM, I tried using armour on my character and when I'd right click on it, it would just vanish. It surely needs some polish.
    1 point
  31. Sharing a simple timer quest that send a notice_all when a preferred mob dies NOTE : This code will not work for really long respawn times NOTE : This code will not work for really long respawn times quest bosskillred begin state start begin when 2291.kill begin timer("spawn", 250) notice_all("Red Dragon has been killed") notice_all("Will be spawned again in 4 hours") end when spawn.timer begin notice_all("Red Dragon Spawned.") end end end Changing .kill with preferred mob Vnum & 250 is how many seconds to set the timer for the next notice. In case i scripted something wrong feel free to correct me
    1 point
  32. M2 Download Center Download Here ( Internal ) Download Here ( GitHub )
    1 point
  33. On debug you have to update CORS, that's not needed when you build it. Add a console.log above the following line: [Hidden Content] Also add the variable name on line (between the parentisis) [Hidden Content] to be able to see what the error is. After you do this, the error will be shown on the Chromium DevTools that the patcher opens on debug.
    1 point
  34. [Hidden Content] [Hidden Content] Reversed from 22.2.7.0 Official Binary. Client part is from 2018 Official Root.
    1 point
  35. Download Metin2 Download [Hidden Content] Me and @Gurgarath tested it on windows server, we didn't see any problem. If you have a problem with time(_t) or another bug, let me know so I can fix it. Idea is from Sogma
    1 point
  36. @ LTGTJust a little detail... there isn't any player_index variable. One step in your tutorial must look like this: [Hidden Content]
    1 point
  37. M2 Download Center Download Here ( GitHub ) Download Here ( MEGA ) Download Here ( Internal ) I came across this new insert event by quests which I had to use while I was developing the 6th & 7th Attribute System so I decided to share this little feature and it could be useful in some situations.
    1 point
  38. M2 Download Center Download Here ( Internal ) Due to the deletion of my metin2dev data, I am reopening the topic! This system is completely mine Enjoy it! [Hidden Content] [Hidden Content] If you have a horse skill problem, please apply this : [Hidden Content]
    1 point
  39. M2 Download Center Download Here ( GitHub ) Download Here ( Internal ) There is already a similar system on metin2dev, (here) but it was a bit inconvenient, since you had to change every setting.txt. This new version is no longer needed. -If the map has no WaterType then set the normal water texture. -If the map has the WaterType then look for the folder called "water_x" where x means the type entered in the watertype. -It is possible to use watertype 0. Negative values are not allowed. -255 water textures(not frame) can be inserted.
    1 point
  40. M2 Download Center Download Here ( Internal ) [Hidden Content]
    1 point
  41. M2 Download Center Download Here ( Internal ) Archive, 4 loading screen + PSD for each one. Long text is in Romanian, you can enter the PSD and set what text you want. For example, I've taken it from an official wiki, and it's a description of each character. You just have to change into your own language. VirusTotal: Link
    1 point
  42. update: [Hidden Content] [Hidden Content] EDIT if you don't have update for class ImageBox class ImageBox(Window): def __init__(self, layer = "UI"): Window.__init__(self, layer) self.eventDict={} self.eventFunc = { "MOUSE_LEFT_BUTTON_UP" : None, "MOUSE_LEFT_BUTTON_DOWN" : None, "MOUSE_RIGHT_BUTTON_UP" : None, "MOUSE_RIGHT_BUTTON_DOWN" : None, "MOUSE_OVER_IN" : None, "MOUSE_OVER_OUT" : None } self.eventArgs = { "MOUSE_LEFT_BUTTON_UP" : None, "MOUSE_LEFT_BUTTON_DOWN" : None, "MOUSE_RIGHT_BUTTON_UP" : None, "MOUSE_RIGHT_BUTTON_DOWN" : None, "MOUSE_OVER_IN" : None, "MOUSE_OVER_OUT" : None } def __del__(self): Window.__del__(self) self.eventFunc = None self.eventArgs = None def RegisterWindow(self, layer): self.hWnd = wndMgr.RegisterImageBox(self, layer) def LoadImage(self, imageName): self.name=imageName wndMgr.LoadImage(self.hWnd, imageName) if len(self.eventDict)!=0: print "LOAD IMAGE", self, self.eventDict def SetAlpha(self, alpha): wndMgr.SetDiffuseColor(self.hWnd, 1.0, 1.0, 1.0, alpha) def SetColor(self, r, g, b, a): wndMgr.SetDiffuseColor(self.hWnd, r, g, b, a) def GetWidth(self): return wndMgr.GetWidth(self.hWnd) def GetHeight(self): return wndMgr.GetHeight(self.hWnd) def SetEvent(self, func, *args) : result = self.eventFunc.has_key(args[0]) if result : self.eventFunc[args[0]] = func self.eventArgs[args[0]] = args else : print "[ERROR] ui.py SetEvent, Can`t Find has_key : %s" % args[0] def SAFE_SetEvent(self, func, *args): result = self.eventFunc.has_key(args[0]) if result : self.eventFunc[args[0]] = __mem_func__(func) self.eventArgs[args[0]] = args else : print "[ERROR] ui.py SAFE_SetEvent, Can`t Find has_key : %s" % args[0] def OnMouseLeftButtonUp(self): if self.eventFunc["MOUSE_LEFT_BUTTON_UP"] : apply(self.eventFunc["MOUSE_LEFT_BUTTON_UP"], self.eventArgs["MOUSE_LEFT_BUTTON_UP"]) def OnMouseLeftButtonDown(self): if self.eventFunc["MOUSE_LEFT_BUTTON_DOWN"] : apply(self.eventFunc["MOUSE_LEFT_BUTTON_DOWN"], self.eventArgs["MOUSE_LEFT_BUTTON_DOWN"]) def OnMouseRightButtonUp(self): if self.eventFunc["MOUSE_RIGHT_BUTTON_UP"] : apply(self.eventFunc["MOUSE_RIGHT_BUTTON_UP"], self.eventArgs["MOUSE_RIGHT_BUTTON_UP"]) def OnMouseRightButtonDown(self): if self.eventFunc["MOUSE_RIGHT_BUTTON_DOWN"] : apply(self.eventFunc["MOUSE_RIGHT_BUTTON_DOWN"], self.eventArgs["MOUSE_RIGHT_BUTTON_DOWN"]) def OnMouseOverIn(self) : if self.eventFunc["MOUSE_OVER_IN"] : apply(self.eventFunc["MOUSE_OVER_IN"], self.eventArgs["MOUSE_OVER_IN"]) def OnMouseOverOut(self) : if self.eventFunc["MOUSE_OVER_OUT"] : apply(self.eventFunc["MOUSE_OVER_OUT"], self.eventArgs["MOUSE_OVER_OUT"]) def SAFE_SetStringEvent(self, event, func,isa=FALSE): if not isa: self.eventDict[event]=__mem_func__(func) else: self.eventDict[event]=func def SetOnMouseLeftButtonUpEvent(self, event, *args): self.eventFunc["MOUSE_LEFT_BUTTON_UP"] = event self.eventArgs["MOUSE_LEFT_BUTTON_UP"] = args
    1 point
  43. [Hidden Content]
    1 point
  44. 1 point
  45. Already released u ZeNu. Check his github(Chest view drop): [Hidden Content]
    1 point
  46. M2 Download Center Download Here ( Internal ) Hi, ricky released his MDE tool today. I'll post it on this forum. There is simple video how to use it, it's really easy for everyone! [Hidden Content] There is a simple video how to make animation UVW textures. Download here: [Hidden Content] Credits: ricky92 For tool martysama0134 for the Unwarp_UVW fix (Texture fix)
    1 point
  47. I recommend you to choose between these: [Hidden Content]
    1 point
  48. Change the default values in account.account for fields: safebox_expire autoloot_expire fish_mind_expire marriage_fast_expire monez_drop_rate_expire How to change the default values? Open the table with navicat and press Design Table, select the field and at the bottom of the window you should see default and enter the expire date (YYYY-MM-DD HH:MM:SS). Kind regards Chuck
    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.