Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Owsap last won the day on April 16

Owsap had the most liked content!

Community Reputation

254 Friendly

About Owsap

Metin2 Dev

  • Status


  • Nationality
  • Gender
  • Location

Social Networks

Recent Profile Visitors

4122 profile views
  1. Thanks for sharing, as always! You could also check the position realtime while the player is in range so it updates faster. /// 1. @ UserInterface/PythonMiniMap.cpp // Search @ void CPythonMiniMap::RenderAtlas const auto& PartyInfo = it->second; __GlobalPositionToAtlasPosition(PartyInfo->lX - m_dwAtlasBaseX, PartyInfo->lY - m_dwAtlasBaseY, &PartyInfo->fScreenX, &PartyInfo->fScreenY); // Replace with long xPos = PartyInfo->lX; long yPos = PartyInfo->lY; CInstanceBase* pkInst = CPythonCharacterManager::Instance().GetInstancePtrB
  2. /// 1. @ game/char_affect.cpp // Search @ void CHARACTER::ClearAffect if (IS_NO_CLEAR_ON_DEATH_AFFECT(pkAff->dwType) || IS_NO_SAVE_AFFECT(pkAff->dwType)) { ++it; continue; } // Add below #if defined(__ALIGNMENT_AFFECT__) if (pkAff->dwType >= AFFECT_ALIGNMENT) { ++it; continue; } #endif
  3. #include "db.h" in your questlua_global.cpp.
  4. Replace auto_ptr with unique_ptr. Reference: https://en.wikipedia.org/wiki/Auto_ptr
  5. This is due to the dump_proto only reading one value although you have more values separated with a delimiter so you have to make sure you have the right delimiter. If your mob_proto.txt has for example: ANIMAL,ZODIAC You have to make sure your dump_proto is reading the symboly , And if your dump_proto for example has: ANIMAL|ZODIAC Then the delimiter you should be using is | Here is an example. /// 1. @ dump_proto/ItemCSVReader.cpp // Search @ int get_Mob_RaceFlag_Value string* arInputString = StringSplit(inputString, "|"); // 프로토 정보 내용을 단어별로 쪼갠 배열. // Replace with
  6. Here is a rather "complete" tutorial and I hope you understand. First, let's start with the Server Source. Server Source We can do the MySQL part now since we have finished with the server part. MySQL Now let's move on to the Client Source. Client Source Let's not forget our special tool, DumpProto. DumpProto Last but not least your client needs to read the new bonus type. Client Root And finally, your bonus needs a name. Client Locale ⚠ Following the order of the points and apply types are very important, make sure every m
  7. You can try to add a pulse for that. /// 1. @ common/service.h // Add #define __CHANGE_STAT_PULSE__ /// 2. @ game/char.h // Search }; ESex GET_SEX(LPCHARACTER ch); // Add above #if defined(__CHANGE_STAT_PULSE__) public: int GetChangeStatPulse() { return m_iChangeStatPulse; } void SetChangeStatPulse(int iPulse) { m_iChangeStatPulse = iPulse; } protected: int m_iChangeStatPulse; #endif /// 3. @ char.cpp // Search @ void CHARACTER::Initialize m_dwNextStatePulse = 0; // Add below #if defined(__CHANGE_STAT_PULSE__) m_iChangeStatPulse = 0; #endif /// 4. @ cmd_general.cpp // Searc
  8. Just add it above the class in the char_manager.h file. class CHARACTER_MANAGER : public singleton<CHARACTER_MANAGER> Result #if defined(__EVENT_BANNER_FLAG__) typedef std::map<DWORD, std::string> BannerMapType; #endif class CHARACTER_MANAGER : public singleton<CHARACTER_MANAGER>
  9. The issue was that the banner list wasn't being initialized with the command if the game event flag wasn't enabled before. So here is what you must change; /// 1. // Search @ CHARACTER_MANAGER::SpawnBanners if (!m_bIsLoadedBanners) return false; // Replace with if (!m_bIsLoadedBanners) InitializeBanners(); Topic: Updated MEGA (Link) & committed an updated to the repository.
  10. Type /e banner 20143, wait 5 - 10 seconds and restart the server and then check if they have appeared.
  11. Do you have the NPC's implemented? 20127 Anniversary Banner 1 20128 Anniversary Banner 2 20129 Anniversary Banner 3 20130 Anniversary Banner 4 20131 Anniversary Banner 5 20132 Anniversary Banner 6 20133 Anniversary Banner 7 20134 Solar Banner 20135 Christmas Banner 20138 Ramadan Banner 20142 Halloween Banner 20143 Easter Banner
  12. Did you add the data files to your server files? And please show your char_manager.cpp and char_manager.h You can use https://metin2.dev/bin/ to paste your files.
  13. You must show us the problem, what errors are you having? You cannot expect help just by saying that it doesn't work or it crashes. Can you run the debugger (gdb)? First of all, if you don’t have the gdb package run the command: pkg install -y gdb Learn how-to here: In short these are the commands that you need: [[email protected] ~]# cd < Directory were .core is generated > [[email protected] ~]# gdb [[email protected] ~]# set gnutarget i386-marcel-freebsd [[email protected] ~]# file < Name of the core file > [[email protected] ~]# core < Name of the .core file > [
  14. M2 Download Center Download Here ( Internal ) Download Here ( MEGA ) Download Here ( GitHub ) Hello, this release is nothing special but I hope someone finds it useful for their server. Introduced in the 10th anniversary of Metin2, your city will look more appealing with banner flags describing the on-going event your server is currently running. How to add more banners? @ data/banner/list.txt ___________________ | VNUM | NAME | |------ | ----------| | 20142 | halloween | | 20143 | easter | | 20135 |
  15. Here, use int for the loop and you can also use the default number function to randomize the numbers. for (int bSlot = 0; bSlot < ESlotMachine::MAX_SLOT_MACHINE_SLOTS; ++bSlot) { m_bSlotMachineReel[bSlot] = number(1, (iSlotMachineReels > 0 ? iSlotMachineReels : ESlotMachine::MAX_SLOT_MACHINE_REELS)); }
  • 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.