Jump to content
metin2dev

Search the Community

Showing results for tags 'source'.



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

Categories

There are no results to display.

There are no results to display.


Found 157 results

  1. open [SOURCE]Mob spawn

    Hi guys, I would like to know how can I spawn a mob via source. Like...I want to spawn a mob (mob2_vnum) when another certain mob(mob1_vnum) reach 90% of his hp...so I tried this...didn' worked... if (mob1_vnum->GetHPPct() > 98) { SpawnMob(mob2_vnum); } Can someone tell me how to do that correctly? Please...
  2. Hey Devs! Anyone can you help me? I do not want to disappear after teleport the skills. Thanks!
  3. hello, i have a question of the topic start position from the individually character i would like a start position for the individually character, Warrior, Shaman, Ninja and the orther guy you know, the guy with the red hand ... the ninja have point 350 240 and the warrior 500 600 and the orther guys also and now... i dont know how to implement it. I am looking for the solution kind regards
  4. 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);
  5. Hi all. I have got a question, if you can help me. How to editing the source of PackMaker for that only one pack file make/enpack and extract/unpack? I hope for you answer to my question. Thank you very mutch.
  6. If I search for "GEOMKYUNG" (aura of the sword I think) I get this output: I looked up in those .cpp and .h files but did not find anything(you can see the lines in the output,only lines with RemoveAffect() etc). Where is the skill defined? If I want to create a new skill or modify this skill where do I actually need to look? Tried to look into that database and did not find anything,it's too big
  7. open No module named net

    Hello guys, I have big problem with source. I compile my source and try to open client application. And show this error. Some advice to solution? Sorry for my bad english.
  8. Hello. I saw this stuff on this and on another board also with bugs or it was incomplete, and I made it to myself. Feel free to use it with your brain. Good to know about this: The name of those items which have attributes will be golden. The skillbook and skillforget items will show the name of skill also. If the item isn't yours than the ownership color will be red instead of yellow. * Készségkönyv = Skillbook(id:50300) * Feledés könyve = Skillforget book(id:70037) PS.: If you have problems with the implementation: start to upgrade your programming knowledges and don't disturb me in private message, I won't answer. Thank you for understanding. https://mega.nz/#!KAh3DQqL!yQQX9o4N8sTsS7Woa4W07C8t5jwp0TV5xg7MHLSFz5Y
  9. open how could i fix that?

    i have a problem with db source, i add gaya , and cheque but when i create a character or i have one already , he;s part_main and part_base from db with no armor is 127 look and my code from db is this: queryLen = snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s " "(id, account_id, name, level, st, ht, dx, iq, " "job, voice, dir, x, y, z, " "hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair, part_sash, gold,gaya, cheque, playtime, " "skill_level, quickslot) " "VALUES(0, %u, '%s', %d, %d, %d, %d, %d, " "%d, %d, %d, %d, %d, %d, %d, " "%d, %d, %d, %d, %d, %d, %d, 0, %d, %d, %d, %d, 0 ", GetTablePostfix(), packet->account_id, packet->player_table.name, packet->player_table.level, packet->player_table.st, packet->player_table.ht, packet->player_table.dx, packet->player_table.iq, packet->player_table.job, packet->player_table.voice, packet->player_table.dir, packet->player_table.x, packet->player_table.y, packet->player_table.z, packet->player_table.hp, packet->player_table.sp, packet->player_table.sRandomHP, packet->player_table.sRandomSP, // packet->player_table.sHorse_appearance, packet->player_table.stat_point, packet->player_table.stamina, packet->player_table.part_base, packet->player_table.part_base, packet->player_table.gold , packet->player_table.gaya #ifdef ENABLE_CHEQUE_SYSTEM ,packet->player_table.cheque #endif ); and as well when i compile it tell me , there are too many arguments for format thank you.
  10. Hello, I´m searching for the file in the source where I can change the base vaules on each character like Vit, Dex, Int... Hope that someone can help me
  11. How to compile Metin2 server on x64 without jails or VMs First, make sure to use the default FreeBSD compiler (cc for .c and c++ for .cpp), i tryied GCC but i didn't get any result. Second, add "-m32" to all the CFLAGS in your makefile. Finally, make this changes on your srcs if you got any error building with CLang The Extern dosen't need to be changed, but the freebsd libraries must be linked with -L/usr/local/lib32 rather than -L/usr/local/lib. WARNING: I failed to build MySQL/MariaDB Connector with -m32 flags, i recommend you to use a VM/Jail for build x86 libraries char_manager.cpp line 20 there is something that include boost/bind.hpp, change that include with this: #if !defined(__GNUC__) || defined(__clang__) #include <boost/bind.hpp> #endif line 650 change all the function: void CHARACTER_MANAGER::Update(int iPulse) { using namespace std; #if defined(__GNUC__) && !defined(__clang__) using namespace __gnu_cxx; #endif BeginPendingDestroy(); // PC 캐릭터 업데이트 { if (!m_map_pkPCChr.empty()) { // 컨테이너 복사 CHARACTER_VECTOR v; v.reserve(m_map_pkPCChr.size()); #if defined(__GNUC__) && !defined(__clang__) transform(m_map_pkPCChr.begin(), m_map_pkPCChr.end(), back_inserter(v), select2nd<NAME_MAP::value_type>()); #else transform(m_map_pkPCChr.begin(), m_map_pkPCChr.end(), back_inserter(v), boost::bind(&NAME_MAP::value_type::second, _1)); #endif if (0 == (iPulse % PASSES_PER_SEC(5))) { FuncUpdateAndResetChatCounter f; for_each(v.begin(), v.end(), f); } else { //for_each(v.begin(), v.end(), mem_fun(&CFSM::Update)); for_each(v.begin(), v.end(), bind2nd(mem_fun(&CHARACTER::UpdateCharacter), iPulse)); } } // for_each_pc(bind2nd(mem_fun(&CHARACTER::UpdateCharacter), iPulse)); } // 몬스터 업데이트 { if (!m_set_pkChrState.empty()) { CHARACTER_VECTOR v; v.reserve(m_set_pkChrState.size()); #if defined(__GNUC__) && !defined(__clang__) transform(m_set_pkChrState.begin(), m_set_pkChrState.end(), back_inserter(v), identity<CHARACTER_SET::value_type>()); #else v.insert(v.end(), m_set_pkChrState.begin(), m_set_pkChrState.end()); #endif for_each(v.begin(), v.end(), bind2nd(mem_fun(&CHARACTER::UpdateStateMachine), iPulse)); } } // 산타 따로 업데이트 { CharacterVectorInteractor i; if (CHARACTER_MANAGER::instance().GetCharactersByRaceNum(xmas::MOB_SANTA_VNUM, i)) { for_each(i.begin(), i.end(), bind2nd(mem_fun(&CHARACTER::UpdateStateMachine), iPulse)); } } // 1시간에 한번씩 몹 사냥 개수 기록 if (0 == (iPulse % PASSES_PER_SEC(3600))) { for (itertype(m_map_dwMobKillCount) it = m_map_dwMobKillCount.begin(); it != m_map_dwMobKillCount.end(); ++it) DBManager::instance().SendMoneyLog(MONEY_LOG_MONSTER_KILL, it->first, it->second); #ifdef _USE_SERVER_KEY_ extern bool Metin2Server_IsInvalid(); extern bool g_bShutdown; if (Metin2Server_IsInvalid()) { g_bShutdown = true; } #endif m_map_dwMobKillCount.clear(); } // 테스트 서버에서는 60초마다 캐릭터 개수를 센다 if (test_server && 0 == (iPulse % PASSES_PER_SEC(60))) sys_log(0, "CHARACTER COUNT vid %zu pid %zu", m_map_pkChrByVID.size(), m_map_pkChrByPID.size()); // 지연된 DestroyCharacter 하기 FlushPendingDestroy(); } sectree.h line 90 inside find_if function change the it_tree declaration with this #ifdef __clang__ LPSECTREE_LIST::const_iterator it_tree = m_neighbor_list.begin(); #else LPSECTREE_LIST::iterator it_tree = m_neighbor_list.begin(); #endif stdafx.h line 24 after <vector> include change all the part that include boost/unordered_map and tr1/unordered_map to this: #if defined(__clang__) #include <float.h> #include <unordered_map> #include <unordered_set> #define TR1_NS std #elif defined(__GNUC__) #include <float.h> #include <tr1/unordered_map> #include <tr1/unordered_set> #define TR1_NS std::tr1 #elif defined(_MSC_VER) #include <boost/unordered_map.hpp> #include <boost/unordered_set.hpp> #define TR1_NS boost #define isdigit iswdigit #define isspace iswspace #endif We've builded our server on x64 machine, but we created a x86 application. Why? Compiling on x64 increases the value of some C types (eg.: sizeof(int) return 4bit in x86 and 8bit on x64). Let's take for example this packet: typedef struct command_script_button { BYTE header; unsigned int idx; } TPacketCGScriptButton; The size of this packet will be 5 on x86 program, and 9 on a x64 program. If we use a x86 metin2 client, the server will except 9 bytes to be received however it will only receive 5 bytes, leaving the server listening for the 4 remaning bytes. The first, possible fix for x64, is building the metin2 client on x64 bit, loosing compatibily with old x86 PCs. The second, is to change all the packets on client/server to the same data (eg.: int becames int32 etc...), so the server builded in x64 will understand that the int packets are 4 byte and not 8; but, convering (on the rest of the server) a 8byte int into a 4byte int could lead up to loosing data. The wrong fix is to define int,long with int32 and long32 (for example). This won't fix nothing because it's like you're using a x86 program, so you could not use any x64 advantage. PS: Sorry for bad english, i hope it's now more clear for everyone
  12. Numele serverului: Ransom2 Canale deschise: 4 Nivel maxim: 120 Puncte status: 90 Site-ul serverului: http://ransom2.org Forumul serverului: http://board.ransom2.org Inregistrare: http://ransom2.org/reg.php Client: http://ransom2.org/download.php Rata experienta: Setata din mobi Rata yang: Setata din mobi Rata obiecte: Setata din mobi Rata fierarului: Difera de la item la item Detalii despre server: Un server pvm hard. Detalii despre evenimente: Evenimente zilnice. Prezentare full screen : http://ransom2.org/prezentare.php Echipa jocului: Elijah - Administrator Damon - Administrator B.Eduard - Administrator forum & Designer
  13. Hi Devs! Anyone can you help me? How to move the Sash in Inventory from CostumeWindow? Thanks the replies, and sorry for my english.
  14. Hi, recently released a new version of llvm (6) and I decided to update the source of vanilla 70220. (NOT TESTED) Download Cryptopp 5.6.5 Boost 1.65.1 Minilzo 2.09 MariaDB 101 DevIL 1.8.7 To install, you will need several packages. pkg install gmake pkg install subversion pkg install clang-devel Compiled on freebsd 11.1 i386 Best regard
  15. So my problem is that it says Procedureentrypoint "_GrannyUpdateModelMatrix@16" was not found on the dll "......./metin2client.exe" Can someone help me to fix it :)?
  16. open Source Copile

    Hi guys! I have a problem with a game source , if you can help me. After copiling the game and wanting to use it , i have this error : Oh , and db to.... Some ideas?
  17. open Error compile db/src

    Hello Metin2Dev. How are u? I'm fine. Well, today i have this error when i want to compile my db/src. So, I don't know more that i do :(. Sorry for my english. The error: linking ... .obj/ClientManager.o: In function `CClientManager::QUERY_SETUP(CPeer*, unsigned int, char const*)': /usr/src/src_1/Server/db/src/ClientManager.cpp:1322: undefined reference to `CClientManager::InsertLogonAccount(char const*, unsigned int, char const*)' .obj/ClientManager.o: In function `CClientManager::AnalyzeQueryResult(_SQLMsg*)': /usr/src/src_1/Server/db/src/ClientManager.cpp:3018: undefined reference to `CClientManager::RESULT_LOGIN_BY_KEY(CPeer*, _SQLMsg*)' /usr/src/src_1/Server/db/src/ClientManager.cpp:3009: undefined reference to `CClientManager::RESULT_PLAYER_INDEX_CREATE(CPeer*, _SQLMsg*)' /usr/src/src_1/Server/db/src/ClientManager.cpp:2971: undefined reference to `CClientManager::RESULT_LOGIN(CPeer*, _SQLMsg*)' .obj/ClientManager.o: In function `CClientManager::ProcessPackets(CPeer*)': /usr/src/src_1/Server/db/src/ClientManager.cpp:2403: undefined reference to `CClientManager::QUERY_LOGIN_BY_KEY(CPeer*, unsigned int, SPacketGDLoginByKey*)' /usr/src/src_1/Server/db/src/ClientManager.cpp:2577: undefined reference to `CClientManager::QUERY_CHANGE_NAME(CPeer*, unsigned int, SPacketGDChangeName*)' /usr/src/src_1/Server/db/src/ClientManager.cpp:2408: undefined reference to `CClientManager::QUERY_LOGOUT(CPeer*, unsigned int, char const*)' Makefile:76: recipe for target '../db_r' failed gmake: *** [../db_r] Error 1
  18. open Yang-Trading Bug

    Hello M2Dev! I got a new problem, this time it's something... very confusing. When i want to trade with someone, and put in 9.999.999Yang/gold however you wanna call it, the person who receives it, get the amout. BUT the person who offers the amount, got like 200.000.000 removed. Its very strange, and i can't figure out, where is the problem. I got long long MAX_YANG and the python part is on maxlenght(20) for the ifdef: new_exchange_window May you can find some details. Thanks for helping!
  19. Hello M2Dev, I have this problem... I can't compile the game source. My files are 40k, well. I have this file " stdint.h " in my folder "include". Thanks.
  20. open GCC7 compile problem

    Hi dev, when i try compile a game core. I have this error. Boost version 1.62, i try 1.64, 1.65 (beta), 1.43. And none works... Help please, thanks in advance.
  21. Hi. I have problem with compile source db and game ;/ When compile come to end i get error, i try fix them by myself... /usr/bin/ld: skipping incompatible ../../../extern/mysql/lib/libmysqlclient.a when searching for -lmysqlclient /usr/bin/ld: cannot find -lmysqlclient c++: error: linker command failed with exit code 1 (use -v to see invocation) gmake: *** [Makefile:110: /root/game/share/db] Error 1 Thanks for help Makefile https://www.virustotal.com/pl/file/eac68ee6661d20e0f784c02ef7e5d42b52ad0cac9745c70213eb2939560d69cf/analysis/1499722646/
  22. Hello, I am trying to compile client source using VS2008 vc90 (I have installed VS2008 - no Express and vcredists). When I open source using VS2013 and click on "Properties" it says that vc90 is not installed (https://ctrlv.cz/Gr8Y). I have really installed VS2008 (https://ctrlv.cz/93XH) and vcredists(https://ctrlv.cz/uBfT). And When I try to open it with VS2008 it says that: https://ctrlv.cz/Esn2 Would you help me please? Thank you.
  23. Hi dev, i have some problem with source code when i try to compile on gcc7. My DB compiling without warnings or errors, but my GAME there are such mistakes. If someone knows how to fix this, help me please. Thanks in advance.
  24. open Best Source currently?

    Hey guys, my last visit on a metin2 board is prob 2 years ago now. What is currently the best client & server source to use? Should include all security fixes and stuff already if possible
  25. Foreword: I am using the novaline Client und the mainline Serversource. Everytime I try to mount the client close immediately. When I try to restart the client, I can see the character for milliseconds and then the client closes again. Syserr: I hope someone could help me. Thanks! Greetings
×