Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/28/24 in all areas

  1. Hi there, As I've promised a couple of times now, I'm posting all the resources I have - of course, while excluding leaks, hacks and so on and so forth. Since some of the resources I have are already posted on M2DL, I just copied their links here. Clients and Serverfiles Generic clients [RELEASE] Client by abesgaara v3.0 - CATACLYSM.rar, with pictures here Client by abesgaara v3.7 - Fall of the Cataclysm.rar Client by abesgaara v3.5 - Evolution CATACLYSM.rar Client metin2.it Omega [NEW]Client By SasuKe v3.0.rar 2011 Client by pilli_96.exe crank_client_v2.exe Modifizierter-2010-Client.rar Unofficial 2009-2010 Gameforge PL client.zip Private server clients ClujanMt2 v1.0.7z eMetin2V1.3.exe eQauLityMt2.rar metin2gx.exe metin2tim.exe Metin2UnitedUS-Setup.exe Metin2Vendetta.rar metin35.rar (password: Metin35) Client + serverfiles packs Daroo Serverfiles 1678-RC-B4: 2011 Client for 1678 Files.rar and Serverfiles1678-RC-B4.exe (password: germany) Profizocker files: Client_by_Profizocker94.exe (password: elitepvpers.de) and Serverfiles_by_Profizocker94_v2.exe (password: elitepvpers.de) Serverfiles only 2009 leaked serverfiles 2009 serverfiles by Rain/InstantServer.exe (password: mcncc.com) 2014 leaked serverfiles Serverfiles by computerkrank v2 2009 serverfiles by Hikaru & AciDDreaM.rar db2010.US.tar File Server 2010 n00b Ediction by Daroo.7z Fully untouched 34083 server files & DB.7z Metin2.tar.gz (EmpireMMORPG Serverfiles) Game content Alles für die Map - Tal von Ascaria (Devildown).rar Armi By Sandoz.rar Ascaria by DanyBany (2011.05.15).rar Ascaria by DanyBany (2011.11.06).rar DevilCatacomt+Quest+RegenDateien #FIXX.7z Handels-Map.rar Ingame-Itemshop.rar M2(cz)_EterPacks_17.0.12.7z Metin2 official archives - lollo_9_1 (martysama0134).exe neue+rüstungen+v5+by+EYvil.rar New Files (Game-Db-Client etc.).rar - this is a bundle made by pasha37 on 01.01.2014 (lol!), containing some useful things such as: GF .DE data/locale/protos, various game/db/client binaries, 2013 hybrid keys, 2013 non-Cython root from Yitian2, the original Windows Serverfiles release and some other miscellanea. Nuova Mappa.rar NW3 Maps & Quests.rar official_shops.rar Packfiles.rar quest_germany.tar.gz Miscellaneous tools Since probably there's little use for this, I decided to upload them in a single archive. It includes things such as archivers, client starters, libs, game diffs, autopatchers, map editors. And a Portmap I translated into Romanian. Web/web-related The same goes for this category as well. These are all old, crappy resources, probably full of exploits. Use at your own risk. I'm happy to complete this collection with your submissions once they're uploaded on M2DL. Regards, Exynox.
    3 points
  2. 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
    3 points
  3. 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.
    2 points
  4. Download Metin2 Download or Github or Mega Hi guys, some people asked me for help with this trivial problem, so today I decided to release it. Now you can stack the stones and upgrade them. (obviously you did to changes the flag fields from item_proto server)
    2 points
  5. Download Center Download Hello, I made this system 6 years ago, and it's time to share it, i guess.
    2 points
  6. Thanks to @ Gurgarath @ HaiosMotan [Hidden Content] [Hidden Content] Requirements: Video: Release:
    2 points
  7. M2 Download Center Download Here ( Internal ) Hello guys.. So much people got problem with this system then i do FULL TuT exclusive for metin2dev All is tested and all works TuT included in all FILES.. New Link: Pass: When you find some bug post it here.. I will try to fix it.. Have Fun //EnZi EDITED: #New Link UPDATE cmd_general.cpp - Added some new code char_battle.cpp - Added some new code ProtoReader.cpp - Added some new code questlua_pc - Repaired code item_proto - Query for navicat Quest added UP LINK UPDATED fixed quest: [Hidden Content]
    2 points
  8. [Hidden Content] [Hidden Content] Item icons will appear in the hyperlink tooltip OLD: NOW:
    2 points
  9. Download Metin2 Download or Github Time of loading each fragment of the game before and after
    2 points
  10. How do I install the world editor? - created by @Raylee - - 1: Download the WorldEditor ReMIX: - 2: Create on your D:\ Drive a folder named "ymir work" and place the Downloadfiles there. - 3: Copy the following files from your client in the "ymir work" folder: - 3.1: It should look like that: - 4: Unpack the following files from your client and put it in your "ymir work" folder: - 4.1: If you unpack the files, be sure that you take the right folder! Example: pack\effect\ymir work\effect - 4.2: It should look like that: - 5: Create in your "tree"-folder a new folder named "shye" and in there a new folder named "officials". After you are done, copy all your .spt files from "tree" in your new "shye"->"officials" folder. - 5.1: It should look like that: - 5: If you want to see your character in the WorldEditor add following things. - 5.1: It should look like that: For rendering/refresh all objects + shadows: First press the "T" key to make sure your camera is alligned at the angle where it captures the whole world. Then press the "F6" key to re-render the minimap and shadows - 5: Create in your "tree"-folder a new folder named "shye" and in there a new folder named "officials". After you are done, copy all your .spt files from "tree" in your new "shye"->"officials" folder. - 5.1: It should look like that: This is not needed anymore.. I tested it actually and it worked fine without do the "shye" modification. Now you should have everything together to run the "WorldEditorRemix_MfcRelease_v34.exe"! Don't forget to take a look in the WorldEditor.txt textfile for further informations. You can read there a lot of useful informations.
    2 points
  11. M2 Download Center Download Here ( Internal ) Download Here ( GitHub )
    1 point
  12. Patch v24.1.1.0: *New easter stuff. [Hidden Content] [Hidden Content] MEGA or M2DL
    1 point
  13. 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.
    1 point
  14. M2 Download Center Download Here ( Internal ) Download Here ( Latest Version ) This WE is a version compiled directly by me which includes infinite fixes and features. It's certain that you won't longer use the worldeditor_en! To make it simple, I wrote all the details about this feature and the common WE inside the relative config file: (called WorldEditorRemix.ini) ; Info: ; -) 100% translated ; -) granny2.11 ; -) F6 as Insert alternative ; -) many default features not present inside the worldeditor_en (probably, that binary was taken out from an SVN long time ago and resource hacked) such as Ins for all regions and skyboxes ; -) WASD UPLEFTDOWNRIGHT to move around (+asynchronous diagonally movements) ; -) UP-LEFT-DOWN-RIGHT to move around*10 (+asynchronous diagonally movements) ; -) config file for few things ; Output options by default ; few others such as default WASD movement ; whether or not Insert should let you go where you were before the press ; no MAI dump when saving atlas ; whether or not DevIL should compress and remove alpha from minimap.dds ; whether or not loading .mdatr building heights ; default textureset when creating maps ; overlapped tabs ; other stuff ; -) several bugfixes ; default title app name ; attempting to write to an empty textureset name when creating new maps ; ViewRadius doubled every load&save ; shadowmap.dds creation ; assert when saving atlas ; crash when adjusting height ; many buffer under/overflows ; *.mdc collision data saving (for game_test) ; not checking output options when loading maps ; water brush waterid bug (the id was increased until 256 each time the function was called; now it's based on the water height just like it should be) ; init texture map reload map crash and last 2px always blank ; square shape even for up/down height brushes ; add textureset texture button (+multiselection) ; remove textureset texture feature (just selecting a texture from the list and pressing DELETE) ; creation of empty textureset with index -1 (changed to 0) ; change baseposition button ; misspelled stuff ; skybox bottom image (nb: you also need a fixed launcher for this) ; removed boring CTRL requirement (to move the camera) when editing daylight/attr ; fixed refresh texture imagebox onKey pressing the down/up keys (like when onClicking them) ; fixed TextureSet file creation if not existing ; fixed new wolfman motion event handling ; fixed crash when editing animation attack bones and 00010.gr2 was missing ; fixed locale/ymir/mob_proto load (it autodetects the most common structures) and <map>/regen.txt load/save ; fixed ./group.txt load ; fixed load/save/edit <map>/regen.txt (very nice for "m" regens, untested for "g") ; load from PACK is available if pack/property is present! Be sure pack/Index exists! ; fixed multi-object selection crash ; fixed crash when previewing a missing texture ; fixed not clearing of old environment (e.g. skybox) when switching maps ; fixed not creating property folders in root tree (object tab) ; fixed object attachment in Model Tab ; fixed newly particles names in Effect Tab ; fixed crash when saving a .mse script with no mesh model ; fixed crash when inserting a lower gradient ; -) created new TextureSet field when creating new maps ; -) created new Change/Delete Texture buttons when double-clicking a texture ; -) created Background Music playback and Shadow Recalculate buttons ; -) created water height "set 0z", "+1z", "-1z" buttons ; -) server_attr generator ; -) every crash will generate a logs/WorldEditorRemix_{target}_{date}.dmp file useful for debugging ; -) implemented a "water path" mapsettings option (the launcher requires additional code) ; -) implemented a "wind strength" msenv option (the launcher requires additional code) ; -) the "encrypt data" feature does nothing (unimplemented) ; Note: ; 0) there are no regressions in this version! a bug here means it'd also be present in older WE versions too! ; 1) the shadow output option is tricky: when UpdateUI is called, shadows are hidden although the check is pressed (i implemented the shadow recalculate function for that) #fixed since v11 ; 2) the bgm player requires /miles and the fadein/out doesn't work until you load the map ; 3) the adjusting height button works only if mdatr height is detected ; 4) the Debug version is laggy when working on maps such as n_flame_dungeon and n_ice_dungeon (by default, because SphereRadius are intensively checked in SphereLib\spherepack.h) ; 5) if you load a map, the script panels (where you load .msa et similia) will have the camera perspective a little fucked up (0z instead of -32767z or 0x 0y -163,94z) ; 6) few tree objects are not movable and/or highlightable after placed on the ground and their selection is invisible (you can still delete 'em) ; trick: draw a square selecting a normal building and 'em, then move the building and you'll see all of 'em will be moved! ; 7) the server_attr generator will clean all the unused flags! attr[idx]&=~0xFFFFFFF8; ; 8) you can read files from pack/Index 'n stuff but be aware that Property will not be considered! #fixed since v15 ; 9) the MonsterAreaInfo features are laggy and buggy as fuck ; 10) even though you can select many textures at once (using ctrl+click on textureset list; for brushing or initializing a base texture), you can't delete more than one at the same time ; 11) the .mdatr height is tricky; if you move a building, the height will not be refreshed until you put a new building or whatever you want to trigger the update event ; 12) by default, the worldeditor tries to render only the first 8 terrain textures of a 32x32px region (nb: a 1x1 map is a 256x256 px region) ; 13) the minimap rendering cannot catch the buildings/trees inside the first 2x2 regions due a ymir cache fault and you need to set the camera to "see" them ; 14) when the textureset, environment, etc load fails, the old filename still remains loaded ; 15) the attr flag "3" (three) has no implementation, so don't use it! ; 16) load from PACK doesn't load texturesets from files for first (if they are already in pack/), and the object placer's object list will remain empty because it takes the list from property/ (and not from pack/property) ; 17) to save the regen.txt you press CTRL+S ; 18) if you enable the wireframe (f4) when on Attr Tab, you see the terrain all white ; 19) the water brush disappears when the camera renders the waterwheel small/big effect ; 20) the monster area info goes under ground if you're outside the relative sectree ; 21) the full skybox may be displayed only after the top picture has been added (if the other textures have already been inserted) ; 22) the slider in the Attr Tab is something like "16 photoshop layers" in which you can split your attrs; not so helpful and quite confusing sometimes ; 23) the fixed model - object attachment attaches static objects (hairs'skeleton will not mirror the playing animation) ; 24) in environment tab, if you insert lower gradients, you may end up with an out of range crash #fixed since v30 ; 25) brushes working out-of-screen/map-range may affect random terrain places ; TODO: ; A) look at more than 8 textures for region -> DONE ; B) create a shortcut to fix the #5 note -> DONE ; C) disable the radius <= GetRadius()+0.0001f check to fix the #4 note -> REJECTED ; the worldeditor_en calls this assert and, if ignored, the lag ceases to exist (this will not occur in source version) ; at least, if the release version is not a problem for you, use that in those few cases when .mse are abused and try to kill the debug one ; D) translation in more languages other than english -> REJECTED ; english should be enough! ; E) alternative path for d: -> REJECTED ; you can mount d as a subpath of c like this: ; subst d: "c:\mt2stuff" ; F) need to fix note #19 #25 -> TODO [shortcuts] ; ### SHORTCUTS ; # ESC(ape) Clean cursor ; # Canc(el|Delete) Delete stuff such as selected buildings ; # Ctrl+S Save map ; # Ins(ert) or F6 Save shadowmap|minimap.dds ; # F3 BoundGrid Show/Hide ; # F4 Render UI Show/Hide ; # F11 WireFrame Show/Hide ; # R Reload Texture ; # Z and X Decrease/Increase Texture Splat by 0.1 ; # CapsLock Show GaussianCubic effect if shadows are displayed ; # L-Shift+1-6 Show TextureCountThreshold flags (&2-7) as colors on the ground ; # L-Shift+8 Set Max Showable texture to 8 (de-fix note 12) ; # L-Shift+0 Set Max Showable texture to 255 (fix note 12) ; # H Refresh MDATR Heights (useful when you move an object) (fix note 11) ; # Y Set Perspective as default (fix note 5) ; # T Set the Camera to catch all the object on the screen (w/a note 13) then you'll be ready to press Insert/F6 ; # DO NOT HAVE AN OBJECT SELECTED WHEN USING THOSE SHORTCUTS (MW1-7) ; # MouseWheel+1 move cursor x rotation ; # MouseWheel+2 move cursor y rotation ; # MouseWheel+3 move cursor z rotation ; # MouseWheel+4 move cursor height base (1x) ; # MouseWheel+5 move cursor height base (0.5x) ; # MouseWheel+6 move cursor height base (0.05x) ; # MouseWheel+7 move cursor ambience scale (1x) ; # MouseWheel+Q move selected object height base (1x) ; # MouseWheel+9 move selected object x position (1x) (+asyncronous) ; # MouseWheel+0 move selected object y position (1x) (+asyncronous) ; # MW+RSHIFT+9|0 as above but *10x (+asyncronous) ; # MW+RCONTROL+9|0 as above but *100x (+asyncronous) ; # MouseLeft Insert Objects ; # MouseRight Move camera (it could require CTRL too) ; # SPACE Start move/selected animation in Object/Effect/Fly CB ; # ESC Stop animation in Effect/Fly CB [config] ; ### CONFIG OPTIONS VIEW_CHAR_OUTPUT_BY_DEFAULT = 1 VIEW_SHADOW_OUTPUT_BY_DEFAULT = 1 VIEW_WATER_OUTPUT_BY_DEFAULT = 1 ; WINDOW_HEIGHT_SIZE = 1080 ; WINDOW_WIDTH_SIZE = 1920 WINDOW_FOV_SIZE = 45 ; #100 = 1px (minimal px movement when pressing WASD) WASD_MINIMAL_MOVE = 100 ; came back from where you were before pressing Insert/F6 NO_GOTO_AFTER_INSERT = 1 ; disable MAI dumps when saving atlas and/or pressing Insert/F6 NOMAI_ATLAS_DUMP = 1 ; disable minimap.dds alpha saving and enable compression NOMINIMAP_RAWALPHA = 1 ; enable .mdatr height collision loading when moving on buildings or adjusting terrain DETECT_MDATR_HEIGHT = 1 ; disable fog when loading maps NOFOG_ONMAPLOAD = 1 ; refresh all checkbox configurations when loading maps 'n stuff REFRESHALL_ONUPDATEUI = 0 ; set a default mapname prefix when creating new maps ("" to disable) NEW_MAP_MAPNAME_PREFIX = "metin2_map_" ; display a default textureset when creating new maps ("" to disable) ; note: it loads the filepath if exists, otherwise it will create an empty textureset file NEWMAP_TEXTURESETLOADPATH = "textureset\metin2_a1.txt" ; create a default textureset as "textureset/{mapname}.txt" ; note: this option is not considered if NEWMAP_TEXTURESETLOADPATH is not empty. [before v24] ; note: this option is not considered if the TextureSet path input is not empty when creating a new map [since v24] NEWMAP_TEXTURESETSAVEASMAPNAME = 1 ; remove the weird attr flags from the generated server_attr SERVERATTR_REMOVE_WEIRD_FLAGS = 1 ; show diffuse lighting to object VIEW_OBJECT_LIGHTING = 1 ; path of mob_proto used for regen MOB_PROTO_PATH = "locale/ymir/mob_proto" ; select monster area info checkbox at startup VIEW_MONSTER_AREA_INFO = 0 ; brush cursor / object selection color RGB float between 0.0 to 1.0 (default: green -> 0 1 0) RENDER_CURSOR_COLOR_R = 0.0 RENDER_CURSOR_COLOR_G = 1.0 RENDER_CURSOR_COLOR_B = 0.0 Download: [Hidden Content] How To Map: This release will not cover this part. Look at CryPrime`s tutorials to understand how to do it. About the ServerAttr Generator: (since v14) This is a beta function but it should work fine. I tested it on gm_guild_build (1x1), metin2_map_a1 (4x5), metin2_map_trent (2x2), metin2_n_snowm_01 (6x6) and the result was the same as the blackyuko map editor. (I use a different lzo version and I clean deprecated and useless flags, so the size is different from this last one but the "final image" will be the same; using game_test to fix his server_attr will let mine and his perfectly equal byte per byte) I also give you the source code of my server_attr generator function. CLICK A server_attr file is based on all the attr.atr files merged into a one raw RGBA image and each one scaled from 256x256 to 512x512. After that, the image will be splitted into sectors of 128x128 px and each one compressed using lzo compression. The server_attr header is composed by the size of the map*4. (e.g. a 4x4 will have a 16x16 size with 256 sectors inside) (gj ymir CLICK) An uncompressed server_attr sector is just like this: CLICK (the sub 4 byte header is the size returned by the LzoCompress which indicates how much the compressed sector data are large) Each attr.atr is just like this: CLICK (the header is composed of 6 byte in total: 3 WORDs respectively for version, width and height; they are always 2634, 1, 1 so don't bother about it) A single attr.atr scaled from 256x256 to 512x512 will be just like this: CLICK You can use the game_test (from source) to perform few tasks like: Create a server_attr from a .mcd file (I won't suggest it) a <collision data filename> <map directory> Regenerate an old server_attr to server_attr.new using the current lzo compression and cleaning useless flag CLICK c <filename> Other stuff such as b to create a character instance or q to quit About the SkyBox Bottom pic fix: (since v21) Both metin2launch.exe and worldeditor.exe should be edited to see the bottom pic of the skybox. Ymir messed up the code wrongly flipping the bottom image. Open ./Srcs/Client/EterLib/SkyBox.cpp and replace: ////// Face 5: BOTTOM v3QuadPoints[0] = D3DXVECTOR3(1.0f, -1.0f, -1.0f); v3QuadPoints[1] = D3DXVECTOR3(1.0f, 1.0f, -1.0f); v3QuadPoints[2] = D3DXVECTOR3(-1.0f, -1.0f, -1.0f); v3QuadPoints[3] = D3DXVECTOR3(-1.0f, 1.0f, -1.0f); with: ////// Face 5: BOTTOM v3QuadPoints[0] = D3DXVECTOR3(1.0f, 1.0f, -1.0f); v3QuadPoints[1] = D3DXVECTOR3(1.0f, -1.0f, -1.0f); v3QuadPoints[2] = D3DXVECTOR3(-1.0f, 1.0f, -1.0f); v3QuadPoints[3] = D3DXVECTOR3(-1.0f, -1.0f, -1.0f); then recompile. Credits:
    1 point
  15. The language of the video is Turkish, but Im adding in case you may need visuals. Skip to 19th minute, rain files start from there... Short summary for avoiding the video: Extract files from InstantServer.exe Create virtual machine using .vhd file that extracted from InstanServer SFX archive. Be generous when adjusting the RAM amount. Otherwise, swap space will not be enough. Change the local IP of the virtual machine sysinstall -> Configure -> Networking -> Interfaces -> em0 Do you want to try IPv6 blabla.. -> No (In Turkey we don't use IPv6 yet.) Do you want to try DHCP blabla.. -> Yes (With this, you can automatically assign the first available IP in the modem.) Reboot or restart netif service with; /etc/rc.d/netif restart Type the following command in root directory for start the server: ./start Extract client files from metin2.7z ( I used WinXP because, defender deletes mc.exe for containing virus. Also bunch of compability issues in win10. I strongly suggest use virtual machine. XP in virtual machine safe and sound...) Open mc.txt with text editor. Put your local IP address of FreeBSD Start metin2.exe and click the button in the image below... Use ID: rain Pass: 12345 and Booomm... For English client use the mc_eng.7z Extract everything inside to client folder and replace. Special thanks to ShinsooLord for reuploading and rain for releasing this beauty. Download links You can get InstantServer from this topic All in one => Metin2 Download Recompressed InstantServer SFX archive contents -> Mc倚天2完整版.7z VT SHA-256: 436BCFB3963B02506EEEB07713F18396CA49DA6BA084D7ACE8CC361885622062 Pass: rain Client -> metin2.7z VT SHA-256 : 27E2FCFB486E3682A898FB32F7F30F064729D7BD7323FEB4D9B202A76486FB2B Pass: rain Client Eng patch -> mc_eng.7z VT SHA-256 : 974F8402524BC10F5EF82D87F11C64721525AD00D89AD9E02171D8CD75612672 Pass: rain Rain server files extracted in the video from vhd, recompressed with lzma2 -> rain.7z VT SHA-256 : 1833A13707ABBCE334A030CD5A2E5F8D6F2C336FF9EB9D2CDD3417519758A5FA Sql file that contains all databases extracted with mysqldump from vhd -> all_rain_db.sql VT SHA-256 : E42637DA2B712A829D43186F29532A643DB02363366DDAE082D08EC2235373EF That's all folks...
    1 point
  16. Download Metin2 Download Hello nothing special , just a simple font with some textures on it , maybe someone could use it ^^ Download How To: Just Change Text, adjust positions of lights/textures done ^^ Looking for something special ? Contact me Tuora#9394
    1 point
  17. GF Protos 24.0.4.0 Alternative download links → MEGA I did not include the item proto mask types and sub types.
    1 point
  18. Download Download:
    1 point
  19. Download Metin2 Download or Mega Hello! I know, this system is released on a lot of forums but those are not the full systems. I left a "readme" in the playersettingsmodule.py, please read. If you miss something, tell me. If you have problem with the system, i can try to help you. And last but not least, THE BASE SYSTEM IS NOT MINE. I just re-edited and "fixed". Proof vid: Sorry for my bad english.. UPDATE InstanceBase.cpp: Search: if (dwSash == 85020) { m_dwSashEffect = EFFECT_REFINED + EFFECT_WINGS_NEWS2; __EffectContainer_AttachEffect(m_dwSashEffect); } Rreplace with: if (dwSash == 85020) { fSpecular += 35; // im the new m_dwSashEffect = EFFECT_REFINED + EFFECT_WINGS_NEWS2; __EffectContainer_AttachEffect(m_dwSashEffect); } __VT__
    1 point
  20. Download Center Github or M2DL Heyo, this is something i did a while ago, perhaps it will be of use for some. [Hidden Content]
    1 point
  21. M2 Download Center Download Here ( Internal ) Serverfiles Cartof v4 Contains Systems (all are working perfect, without bugs) * Sash system with scale > [Hidden Content] * Offline shop system + offline shop search system > [Hidden Content] * Alchemy system > [Hidden Content] * Yang limit was increased at 10kkkkk (10.000.000.000.000.000) including offline shop and sash > you can see this in the posted videos up * Belt system * Energy system Improvements * The specific music has been eliminated because I, at least, consider it useless (I think everyone now puts what he wants to listen to, that's my opinion) * The files have been rearranged, many of them deleted => 977MB total client size * You can attack and use the skills (horseback) on any mount * You can not use the Witch Tais and the Aura of the Sword if you do not have a gun * When you are teleporting or dying, your pet will not be chased, but will remain near you * You can not use a wedding suit and another suit at the same time * The commands that could have the server (/dice, /war etc) have been resolved and all (including /dice) * Quickslot ([Hidden Content]) solved * The CMD file containing the required steps to use commands has been removed, the gradation is done directly from the source * The craft bug that caused the server dropout was resolved * The minimum level (40) to create a guild is verified in the source * Blend bug ([Hidden Content]) solved * There was a possibility to squirt the server when you were invited to a guild now there is no such possibility * There was a possibility to drop the server when the / reload q command was used, there is no longer the possibility * There was a possibility that players can be disconnected by using the / messenger_auth command in a module, now can not * When you die you will not have any negative life, but 0 * When you have a stack of books it will only read 1, not all * There is no time between bonus changes * Exploit has been resolved, it does not work anymore I did not pay too much attention to the client, you have the freedom to customize it as you want. I've removed quests, drops, store items, and all else for not taking the serverfile here and within 5 minutes to advertise with the open server. On this occasion I hope you will make your own drops, OX questions etc. For those who wonder what serverfiles I started -> Zearth2 (you can see this when you open the client). Serverfiles download : Serverfiles Cartof v4 Sources (server, binary, dump_proto, config) are for sale on a bundle, they can not be bought in pieces. Careful! I do not sell to anyone. For private message contact me on Skype unknown.rk or live: unknown.rk. Free support to those who purchase the sources. Please refrain from any unnecessary comments and sorry for my english.
    1 point
  22. Hi guys. This is my goodbye, I had 10 years working for Metin2 but in the last days I finished my all contracts with Metin2. New year, new projects. I hope you continue to improve your codes. I give special thanks for my unic friend on Metin2 "Capone" because he was the one who showed me that true friendship exists. I know that Metin2 has nice people "Community Developers" and Big Developers: VegaS and Mali, you don't know about me, but I observed your works and is very cool. I wish you a beautiful new Year and good luck in your future projects. I leave with my last contribution "GIFT" for the community. Basic Dungeons: [C++] Nemere and Flame Dungeon like Official servers: Dungeons with Conqueror of Yohara stats: [C++] White Dragon [C++] Queen Nethis NOTE: If I forgot visuals parts, you can extract from the official client. Maybe I will have connections in the forum but just of curiosity. I love you guys, I hope you are very well with my gifts. Good bye.
    1 point
  23. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Everything works fine, just add a part of "python" client, so that users change language with a button, i was lazy to do it. [Hidden Content] - The system saves one language per account. - It's capable of translating quest, client, etc. - The system takes the language from the client's mylang.cfg file and save on DB of this account in the client. The guide simply focuses on looking for DEFINE: ENABLE_MULTILANGUAGE So you can see how I placed it.
    1 point
  24. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) This is the Level System and Point's for Yohara 1. The maps are empty, in essence it's the system, (without mobs). 2. If you want to add the monsters on the maps you can contact me and, I add the monsters and put your credits, the truth was I was lazy :'(. 3. I can upload updates if you need it. 4. In essence if you are level 1 or higher, you become "Conqueror", otherwise you are a normal player, your job is simply to add that after Hydra, though, I'll add it later. 5. At the moment it calls the normal experience table, since I have not reviewed the officer's experience tables, but if you indicate the tables, I can modify the code and add that part. Images: In GitHub REAMDE. Link: [Hidden Content] You will need a some visual parts, you can with: [Hidden Content] I will continue making updates with information by Official Servers . The system is working properly.
    1 point
  25. Lien de téléchargement mis à jour [Hidden Content]
    1 point
  26. M2 Download Center Download Here ( Internal ) Hello i seen it's an old post about this serverfiles but all links is down and i seen people still want this serverfile so if saved it on my mega account i can share it with all xD Here it is the serverfile link SF Rain2007 for passwords,installer passowrd is classic Client For this SFile Metin2US 2007 Client! Please don't delete this post i seen the original post about rain files and all links is down so i decided to Reupload it!
    1 point
  27. M2 Download Center Download Here ( Internal ) Download
    1 point
  28. M2 Download Center Download Here ( Internal ) Hi there Devs, I successfully extended the maximum number of items in a stack, so I'd like to share it. Originally the type of the "count" variables are "BYTE", so the maximum number only 255. I changed this to "WORD" (unsigned short), so now its about 60k. client packet.h Search for this: typedef struct command_item_drop2 then replace this in the struct: BYTE count; to this: WORD count; Then search for this: typedef struct command_item_move then replace this in the struct: BYTE num; To this: WORD num; Search for this: typedef struct SShopItemTable then replace this in the struct: BYTE count; to this: WORD count; Search for this: typedef struct packet_set_item2 then replace this in the struct: BYTE count; to this: WORD count; Then search for this: typedef struct packet_update_item then replace this in the struct: BYTE count; to this: WORD count; Then search for this: typedef struct SEquipmentItemSet replace this: BYTE count; to this: WORD count; PythonNetworkPhaseGame.cpp->RecvExchangePacket function Replace this: CPythonExchange::Instance().SetItemToSelf(iSlotIndex, exchange_packet.arg1, (BYTE) exchange_packet.arg3); To this: CPythonExchange::Instance().SetItemToSelf(iSlotIndex, exchange_packet.arg1, (WORD) exchange_packet.arg3); and this: CPythonExchange::Instance().SetItemToTarget(iSlotIndex, exchange_packet.arg1, (BYTE) exchange_packet.arg3); to this: CPythonExchange::Instance().SetItemToTarget(iSlotIndex, exchange_packet.arg1, (WORD) exchange_packet.arg3); pythonexchange.cpp: Replace this: BYTE CPythonExchange::GetItemCountFromTarget(BYTE pos) With this: WORD CPythonExchange::GetItemCountFromTarget(BYTE pos) Then this: BYTE CPythonExchange::GetItemCountFromSelf(BYTE pos) With this: WORD CPythonExchange::GetItemCountFromSelf(BYTE pos) And this: void CPythonExchange::SetItemToTarget(DWORD pos, DWORD vnum, BYTE count) With this: void CPythonExchange::SetItemToTarget(DWORD pos, DWORD vnum, WORD count) And then this: void CPythonExchange::SetItemToSelf(DWORD pos, DWORD vnum, BYTE count) With this: void CPythonExchange::SetItemToSelf(DWORD pos, DWORD vnum, WORD count) pythonexchange.h Replace this ones: BYTE GetItemCountFromTarget(BYTE pos); BYTE GetItemCountFromSelf(BYTE pos); void SetItemToTarget(DWORD pos, DWORD vnum, BYTE count); void SetItemToSelf(DWORD pos, DWORD vnum, BYTE count); BYTE item_count[EXCHANGE_ITEM_MAX_NUM]; To this: WORD GetItemCountFromTarget(BYTE pos); WORD GetItemCountFromSelf(BYTE pos); void SetItemToTarget(DWORD pos, DWORD vnum, WORD count); void SetItemToSelf(DWORD pos, DWORD vnum, WORD count); WORD item_count[EXCHANGE_ITEM_MAX_NUM]; PythonNetworkStreamPhaseGameItem.cpp Replace the whole function: bool CPythonNetworkStream::SendShopSellPacketNew With this: typedef struct fckOFF { BYTE bySlot; WORD byCount; } TfckOFF; bool CPythonNetworkStream::SendShopSellPacketNew(BYTE bySlot, WORD byCount) { if (!__CanActMainInstance()) return true; TPacketCGShop PacketShop; PacketShop.header = HEADER_CG_SHOP; PacketShop.subheader = SHOP_SUBHEADER_CG_SELL2; TfckOFF second; second.byCount = byCount; second.bySlot = bySlot; if (!Send(sizeof(TPacketCGShop), &PacketShop)) { Tracef("SendShopSellPacket Error\n"); return false; } if (!Send(sizeof(TfckOFF), &second)) { Tracef("SendShopAddSellPacket Error\n"); return false; } /*if (!Send(sizeof(WORD), &byCount)) { Tracef("SendShopAddSellPacket Error\n"); return false; }*/ Tracef(" SendShopSellPacketNew(bySlot=%d, byCount=%u)\n", bySlot, byCount); return SendSequence(); } Then replace this: bool CPythonNetworkStream::SendItemMovePacket(TItemPos pos, TItemPos change_pos, BYTE num) bool CPythonNetworkStream::SendSafeBoxItemMovePacket(BYTE bySourcePos, BYTE byTargetPos, BYTE byCount) To this: bool CPythonNetworkStream::SendItemMovePacket(TItemPos pos, TItemPos change_pos, WORD num) bool CPythonNetworkStream::SendSafeBoxItemMovePacket(BYTE bySourcePos, BYTE byTargetPos, WORD byCount) pythonplayermodule.cpp Replace the whole function: PyObject * playerSetItemCount(PyObject* poSelf, PyObject* poArgs) With this: PyObject * playerSetItemCount(PyObject* poSelf, PyObject* poArgs) { switch (PyTuple_Size(poArgs)) { case 2: { int iSlotIndex; if (!PyTuple_GetInteger(poArgs, 0, &iSlotIndex)) return Py_BuildException(); WORD wCount; if (!PyTuple_GetInteger(poArgs, 1, &wCount)) return Py_BuildException(); if (0 == wCount) return Py_BuildException(); CPythonPlayer::Instance().SetItemCount(TItemPos (INVENTORY, iSlotIndex), wCount); return Py_BuildNone(); } case 3: { TItemPos Cell; if (!PyTuple_GetByte(poArgs, 0, &Cell.window_type)) return Py_BuildException(); if (!PyTuple_GetInteger(poArgs, 1, &Cell.cell)) return Py_BuildException(); WORD wCount; if (!PyTuple_GetInteger(poArgs, 2, &wCount)) return Py_BuildException(); CPythonPlayer::Instance().SetItemCount(Cell, wCount); return Py_BuildNone(); } default: return Py_BuildException(); } } PythonNetworkStreamModule.cpp Replace the following function: PyObject* netSendItemMovePacket(PyObject* poSelf, PyObject* poArgs) With this: PyObject* netSendItemMovePacket(PyObject* poSelf, PyObject* poArgs) { TItemPos Cell; TItemPos ChangeCell; int num; switch (PyTuple_Size(poArgs)) { case 3: if (!PyTuple_GetInteger(poArgs, 0, &Cell.cell)) return Py_BuildException(); if (!PyTuple_GetInteger(poArgs, 1, &ChangeCell.cell)) return Py_BuildException(); if (!PyTuple_GetInteger(poArgs, 2, &num)) return Py_BuildException(); break; case 5: { if (!PyTuple_GetByte(poArgs, 0, &Cell.window_type)) return Py_BuildException(); if (!PyTuple_GetInteger(poArgs, 1, &Cell.cell)) return Py_BuildException(); if (!PyTuple_GetByte(poArgs, 2, &ChangeCell.window_type)) return Py_BuildException(); if (!PyTuple_GetInteger(poArgs, 3, &ChangeCell.cell)) return Py_BuildException(); if (!PyTuple_GetInteger(poArgs, 4, &num)) return Py_BuildException(); } break; default: return Py_BuildException(); } CPythonNetworkStream& rkNetStream=CPythonNetworkStream::Instance(); rkNetStream.SendItemMovePacket(Cell, ChangeCell, (WORD) num);//ez a sor az return Py_BuildNone(); } GameType.h Search for this: typedef struct packet_item Then replace this: BYTE count; With this: WORD count; Search for this: typedef struct packet_shop_item And edit this: BYTE count; to this: WORD count; AbstractPlayer.h Replace this: virtual void SetItemCount(TItemPos itemPos, BYTE byCount) = 0; With this: virtual void SetItemCount(TItemPos itemPos, WORD byCount) = 0; PythonPlayer.cpp Replace this: void CPythonPlayer::SetItemCount(TItemPos Cell, BYTE byCount) With this: void CPythonPlayer::SetItemCount(TItemPos Cell, WORD byCount) PythonPlayer.h Replace this: void SetItemCount(TItemPos Cell, BYTE byCount); With this: void SetItemCount(TItemPos Cell, WORD byCount); PythonNetworkStream.h And this: bool SendSafeBoxItemMovePacket(BYTE bySourcePos, BYTE byTargetPos, BYTE byCount); bool SendShopSellPacketNew(BYTE bySlot, BYTE byCount); bool SendItemMovePacket(TItemPos pos, TItemPos change_pos, BYTE num); With this: bool SendSafeBoxItemMovePacket(BYTE bySourcePos, BYTE byTargetPos, WORD byCount); bool SendShopSellPacketNew(BYTE bySlot, WORD byCount); bool SendItemMovePacket(TItemPos pos, TItemPos change_pos, WORD num); Now we are done with the client, you can build it now. server common/tables.h Search this: typedef struct SShopItemTable Then replace this: BYTE count; To this: WORD count; packet.h Search for this: typedef struct command_item_drop2 Then edit this: BYTE count; To this: WORD count; Then search this:: typedef struct command_item_move Replace this: BYTE count; With this: WORD count; Then search this: typedef struct packet_item_set Replace this: BYTE count; To this: WORD count; Search this: typedef struct packet_item_update Replace this: BYTE count; To this: WORD count; Search this: struct packet_shop_item Replace this: BYTE count; To this: WORD count; Search this: typedef struct pakcet_view_equip Then replace this: BYTE count; To this: WORD count; input_main.cpp Replace this whole function: int CInputMain::Shop(LPCHARACTER ch, const char * data, size_t uiBytes) With this: typedef struct fckOFF { BYTE bySlot; WORD byCount; } TfckOFF; int CInputMain::Shop(LPCHARACTER ch, const char * data, size_t uiBytes) { TPacketCGShop * p = (TPacketCGShop *) data; if (uiBytes < sizeof(TPacketCGShop)) return -1; if (test_server) sys_log(0, "CInputMain::Shop() ==> SubHeader %d", p->subheader); const char * c_pData = data + sizeof(TPacketCGShop); uiBytes -= sizeof(TPacketCGShop); switch (p->subheader) { case SHOP_SUBHEADER_CG_END: sys_log(1, "INPUT: %s SHOP: END", ch->GetName()); CShopManager::instance().StopShopping(ch); return 0; case SHOP_SUBHEADER_CG_BUY: { if (uiBytes < sizeof(BYTE) + sizeof(BYTE)) return -1; BYTE bPos = *(c_pData + 1); sys_log(1, "INPUT: %s SHOP: BUY %d", ch->GetName(), bPos); CShopManager::instance().Buy(ch, bPos); return (sizeof(BYTE) + sizeof(BYTE)); } case SHOP_SUBHEADER_CG_SELL: { if (uiBytes < sizeof(BYTE)) return -1; BYTE pos = *c_pData; sys_log(0, "INPUT: %s SHOP: SELL", ch->GetName()); CShopManager::instance().Sell(ch, pos); return sizeof(BYTE); } case SHOP_SUBHEADER_CG_SELL2: { if (uiBytes < sizeof(TfckOFF)) return -1; TfckOFF*p2 = (TfckOFF*)c_pData; /*BYTE pos = *(c_pData++); WORD count = *(c_pData);*/ sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName()); CShopManager::instance().Sell(ch, p2->bySlot, p2->byCount); return sizeof(TfckOFF); } default: sys_err("CInputMain::Shop : Unknown subheader %d : %s", p->subheader, ch->GetName()); break; } return 0; } shop_manager.cpp Replace this: void CShopManager::Sell(LPCHARACTER ch, BYTE bCell, BYTE bCount) To this: void CShopManager::Sell(LPCHARACTER ch, BYTE bCell, WORD bCount) shop.h Search this: typedef struct shop_item Replace this: BYTE count; To this: WORD count; shop_manager.h Replace this: void Sell(LPCHARACTER ch, BYTE bCell, BYTE bCount=0); To this: void Sell(LPCHARACTER ch, BYTE bCell, WORD bCount=0); char_item.cpp Replace this: bool CHARACTER::DropItem(TItemPos Cell, BYTE bCount) To this: bool CHARACTER::DropItem(TItemPos Cell, WORD bCount) Then replace this: bool CHARACTER::MoveItem(TItemPos Cell, TItemPos DestCell, BYTE count) To this: bool CHARACTER::MoveItem(TItemPos Cell, TItemPos DestCell, WORD count) And replace this in this function: count = MIN(200 - item2->GetCount(), count); To this: count = MIN(ITEM_MAX_COUNT - item2->GetCount(), count); Then replace this: LPITEM CHARACTER::AutoGiveItem(DWORD dwItemVnum, BYTE bCount, int iRarePct, bool bMsg) To this: LPITEM CHARACTER::AutoGiveItem(DWORD dwItemVnum, WORD bCount, int iRarePct, bool bMsg) And replace this in this function: BYTE bCount2 = MIN(200 - item->GetCount(), bCount); To this: WORD bCount2 = MIN(ITEM_MAX_COUNT - item->GetCount(), bCount); And replace this inside the PickupItem function: BYTE bCount = item->GetCount(); To this: WORD bCount = item->GetCount(); And this (still inside this function): BYTE bCount2 = MIN(200 - item2->GetCount(), bCount); To this: WORD bCount2 = MIN(ITEM_MAX_COUNT - item2->GetCount(), bCount); item.cpp->DWORD CItem::GetCount() Replace this: return MIN(m_dwCount, 200); To this: return MIN(m_dwCount, ITEM_MAX_COUNT); safebox.cpp Replace this: bool CSafebox::MoveItem(BYTE bCell, BYTE bDestCell, BYTE count) To this: bool CSafebox::MoveItem(BYTE bCell, BYTE bDestCell, WORD count) Then replace this inside this function: count = MIN(200 - item2->GetCount(), count); To this: count = MIN(ITEM_MAX_COUNT - item2->GetCount(), count); common/item_lenght.h Here you can set the maximum number in a stack. Change this as big as you want (between 0 and ~60k) ITEM_MAX_COUNT = 200, (I changed this to 300, just for the test) char.h Replace this: bool DropItem(TItemPos Cell, BYTE bCount=0); bool MoveItem(TItemPos pos, TItemPos change_pos, BYTE num); LPITEM AutoGiveItem(DWORD dwItemVnum, BYTE bCount=1, int iRarePct = -1, bool bMsg = true); To this: bool DropItem(TItemPos Cell, WORD bCount=0); bool MoveItem(TItemPos pos, TItemPos change_pos, WORD num); LPITEM AutoGiveItem(DWORD dwItemVnum, WORD bCount=1, int iRarePct = -1, bool bMsg = true); safebox.h Replace this: bool MoveItem(BYTE bCell, BYTE bDestCell, BYTE count); To this: bool MoveItem(BYTE bCell, BYTE bDestCell, WORD count); oxevent.cpp Replace this: bool COXEventManager::GiveItemToAttender(DWORD dwItemVnum, BYTE count) To this: bool COXEventManager::GiveItemToAttender(DWORD dwItemVnum, WORD count) oxevent.h Replace this: bool GiveItemToAttender(DWORD dwItemVnum, BYTE count); With this: bool GiveItemToAttender(DWORD dwItemVnum, WORD count); Now we are done with the server, don't foget to build the db and the gamefile too! database We have to do 2 more things: Go to the player database, right click on the item table -> desing table, then edit the count column's type from tinyint to smallint and the lenght from 3 to 4. shop_item table->desing table: edit the count column's type from tinyint to smallint And we are done I also captured the "progress" like in my "Expand maximum level" topic, its about 40 minutes long again, its not necessary at all to watch it, but if you are interested about the progress, or you just bored and have 40-50 minute freetime, watch it, if you want Special thanks to TheSLZ for testing the edits. If you have any problem/remark/question, or you've just found a bug, feel free to tell/ask it here or in PM. Have a nice day, ~masodikbela
    1 point
  29. Download Center Download BEFORE AFTER
    1 point
  30. M2 Download Center Download Here ( Internal ) [Hidden Content]- Images & Video: Some Informations From Black: If you have a problem, you can send me a private message. You know me, I reply to all private messages
    1 point
  31. M2 Download Center Download Here ( Internal ) Hi everyone. Here are some functions what I reversed from official binary about the PythonEventManager. 1.) event.SetVisibleLineCount(descIndex, iCount) - This limits the visible count of the lines in the 'textbox'. Used in battlefield and minigames. 2.) event.GetLineHeight(descIndex) - Gives back the height of the textline. Used in battlefield and minigames. 3.) event.SetYPosition(descIndex, iY) - Sets the Y position of the texts. Used for nothing yet. 4.) event.GetProcessedLineCount(descIndex) - Gives back the number of the processed text lines count. Used in battlefield and minigames. 5.) event.AllProcessEventSet(descIndex) - Instantly shows every text lines under a second. Used in battlefield and minigames. Faster than the zero delay 6.) event.GetTotalLineCount(descIndex) - Gives back the total line of the textbox. Used for new char- select and create, battlefield and minigames. If you have any problem, just write a comment below.
    1 point
  32. Was a bit too retarded in 2020 (Not much changed). What is doing? ---> Exactly what i explain in this but is saving in m2.cfg I've made that a bit for someone who want to use it for fun ^ . ^ ( Tbh i have to improve something to these (code meaning ), but is ok atm.. ) Python part on uigameoption you have to do by yourself ( Make it like alwaysShowNameButtonList ) Happy christmas !
    1 point
  33. 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
  34. M2 Download Center Download Here ( Internal ) Download Here ( Github ) Helloo! Someone asked if there's a way to scale buttons and since Metin2 doesn't support this by default, I decided to make this small tutorial. How to use? your_button.SetScale(scaleWidth, scaleHeight) E.g: self.costumeButton.SetScale(0.7, 0.7) Sincerly, Finnis.
    1 point
  35. M2 Download Center Download Here ( Internal ) With this tool you can view the Metin2 Models in the .gr2 Format. It´s an easy to use tool and a must have for every server owner or client modder.
    1 point
  36. Download Alternative download links → Mega Hello Metin2 Dev. I'm here to present a Orc Tooth biologist mission. How does it work? Player don't need to go to biologist to deliver the tooth. It has a 50% of failing or success the deliver. In case the player fails the deliver he/she needs to wait 15 minutes to deliver again, the same goes if he/she success delivers. It shows the remaining time when delivering. In case of any problem, report here and i'll fix it.
    1 point
  37. M2 Download Center Download Here ( Internal ) Maybe somebody works. I actually shared it in a different community. I wanted to share it with my family even though it is now a dead community. Without forgetting, you can get a lot by following the links. [Hidden Content] EXTRA: EXTRA:
    1 point
  38. M2 Download Center Download Here ( Internal ) Hey guyz, I just made a lil tool for the community. You can edit your item and mob_proto.txt with as a table. Put those txt files next to the program. There's some kinda run query function in it. You can run the simplest queries with it like "update Level*10" which will multiplicate all the Level values by 10. Only update function is available yet and without where. Operators you can use: +, -, *, /, = Download
    1 point
  39. Download Metin2 Download or github It's not something wow, but maybe someone use it or like it.
    1 point
  40. M2 Download Center Download Here ( Internal ) A very fast item split system written by me. A very optimized one. Instead of sending hundered of packets it only sends maybe a dozen max. It is searching algorithm is also better than most split systems. It can do backward searching. [Hidden Content]
    1 point
  41. File: ClientManager.cpp Description: It's necessary to wrap the names of the columns which are protected since MySQL 8.0, the two names that I know: window, rank. In my example, I wrapped all columns. Example: [Hidden Content] To """ recreate """ the PASSWORD() function, it was deleted... File: input_auth.cpp Description: You have to replace part of the code by: UPPER(CONCAT('*', SHA1(UNHEX(SHA1('%s'))))). Example: [Hidden Content]
    1 point
  42. IGNORE_BLOCK REQ Hello guys, someone have the formulation of IGNORE_BLOCK for setFlag skills? Like official.
    1 point
  43. I'm using the following sources: [Hidden Content] using BSD 12 also downloaded from there but when I compile the ../game/src an error appears to me: How could I solve this?
    1 point
  44. 1 point
  45. #Update: clang-devel-8.d20181024 -> clang-devel-9.0.d20190701 gcc9-devel: 9.0.0.s20181223 -> gcc9-devel: 9.1.1.s20190629 boost-1.69 -> boost.170 gdb-8.2 Make part-3 example src:[Hidden Content]
    1 point
  46. M2 Download Center Download Here ( Internal ) Hello There. I publish here this system i hope that this help you a bit with this you can hide your costume if you dont like it (if I forgot something just say it ) (this system is not complete yet you can hide only your costume no hairstyle,sash,weapon) (This system is not mine! i just found the source function and made the python codes and quest)
    1 point
  47. M2 Download Center Download Here ( Internal ) Hello, today I want to share with you my quest. What it does? It changes your attributes on an item if you place it on a certain NPC (in this case "Handu-Up") and puts best in slot PVP attributes. What this quest can't do (yet): Differentiate between Average Damage, Skill damage - type weapons like Poison Sword (If someone could show me how to exit a FOR-Loop in LUA I might be ablte to do it) #added Change attributes on other items than your "standard" equipement like costumes etc. Keep in mind that I just wanted to look back into quest scripting so I it's not perfect written by any means but it works and I think some people will have a use for it. Here is the Code (Downloadable as attachement down below): German:
    1 point
  48. I installed this succesfully but i don't know why the images aren't shown. There is no syserr or anything also with the other version too. I put them on etc.eix/epk
    1 point
  49. [Hidden Content] - Client Side Version.
    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.