Jump to content


Popular Content

Showing content with the highest reputation since 06/13/2018 in all areas

  1. 7 points
    Again, while the Worldcup is going on, the European Parliament is trying to pass a questionable law. Should this law be passed, everything you upload to the internet will be analysed - automatically by a potentially error-prone algorithm. If there is any doubt, your upload will never reach the world wide web! Imagine, you want to upload a picture of your dog, or your family, and you notice the upload failed just because an algorithm decided that YOUR picture already exists and is copyrighted. But that is not all! YOU can help stopping this! Sign the petition and send this message to all your friends! You can find more information under: https://savetheinternet.info/ Link to the petition: https://www.change.org/p/european-parliament-stop-the-censorship-machinery-save-the-internet (German) Discord Server: https://discord.gg/qgbQc86
  2. 2 points
    Korean errors on Dungeon.cpp Fix Dungeon count monsters: struct FCountMonster { int n; FCountMonster() : n(0) {}; void operator()(LPENTITY ent) { if (ent->IsType(ENTITY_CHARACTER)) { LPCHARACTER ch = (LPCHARACTER) ent; if (ch->IsMonster() || ch->IsStone())//FIX n++; } } }; (Function was keeping also NPC, it could make you ugly problems). Fix Dungeon using more memory than right, with notice on all entities: // DUNGEON_NOTICE namespace { struct FNotice { FNotice(const char * psz) : m_psz(psz) { } void operator() (LPENTITY ent) { if (ent->IsType(ENTITY_CHARACTER)) { LPCHARACTER ch = (LPCHARACTER) ent; if (ch->IsPC()) //FIX ch->ChatPacket(CHAT_TYPE_NOTICE, "%s", m_psz); } } const char * m_psz; }; } (Notice was be triggered for every char entity) These was just 2 Korean errors that i want to share with you. I hope that it'll be useful Regards Hex.
  3. 2 points
  4. 2 points
    Hi devs, I just discovered many client are using old versions of Unicows.dll, DevIL.dll and ILU.dll. It's not as hard to update them and if you are deeply into a client development you appreciate those SDK or PDB. DevIL & ILU (?) Default client is using 16 years old version. Come clean, looks horrible, right? These libraries are open source so you can modify them. Here you can download latest SDK. During those 16 years of development there have been a lot of changes, here is excerpt of them. Changes: DirectX 9 & 10 support New bilinear scaling routine Support for alpha-only formats Better support for ICO, GIF and DDS format Fixed minor bugs with BMP and PNG formats Fixed a lot of issues about DDS format A lot of bug fixes Unicows (?) Well, actually you can delete this library from your client and it won't have any effect on client proper working (Windows Vista and newer). However, you have to keep this library if you want to support compatibility with Windows 95, Windows 98 and Windows Millenium Edition. Here is available package which contains library, it's PDB and license. Sources: http://openil.sourceforge.net/ https://www.microsoft.com/en-us
  5. 1 point
    Almost completed. What do you guys think? This will probably be also relased to the public, i completed the marking system now it is 100% working and it's fully client-launcher made, no server. This is for an old style server so it had to be easy to use and in-line with the current "metin2 official" style. Output from the script (to show the obfuscation, it is done with python27, base64 and struct. It is some decent premade algorithm.): Test2Dev:ztjYyuGW Account1:ztjYyuGW Account2:ztjYyuGW Account3:ztjYyuGW //They do NOT get displayed as x5 since it's a dict and the key "Account4" is taken just once, but still i shouldn't write them, will perform an earlier check. Account4:ztjYyuGW Account4:ztjYyuGW Account4:ztjYyuGW Account4:ztjYyuGW Account4:ztjYyuGW Account5:ztjYyuGW north:4crn3Q== It works with txt to dict conversion and vice versa.
  6. 1 point
  7. 1 point
  8. 1 point
    I suggest not to help this guy, he would probably write a shit code using your functions and ofc after that he would probably post it on a romanian forum with "copy rights". Let him write the function himself. P.S: Because i'm a good guy i suggest you to write a function that returns a boolean if the npc is pc and then you may use the function as check on the kill statement
  9. 1 point
    @Fleon You mister are very wrong. There is mysql, mysqli and pdo which mysqli and pdo have prepared statements which makes them more secure. But just because mysql is old and pdo is new doesn't mean pdo will always be safer rather than a mysql coded website.
  10. 1 point
    from this i understood that you know nothing about it, pdo is a php extension/driver and MySQL is a database so this must be some ripoff that i won't even look at. It always have been a PHP problem, since PHP pre 7 lacks a lot on security. Please check them out to learn more: https://en.wikipedia.org/wiki/MySQL https://en.wikipedia.org/wiki/PHP#PDO
  11. 1 point
    Hello... I'm noticing lately that interest and use of this forum is gonna decreasing. On this forum i find too many cool people and too many cool informations/tricks that helped me a lot. Please guys use every day this forum and be more active, share things and questions etc. and so on. Regards Hex
  12. 1 point
    No need to re-upload. Next version is already distributed to a few people for testing. If everything works it will be released Just waiting for feedback. If someone wants to test it, feel free to drop me a message.
  13. 1 point
  14. 1 point
    I dont know, what you do in gif Aah, body effect.
  15. 1 point
    They did it again... Now the gameguard isn't runing. Here is the whole pack with item and mob protos, but the mob_proto isn't clear just dumped with false values, and ofc I don't recommend of use one of them either. (Exclude files: root, outdoor, outdoorempirebattle1) https://mega.nz/#!GBhjkLbZ!CU1tB_6RrgsD-PkosOJl-MeKXlwD3q7tSIufoxCyFJY
  16. 1 point
    opens today, closes yesterday
  17. 1 point
    I hate when some people delete their bug fix topic...
  18. 1 point
    Hi here are some new Metin2 Wallpaper Source: Turkmmo
  19. 1 point
    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
  20. 1 point
  21. 1 point
    pkg install subversion ,and try
  22. 1 point
    Hi devs, after long time when i haven't any free time i'm slowly back. This is first release after long time and i will release more things for you. For today White Tiger mount. Including: Spoiler - 2x Wait animations - 1x run animation - 1x model - 2x textures - 1x Motlist - msm and msa files Screens: Spoiler Download: http://www44.zippyshare.com/v/WRBzS6sz/file.html Password: Spoiler www.plechito.eu Enjoy!
  23. 1 point
    Re-Upload: https://mega.co.nz/#!ulIx1QzQ!gO2uY644QF0vjii2FZpuQEBs8kt-bRqgAZFdd55EmII
  24. 1 point
    For those who have error with 'unique_ptr', you just need to put this in Makefiles from libpoly, libsql, etc, and to compile them again. -lstdc++ -std=c++11 And for those who really wants to remain without 90% of warnings, just delete -Wall from Makefiles.
  25. 0 points