Search the Community

Showing results for tags 'metin2'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Announcements
    • Feedback
  • Metin2
    • General
    • Questions and Answers
    • Guides & HowTo
    • Design
    • Private Servers
    • Services
    • Videos
  • Releases
    • General
    • Tools
    • Programming / Scripts
    • Quests
    • Binaries & Clients/Serverfiles
    • 3D Models
    • 2D Graphics
    • Operating Systems
  • Safe Zone
    • Offtopic
    • Games Talk
    • Music/Videos/Art
  • D:\YMIR WORK\'s Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Discord


Skype


ICQ


Yahoo


Location

Found 571 results

  1. - INFORMATIONS Site: http://www.infinitymetin.eu Client Download: Download here Game Registrations: they will be open today, a link will be posted here. Discord Channel: Join us!
  2. Link VDI: https://mega.nz/#!p6RFnYZR!nNVJWv2G1pL1yL8uoj-FuorpaD7JqcBxk2sQlMosnqM User: root Password: 123123 Discord support server: https://discord.gg/sTE4yuq Commands: cd /vanillacore_llvm6/vanilla/Source/game/src && gmake cd /vanillacore_llvm6/vanilla/Source/db/src && gmake Thank to @niokio and @Vanilla
  3. Bituse

    [File Requist] Transparent dds

    Hello Community ! Can someone share a transparent dds ? Blank one withot anything on it ? Need to cover somthing on the model... Here is a texture if u are able to make it transparent https://www.dropbox.com/s/dmwihi1tuvl3mpx/dorado.dds?dl=0 Thank you ! dorado.dds
  4. Hello! I've created some Wallpapers for you! Original Logo by SquareEnix - Final Fantasy X These Wallpaper are full Vector Wallpapers, that means, you can scale it how you want, without quality loss! The standard Download mirror in this thread, just contains the non-vector Wallpaper in the resolution of 1920x1080. If you want a higher resolution, just write me a private message, with the reason, why you need one! I just want to mention, that the idea for these Wallpaper comes from "Plentakill", they are creating the same kind of Wallpaper, just for League of Legends! If you wanna see it, check their Channel on Youtube or use google! Wallpaper Preview (Version 1): http://i.epvpimg.com/wjYHh.jpg http://i.epvpimg.com/8aEic.png http://i.epvpimg.com/Bdi2b.jpg http://i.epvpimg.com/6dzkb.jpg Maybe there will come a version 2, with the male characters of Metin2! I just want to mention that one Wallpaper requires 8 hours of work and over 700 Shapes, and I am a lazy guy... so it will take its time for version 2. As a last resort, I ask you for your thought about the Wallpaper, please write feedback or critique, so i know what i have to change in version 2... And guys, please dont remove my copyright on the right-bottom corner! Download version 1 Best regards, Sora
  5. This package was created more than 3 years ago. So here u can find a lot of published models, where a lot of them aren't more available for download (dead links). DL models: https://mega.nz/#!7sEFDTyA!FVFpcKSslxh4ojDAqp85baVzGzq9DgAEmUCUJLbcOEQ scan virustotal: https://www.virustotal.com/pl/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/analysis/1496653078/ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Small update: https://mega.nz/#!eoUWDKBQ!HpZJaN48JKrNBQwT6cnqDg_D7QoU54MbK-EURs_WJgw scan virtustotal: https://www.virustotal.com/#/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/detection -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Dl maps: https://mega.nz/#!W5dGjYZT!W7IJWjNeWnB3K0u4T6rWDXlWitZXnzWFeLori9qTTGY scan virtustotal: https://www.virustotal.com/pl/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/analysis/1496653078/ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- The name of the screen file is the same as the folder name: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- e.g.: Armors:
  6. LastSamurai23

    [Release]Golden Frog Fixed

    Hey, nothing much to say, here you have it. alpha channel already included. Screen: Download: https://mega.nz/#!BlhiDY7a!3gi_esNW5rkUzoeUtc5d8wZoCj5yNQhRqxnG9ZG8-RQ
  7. ThunderCore

    [ Metin2 Tool ] MDE MAX SCRIPT

    Hi ! Today ThunderCore Society will offer you a special tool for 3d MAX Software. Note: That tool isn't for begginers and we don't offer suport for that. We hereby inform you that we take the copyrights file and his contents because ThunderCore Society has paid to perform this work. There exists an "readme" file that contains some informations about how to install the script. Attention: These files are under copyright and licensed by ThunderCore Society. Any violation of the license may result in suing. Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. NonCommercial — You may not use the material for commercial purposes. NoDerivatives — If you transform, or build upon the material, you may not distribute the modified material. No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. THC_MDE_TOOL.zip Link Update.
  8. Hello, i want to show you here my new 6th character You can contact me or visit my website for more informations
  9. 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 _________________________________________________________________________________ _________________________________________________________________________________
  10. Hello, here's a tutorial on how to update your MySQL Connector C (i think it's not supported anymore thanks oracle @.@) into MariaDB Connector C extracted from my source. You must need MariaDB, if you use MySQL with this connector don't ask help because it's not ment to be compatible. With this edit you could use MariaDB Connector v3.x without any problem. 1) Makefile update Open your libsql, db and game makefile and on the CFLAGS/IFLAGS add this: -I<your Extern source>/include/mariadb (ie.: ../Extern/include/mariadb) Also, if you have a -I referencing mysql please delete it Then, add this to your libsql, db and game CFLAGS this -D__MARIADB__ Finally, change on your db and game LIBS this -lmysqlclient into -lmariadbclient -lssl -lcrypto NOTE: If you already link libssl and libcrypto you can skip them NOTE ON 64BIT ENVIRONMENT: 2) Source Update Edit this code from libsql/AsyncSQL.h: #include <mysql/mysql.h> #include <mysql/errmsg.h> #include <mysql/mysqld_error.h> into: #ifdef __MARIADB__ #include <mariadb/mysql.h> #include <mariadb/errmsg.h> #include <mariadb/mysqld_error.h> #else #include <mysql/mysql.h> #include <mysql/errmsg.h> #include <mysql/mysqld_error.h> #endif Edit this code on db/DBManager.h #include <mysql/mysql.h> into this: #ifdef __MARIADB__ #include <mariadb/mysql.h> #else #include <mysql/mysql.h> #endif Finally, edit this file on libsql/AsyncSQL.cpp fprintf(stdout, "AsyncSQL: connected to %s (reconnect %d)\n", m_stHost.c_str(), m_hDB.reconnect); into: #ifdef __MARIADB__ fprintf(stdout, "AsyncSQL: connected to %s\n", m_stHost.c_str()); #else fprintf(stdout, "AsyncSQL: connected to %s (reconnect %d)\n", m_stHost.c_str(), m_hDB.reconnect); #endif 3) Database Server Update Now we're gonna replace the name "window" because MariaDB introduce the window operator that conflict with the query name What we will basicly do is change any "window" in query into "windows" db/AuctionManager.cpp function LoadAuctionItem() Replace: FROM item WHERE window = 'AUCTION' To: FROM item WHERE windows = 'AUCTION' db/ClientManagerPlayer.cpp Replace: ///////////////////////////////////////////// // 2) 아이템이 DBCache 에 없음 : DB 에서 가져옴 ///////////////////////////////////////////// else { snprintf(szQuery, sizeof(szQuery), "SELECT id,window+0,pos,count,vnum,socket0,socket1,socket2,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 " "FROM item%s WHERE owner_id=%d AND (window < %d or window = %d)", GetTablePostfix(), pTab->id, SAFEBOX, DRAGON_SOUL_INVENTORY); CDBManager::instance().ReturnQuery(szQuery, QID_ITEM, peer->GetHandle(), new ClientHandleInfo(dwHandle, pTab->id)); into: ///////////////////////////////////////////// // 2) 아이템이 DBCache 에 없음 : DB 에서 가져옴 ///////////////////////////////////////////// else { snprintf(szQuery, sizeof(szQuery), "SELECT id,windows+0,pos,count,vnum,socket0,socket1,socket2,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 " "FROM item%s WHERE owner_id=%d AND (windows < %d or windows = %d)", GetTablePostfix(), pTab->id, SAFEBOX, DRAGON_SOUL_INVENTORY); CDBManager::instance().ReturnQuery(szQuery, QID_ITEM, peer->GetHandle(), new ClientHandleInfo(dwHandle, pTab->id)); Also replace: ClientHandleInfo * pkInfo = new ClientHandleInfo(dwHandle, packet->player_id); pkInfo->account_id = packet->account_id; CDBManager::instance().ReturnQuery(queryStr, QID_PLAYER, peer->GetHandle(), pkInfo); //-------------------------------------------------------------- // 아이템 가져오기 //-------------------------------------------------------------- snprintf(queryStr, sizeof(queryStr), "SELECT id,window+0,pos,count,vnum,socket0,socket1,socket2,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 " "FROM item%s WHERE owner_id=%d AND (window < %d or window = %d)", GetTablePostfix(), packet->player_id, SAFEBOX, DRAGON_SOUL_INVENTORY); CDBManager::instance().ReturnQuery(queryStr, QID_ITEM, peer->GetHandle(), new ClientHandleInfo(dwHandle, packet->player_id)); Into: ClientHandleInfo * pkInfo = new ClientHandleInfo(dwHandle, packet->player_id); pkInfo->account_id = packet->account_id; CDBManager::instance().ReturnQuery(queryStr, QID_PLAYER, peer->GetHandle(), pkInfo); //-------------------------------------------------------------- // 아이템 가져오기 //-------------------------------------------------------------- snprintf(queryStr, sizeof(queryStr), "SELECT id,windows+0,pos,count,vnum,socket0,socket1,socket2,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 " "FROM item%s WHERE owner_id=%d AND (windows < %d or windows = %d)", GetTablePostfix(), packet->player_id, SAFEBOX, DRAGON_SOUL_INVENTORY); CDBManager::instance().ReturnQuery(queryStr, QID_ITEM, peer->GetHandle(), new ClientHandleInfo(dwHandle, packet->player_id)); Finally replace: snprintf(queryStr, sizeof(queryStr), "DELETE FROM player%s WHERE id=%d", GetTablePostfix(), pi->player_id); delete CDBManager::instance().DirectQuery(queryStr); snprintf(queryStr, sizeof(queryStr), "DELETE FROM item%s WHERE owner_id=%d AND (window < %d or window = %d)", GetTablePostfix(), pi->player_id, SAFEBOX, DRAGON_SOUL_INVENTORY); delete CDBManager::instance().DirectQuery(queryStr); Into: snprintf(queryStr, sizeof(queryStr), "DELETE FROM player%s WHERE id=%d", GetTablePostfix(), pi->player_id); delete CDBManager::instance().DirectQuery(queryStr); snprintf(queryStr, sizeof(queryStr), "DELETE FROM item%s WHERE owner_id=%d AND (windows < %d or windows = %d)", GetTablePostfix(), pi->player_id, SAFEBOX, DRAGON_SOUL_INVENTORY); delete CDBManager::instance().DirectQuery(queryStr); 4) Query update Design your player.item table, and change "window" to "windows". We have update into the new connector (mariadb connector c 3.x safetly), if you would like to downgrade change -lmariadbclient into -lmysqlclient, remove -D__MARIADB__ and change the -I referencing mariadb into mysql. Thanks for reading UPDATE: I've found other place to edit "window" into "windows" Open ClientManager.cpp From: else sys_log(0, "SAFEBOX id[%d] size[%d]", pSafebox->dwID, pSafebox->bSize); } if (0 == pSafebox->dwID) pSafebox->dwID = pi->account_id; pi->pSafebox = pSafebox; m2char szQuery[512]; snprintf(szQuery, sizeof(szQuery), "SELECT id, window+0, pos, count, vnum, socket0, socket1, socket2, " "attrtype0, attrvalue0, " "attrtype1, attrvalue1, " "attrtype2, attrvalue2, " "attrtype3, attrvalue3, " "attrtype4, attrvalue4, " "attrtype5, attrvalue5, " "attrtype6, attrvalue6 " "FROM item%s WHERE owner_id=%d AND window='%s'", GetTablePostfix(), pi->account_id, pi->ip[0] == 0 ? "SAFEBOX" : "MALL"); To: else sys_log(0, "SAFEBOX id[%d] size[%d]", pSafebox->dwID, pSafebox->bSize); } if (0 == pSafebox->dwID) pSafebox->dwID = pi->account_id; pi->pSafebox = pSafebox; m2char szQuery[512]; snprintf(szQuery, sizeof(szQuery), "SELECT id, windows+0, pos, count, vnum, socket0, socket1, socket2, " "attrtype0, attrvalue0, " "attrtype1, attrvalue1, " "attrtype2, attrvalue2, " "attrtype3, attrvalue3, " "attrtype4, attrvalue4, " "attrtype5, attrvalue5, " "attrtype6, attrvalue6 " "FROM item%s WHERE owner_id=%d AND windows='%s'", GetTablePostfix(), pi->account_id, pi->ip[0] == 0 ? "SAFEBOX" : "MALL"); From: else pItemAward->dwSocket0 = item_table->aLimits[i].lValue; break; } } } snprintf(szQuery, sizeof(szQuery), "INSERT INTO item%s (id, owner_id, window, pos, vnum, count, socket0, socket1, socket2) " "VALUES(%u, %u, '%s', %d, %u, %u, %u, %u, %u)", GetTablePostfix(), GainItemID(), pi->account_id, pi->ip[0] == 0 ? "SAFEBOX" : "MALL", iPos, pItemAward->dwVnum, pItemAward->dwCount, pItemAward->dwSocket0, pItemAward->dwSocket1, dwSocket2); } To: else pItemAward->dwSocket0 = item_table->aLimits[i].lValue; break; } } } snprintf(szQuery, sizeof(szQuery), "INSERT INTO item%s (id, owner_id, windows, pos, vnum, count, socket0, socket1, socket2) " "VALUES(%u, %u, '%s', %d, %u, %u, %u, %u, %u)", GetTablePostfix(), GainItemID(), pi->account_id, pi->ip[0] == 0 ? "SAFEBOX" : "MALL", iPos, pItemAward->dwVnum, pItemAward->dwCount, pItemAward->dwSocket0, pItemAward->dwSocket1, dwSocket2); } From: m_map_itemCache.erase(p->id); delete c; } m2char szQuery[512]; snprintf(szQuery, sizeof(szQuery), "REPLACE INTO item%s (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2, " "attrtype0, attrvalue0, " "attrtype1, attrvalue1, " "attrtype2, attrvalue2, " "attrtype3, attrvalue3, " "attrtype4, attrvalue4, " "attrtype5, attrvalue5, " "attrtype6, attrvalue6 " ") " "VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d" ")", GetTablePostfix(), p->id, p->owner, p->window, To: m_map_itemCache.erase(p->id); delete c; } m2char szQuery[512]; snprintf(szQuery, sizeof(szQuery), "REPLACE INTO item%s (id, owner_id, windows, pos, count, vnum, socket0, socket1, socket2, " "attrtype0, attrvalue0, " "attrtype1, attrvalue1, " "attrtype2, attrvalue2, " "attrtype3, attrvalue3, " "attrtype4, attrvalue4, " "attrtype5, attrvalue5, " "attrtype6, attrvalue6 " ") " "VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d" ")", GetTablePostfix(), p->id, p->owner, p->window, UPDATE2: Open db/Cache.cpp and find: if (memcmp(aAttr, p->aAttr, sizeof(TPlayerItemAttribute) * ITEM_ATTRIBUTE_MAX_NUM)) isAttr = true; char szColumns[QUERY_MAX_LEN]; char szValues[QUERY_MAX_LEN]; char szUpdate[QUERY_MAX_LEN]; int iLen = snprintf(szColumns, sizeof(szColumns), "id, owner_id, window, pos, count, vnum"); int iValueLen = snprintf(szValues, sizeof(szValues), "%u, %u, %d, %d, %u, %u", p->id, p->owner, p->window, p->pos, p->count, p->vnum); int iUpdateLen = snprintf(szUpdate, sizeof(szUpdate), "owner_id=%u, window=%d, pos=%d, count=%u, vnum=%u", p->owner, p->window, p->pos, p->count, p->vnum); Replace into: if (memcmp(aAttr, p->aAttr, sizeof(TPlayerItemAttribute) * ITEM_ATTRIBUTE_MAX_NUM)) isAttr = true; char szColumns[QUERY_MAX_LEN]; char szValues[QUERY_MAX_LEN]; char szUpdate[QUERY_MAX_LEN]; int iLen = snprintf(szColumns, sizeof(szColumns), "id, owner_id, windows, pos, count, vnum"); int iValueLen = snprintf(szValues, sizeof(szValues), "%u, %u, %d, %d, %u, %u", p->id, p->owner, p->window, p->pos, p->count, p->vnum); int iUpdateLen = snprintf(szUpdate, sizeof(szUpdate), "owner_id=%u, windows=%d, pos=%d, count=%u, vnum=%u", p->owner, p->window, p->pos, p->count, p->vnum);
  11. MrMuniez

    open [Python]Auto Trade

    Hi. I want create simple python script to autotrade withother character. On this moment i finding player with nickname and starting trade. But i cant add all items to trade window. Heres my simple code: import ui,app,chat,chr,net,player,item,skill,time,game,shop,chrmgr,thread,event,exchange SWITCH_RARE_VNUM = 30270 start = 0 end = 2000000 SzamVID = 0 exslot = 0 for vid in range(start, end): if chr.GetInstanceType(vid) != 6: continue if chr.GetNameByVID(vid) == "DajSeNaLuz": SzamVID = vid break net.SendExchangeStartPacket(SzamVID) for i in range(0,90*2): if player.GetItemIndex(i) == SWITCH_RARE_VNUM: chat.AppendChat(chat.CHAT_TYPE_INFO, "Odłamek znaleziony") net.SendExchangeItemAddPacket(i, exslot) exslot += 1 net.SendExchangeAcceptPacket() I think problem is that i dont understant how to use net.SendExchangeItemAddPacket function. Somebody can explain what is wrong here?
  12. Dexter_Stuff

    [Preview] Edit map1

    Screen and Video preview
  13. Hello , today i share you new playershop design from official Metin2. Screen : Download
  14. bigdon

    Webdesign Classic Metin2

    Hi! As you know I'm already selling some small very good designs, to have no problem with one of them because its interface and edited only share your code with its original design. It is the classic of officers in its glory as it were. I have searched many forums and in all your link is down, this in Spanish at 90% and is very good, very stable and useful in many ways. Add a screenshot that and get on google, is in English but serves as a reference! Download: Click If you have any error let me know to help since I have edited and tested the design, and improved this or not. I hope you like it, I'll be sharing some designs, you! PS: Sorry for my bad English Wered $.
  15. Sousoxx

    The best ServerFiles?

    Someone have a good ServerFiles with the English Language??? with client?
  16. Here you got some bugfixes from me. Stack Potts etc directly in Belt Inventory, before putting them to Inventory Stack items you drop for Other guys in your party: Fix for the Drops Pet makes if they kill an Monster Pets run towards your dropped items and pick them up for you:
  17. Angel Of Death™

    [HARD]WorldOfMetin3 - INTERNATIONAL

    WorldOfMetin3 is New Project. Long Term. with multi-servers like GameForge. General Informations: Website: WorldOfMetin3.tk New Server: 8.05.2019 Information Server 1.Aldrenis: Rates: Is The same or similar As GameForge have. MaxLevel: 99-105-115-120 Type: OS (OLD SCHOOL 2006/2007 for more learn below) Note: This the same as Metin2 have 2006/2007 there no bonuses 1-7, no grotto excile etc About Project: WorldOfMetin3 - INTERNATIONAL 1.What is it? - Is Project For INTERNATIONAL METIN3 but we need know, too we needed time and money. - someday it will be look as Metin3 and you can say Metin3 after few Year. at this moment goal is: - Gain Players and Trust - Create Files 1:1 to GameForge before start to Create WOM3. waiting time: TBA Aditional Informations: OS = Old School Server OS+NS = Old School Server + New School Server NS = New School Server i will update this thread latter, with some presentation. but i never created presenation it so i need a little time to know how. if you have question etc then answer here or pm to me. Join Cummunities Discord: https://discord.gg/HVrEZ2F you don't need to wory that this server will die because i have a lot of server to other games, so this project is long meta #any requirements to add this thread bcs #rules not saying anything about it .
  18. Moon123

    Looking for 3dmodeller

    Hello guys.. I have a simple task for someone who knows from 3dsmax or simillar programs. I have a model of an object with textures and everything and all i need is to change it a little bit. I mean change its shape so it looks like something else. Can someone who knows how to do it contact me? I'm paying well if its done fast! Thanks everyone! facebook: Giannis Poriazis discord: Moon123 #0033 Skype: Γιαννης Ποριαζης
  19. Hello; i am writing an system. it has got a bug. i need to solve it. thats why i am writing you. if player unwear or change his costume or armor, quest cancels. i wrote this but this code not enough. becouse if player un wear costume or armor quest ending, but if player change costume or armor, quest not canceling. this is my system bug. help me. timer('zirh1', 1) end when zirh1.timer begin local WEAR_COSTUME_BODY_INDEX = 19 if pc.get_wear(WEAR_COSTUME_BODY_INDEX) == nil and pc.getqf("kervan") == 1 then pc.remove_item(50180,50) chat(" kostumu cikardin artik tuccar degilsin") pc.setqf("kervan",0) set_state(start) elseif pc.get_armor() == 0 and pc.getqf("kervan") == 1 then pc.remove_item(50180,50) chat(" Zirhini cikardin artik tuccar degilsin") pc.setqf("kervan",0) set_state(start) else end timer('zirh2', 1) end when zirh2.timer begin local WEAR_COSTUME_BODY_INDEX = 19 if pc.get_wear(WEAR_COSTUME_BODY_INDEX) == nil and pc.getqf("kervan") == 1 then pc.remove_item(50180,50) chat(" kostumu cikardin artik tuccar degilsin") pc.setqf("kervan",0) set_state(start) elseif pc.get_armor() == 0 and pc.getqf("kervan") == 1 then pc.remove_item(50180,50) chat(" Zirhini cikardin artik tuccar degilsin") pc.setqf("kervan",0) set_state(start) else end timer('siwang1', 1) end end
  20. Hi there, Recently the official server had introduced a new upgrading scroll called rituals stone, it can work only with item with a minimum level of 80, has a better chance of success, and the failed items don't lose a level. So I have created it's c++ part, and I would like to share it with you: https://github.com/AEM5299/MT2_Rituals_Stone you can find the icon and item_desc and so on here: https://mega.nz/#!fVMBkB6A!05DtaW7A32mtVPxWT0rJza5L6yoIvbFNgFIDz01ZA5E it's in Arabic, you can translate to your own language If you found any bugs please comment below
  21. Hello people, i saw that a lot of people want to start developing on Metin2, but there isn't a place where the people can easly see tutorials without surf the whole internet. My idea is to create a reference for anyone who want to start creating his own server, starting from the first steps into the creation of a full Metin2 Server, but also a place where advanced developers could orient into the complicated parts of this world. The special thing about this wiki is that everyone could add or alter pages (that will be approved by moderators), so everyone could contribute to the wiki. The wiki his hosted inside a website that i own (it would be very complicated handle this kind of project inside any forum). At the monent, the wiki is started and it's only in english. (Translation system will be added, contact me if you would like to translate) The wiki will be completly free and without any kind of advertisement. (But altervista's limitated band could make the site unaccessible) Link here: http://rewardmetin2.rf.gd/index.php/Main_Page Greets!
  22. Hello I'm Anohros, I'am a software- and game-developer and working on an game. It's a metin2 clone. I'm working on the player-controller at the moment: Game is developed with the Unreal Engine 4. With regards, Anohros
  23. Hello everyone. It's a good day to share an old code with you. First of all you need to know: I don't help to install it. Don't even take the contact with me about it. The whole code is written by me, and reversed from official binaries. At the beginning do a backup for your files(srcs+pys) and READ CAREFULLY the readme. W/o brain.exe please close this tab, or your browser, thank you for your understanding. Preview: Download.exe Enjoy & #h4v3fun, pngr
  24. NOTE: Using this you will need my Boost 1.55+ fix here, or if you already fixed ok If the tutorial have already posted, i didn't saw it If this tutorial is useless, old, bla bla. Let me know, i will immediatly remove It's intended as a Noob-like tutorial Windows Requirement: Visual Studio 2012+ (I use VS2017) Other Systems: C/C++ Compiler (such as CLang/GCC) Bash Shell (for export command) Mini tutorial if you don't have Bash installed in your FreeBSD system (i dubt it) Step 1: Create our folders Create our Extern folder on the top directory of Server folder (uppercase and lowercase are important) Inside our Extern we need to create 2 folders include (for inclusions file) lib (for libraries) Like this: Step 2: Boost Download boost here You will have an archive similar to this Exteract boost folder to Extern\include Step 3: Crypto++ Download Crypto++ here You will have something similar Extract all the files into a folder (like Extern\cryptopp) Now we'll create a folder called cryptopp in Extern\include and we will execute this 3 commands cd "folder where we extracted cryptopp" (ex.: Y:/Metin2/Extern/cryptopp565) cp *.h "folder Extern\include\cryptopp" (ex.: Y:/Metin2/Extern/include/cryptopp) cp *.asm "folder Extern\include\cryptopp" Then create a file called cryptoppLibLink.h (UPPERCASE is important), put this inside save this file in Extern\include\cryptopp Step 3.1: Crypto++ Building For Windows: Open crypttest.sln Then, it will ask us to update the project, let's do it We need to build in Debug\Win32 and Release\Win32 only "cryptlib" project After the compition is done it will create a folder called Win32 in our cryptopp folder Inside that there will be another folder called Output, let's go inside Copy Release\cryptlib.lib to Extern\lib Go to Debug folder Rename cryptlib.lib to cryptlib_d.lib Rename cryptlib.pdb to cryptlib_d.pdb Let's copy the 2 files we reneamed into Extern\lib For Other Systems: We will open GNUMakefile (not GNUMakefile-cross), go to line 446 you will find this Add this 2 lines CC = "our C Compiler" (like: gcc6) CXX = "our C++ Compiler" (like: g++6) We will have something similar to this Then, type this commands cd "folder where we extracted cryptopp" (ex.: \Metin2\Extern\cryptopp565) gmake After the compilation is done you will find a file called libcryptopp.a, copy that to Extern\lib folder Step 4: LZO Download LZO here Inside the ZIP file, go inside include folder and copy "lzo" folder to Extern/include Extract the whole file into a folder (like Extern/lzo210) For Not-Windows Systems: Type this commands: cd "Folder where we extracted LZO" (ex.: Y:/Metin2/Extern/lzo210) chmod 777 configure chmod 777 autoconf/install-sh ./configure CC="Same CC Value that we used on Crypto++" make If you have assembly-related issues type this ./configure --disable-asm CC="Same CC value that we used for Crypto++" make Then let's go to folder src/.libs (inside the folder where we extracted lzo), copy liblzo2.a to Extern/lib folder For Windows Systems: Open a Visual Studio command prompt (Start -> All Programs -> Visual Studio 2017 -> Visual Studio Tools -> Developer command prompt) for Visual Studio 2017 Open the file B\win32\vc.bat (from the folder where you extracted LZO) and make sure line 10 it's this: set CC=cl -nologo -MT -DNDEBUG then from our CMD type this cd "Folder where you extracted LZO" (es.: Y:/Metin2/Extern/lzo210) B\win32\vc.bat After the compilation, let's copy lzo2.lib into Extern\lib Una volta fatto ciò copiamo il file lzo2.lib in Extern\lib Let's open B\win32\vc.bat again and edit the line 10 to this: set CC=cl -nologo -MTd -DDEBUG then type "B\win32\vc.bat" again and Rename lzo2.lib to lzo2_d.lib and copy that to Extern/lib Step 5: DevIL Building DevIL it's very long, we won't do that. We will use prebuilded binary For not Windows OS: Let's install it sudo apt-get install libdevil-dev (ubuntu) pkg install devil (freebsd) Type this command: cp -r /usr/local/include/IL "folder Extern/include" (freebsd) cp -r /usr/include/IL "folder Extern/include" (ubuntu) Then open our makefile and change: LIBS += -lIL -lpng -ltiff -lmng -llcms -ljpeg to: LIBS += -l:libIL.so then under it add: LIBDIR += -L/usr/local/lib For Windows OSes: Go here Download 1.8.0 SDK and extact include folder into Extern Go to this folder lib\x86\Release (on the ZIP file) and exract DevIL.lib into Extern\lib Both for out client and server the DevIL DLL is "DevIL.dll" found inside Step 6: MariaDB/Mysql C Connector (Server Only) WARNING: The choice of MySQL or MariaDB may vary based on your system, if you installed MariaDB you must use MariaDB Connector C, if you installed MySQL you must use MySQL Connector C Not Windows OS: pkg install mariadb101-client or pkg install mysql56-client (version 101 and 56 may vary) Add this to your game,db and libsql Makefile INCDIR += -I/usr/local/include/mysql (if you installed mysql) INCDIR += -I/usr/local/include/mariadb (if you installed mariadb) Add this for game,db LIBDIR += -L/usr/local/lib/mysql (for mysql) LIBDIR += -L/usr/local/lib/mariadb (for mariadb) If you still got linking erros (for mariadb), change the LIBDIR into mysql Windows OS: Download MySQL Connector C here or MariaDB Connector C here WARNING: Only Win32 versions The folders where you can find includes and lib for them are here C:/Program Files (x86)\MySQL/MySQL Connector C X.X (where X.X is the version of the connector that you installed) C:/Program Files (x86)/MariaDB/MariaDB Connector C Copy include folder into Extern\include Rename the include folder that we copyied mysql (inside Extern\include) For MySQL: Go to lib\ folder and select your vs version (vs12/vs14), copy mysqlclient.lib into Extern\lib For MariaDB: Go to lib\ and find your vs version (vs12/vs14), copy mariadbclient.lib into Extern\lib, rename this to mysqlclient.lib Google Tests: (Extra part for not Windows OSes) Server Extern IS OK! Step 6: libjpeg (Client Only) Download LibJpeg (IJG) here Extract everything in a folder Create a folder called libjpeg in Extern/include Open a command prompt and type this cd "folder where we extracted libjpeg" cp *.h "folder Extern/include"/libjpeg cp *.asm "folder Extern/include"/libjpeg Create a folder called jpegliblink.h in Extern/include/libjpeg with this content: Copy jconfig.vc into Extern/include/libjpeg, rename it to jconfig.h. Step 6.1: Building libjpeg Open a Visual Studio Command Prompt (lke before) and type this commands: cd "folder where we extracted libjpeg" nmake /f makefile.vc It will be generated a file called libjpeg.lib, copy it into Extern/lib, rename that to libjpeg_d.lib Copy file vcXXX.pdb (where XXX is your visual studio version like 140) copy it into Extern/lib and rename it into libjpeg_d.pdb Then type these commands: nmake /f makefile.vc clean nmake /f makefile.vc NODEBUG=1 and copy libjpeg.lib to Extern/lib --> If you have this error: "Cannot rename jconfig.vc" or similar, rename jconfig.vc into jconfig.h --> If you have this error: "Cannot find Win32.mak" or similar, create a new file called Win32.mak and paste this inside Final Step for Client Go to dev/Extern/include (original ymir source) and extract every file that are NOT inside a folder (like d3dx8.h) The circled files are a few of the files that you need to copy Go to dev\Exteren\lib folder Extract all files into Extern\lib (our Extern folder) excluding files that we already builded (like: boost-*, DevIL, cryptlib, cryptopp*, lzo2, libjpeg) (a file that you need to copy, for example, is dxguid.lib) The file with name deleted dosen't need to be copyied That's it. We successfully upgraded our Extern so we could take advantage of the 9999 bugfixes that are inside Sorry for any grammatical error or english mistake (it was originally written in italian), if something isn't clear or not ordered tell me and i will edit PS: Feel free to translate it to any language as you want, to repost it anywere you want. As long as you credit me (the original author) it's fine [Original posted 24 Apr 2017]