Jump to content

Thorek

Member
  • Posts

    39
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Thorek

  1. Take Niemiec, which forum is mine? Yes, I can't write in Python because Python is crap, and I don't like this language. Even if he started his adventure, he could have looked for this addition before he published it. I appreciate every work, but honestly - why would we need topics like this when we have tons of them? But yes - my first comment may be a little toxic, and I want to apologize for this.
  2. We have the answer to the question of why 90% of Metin2 „developers” won't ever do anything useful, sadge
  3. You can check if ifstream is open instead of using the filesystem library (which comes from C++17): std::ifstream file(LocaleService_GetBasePath() + "/fishing.json"); if (!file.is_open() return; // ... Also you should remove #include <fmt/core.h> to avoid compilation errors.
  4. Instead of using #define and (int)NEW_CHECK_VERSION (wtf?) you can use constexpr int.
  5. After every item in JSON array, you must put a comma (except for the last one). For example, if you have: [ 1800, 1800, 1800,180 1800 ] Server not booting because after 180 comma wasn't found.
  6. Wops, sorry - contains function comes from C++20. Change return in CBlendItem::Find to return items.find(item) != items.end();
  7. Ah yes, change to FN_get_apply_type.
  8. You should fix all your systems to comments my topics!!! Thanks, fixed.
  9. Download Another Download : M2DL Link BlendItemRenewal Completely new and fresh approach to load blend items using JSON. Better than previous versions? I suppose so. The source file for this version has only about 50 lines so it is very slim. I have decided to adhere to the YMIR coding style, so there are no classes or structures. So - how to install this „system”? Make sure the compiler you are using supports (at least) C++11. Install JSON parser. Replace blend_item.h and blend_item.cpp with the old ones, and that is it. If you want hot-reloading the JSON file, you can add the cmd_gm.cpp part (recommended). Example blend.json file content below. { "50821": { "type": "CRITICAL_PCT", "value": [ 8, 10, 12, 15, 20 ], "duration": [ 60, 120, 180, 300, 600 ] }, "50822": { "type": "PENETRATE_PCT", "value": [ 8, 10, 12, 15, 20 ], "duration": [ 60, 120, 180, 300, 600 ] }, "50823": { "type": "ATTACK_SPEED", "value": [ 2, 3, 4, 5, 8 ], "duration": [ 60, 120, 180, 300, 600 ] }, "50824": { "type": "RESIST_MAGIC", "value": [ 8, 10, 12, 15, 20 ], "duration": [ 60, 120, 180, 300, 600 ] }, "50825": { "type": "ATT_BONUS", "value": [ 30, 50, 70, 90, 120 ], "duration": [ 60, 120, 180, 300, 600 ] }, "50826": { "type": "DEF_BONUS", "value": [ 40, 70, 100, 150, 200 ], "duration": [ 60, 120, 180, 300, 600 ] }, "51002": { "type": "ENERGY", "value": [ 1, 3, 5, 7, 10 ], "duration": 1800 // It is possible to use only one duration (and value). } }
  10. I released new version with thread support and some fixes. Generally, cleaning process now should be shorter. Scan Download
  11. Maybe it's false positive. If you check file on VirusTotal, you'll see that tool doesn't have any viruses.
  12. Download Alternative download links → Mega (2.0.0) or VirusScan (2.0.0) Hi! By this tool you can remove unused lines from locale_game and locale_interface text files in fast & easily way. Is faster than script created by dracaryS. How to use? Just move root directory to downloaded file and wait for cleaned files. 30.01.23 -> I released new version so check it out!
  13. Just remove first argument from SendNotice call. Learn to read with comprehension...
  14. I had a problem with Aura which not disappearing after weapon change. Solution is simple, just: // Before this condition (SwapItem, char_item.cpp): if (TItemPos(EQUIPMENT, item2->GetCell()).IsEquipPosition()) { // [...] // Add check: if (item2->GetType() == ITEM_WEAPON) { if (IsAffectFlag(AFF_GWIGUM)) RemoveAffect(SKILL_GWIGEOM); if (IsAffectFlag(AFF_GEOMGYEONG)) RemoveAffect(SKILL_GEOMKYUNG); }
  15. const uint32_t width = m_Config.bWindowed ? GetSystemMetrics(SM_CXFULLSCREEN) : GetSystemMetrics(SM_CXSCREEN); const uint32_t height = m_Config.bWindowed ? GetSystemMetrics(SM_CYFULLSCREEN) : GetSystemMetrics(SM_CYSCREEN); if (m_Config.width >= width) m_Config.width = width; if (m_Config.height >= height) m_Config.height = height; This version looks better imho.
  16. Thorek

    M2Manager

    Hello Devs! Sorry for my bad English... Today I would like to present a program that I will try to develop (from time to time). M2Manager is a tool that allows you to manage server quite professionally. Below I will present some functions that the program already has. If you want, you can write in a comment what I can add to program before it is published(?). This is how the main window of program looks like: As you can see, it's very minimalistic. Has ability to connect with a MySQL server and save data. When we connect to server, we can go to some tab (for example, item creator). Program has automatic detection of item_proto table, so if you have any new columns, they will be displayed. After configuring the columns, we can save our own template, set item icon, GR2 model (if it's, for example, armor), path to item_list.txt and MSM files. All entries will be added automatically (to client and to db). If we enter the GR2 model, we also have option to edit it (e.g. textures). After change path(s), we can save corrected model or configure the texture(s) location! And a lot more! If you are (for some reason) interested in project, let me know and there will be more information about it here!
  17. Hello, I think this is not a bug. The problem that you have is (probably) caused by Is1GoldItem function used by uiShop.py and uiInventory.py. # uiShop.py: if item.Is1GoldItem(): itemPrice = attachedCount / itemPrice / 5 else: itemPrice = itemPrice * max(1, attachedCount) / 5 # uiInventory.py: if item.Is1GoldItem(): itemPrice = itemCount / itemPrice / 5 else: itemPrice = itemPrice * itemCount / 5 As you can see, if you want sell item and this item has flag named ITEM_FLAG_COUNT_PER_1GOLD, price is changed. So to fix your problem you can e.g. comment this checks.
  18. You must add new emotion to m_vecEffectData vector and v_vecEmoticonString.
  19. Good work ༼ ͡° ͜ʖ ͡° ༽
  20. Hi. Is there any easy way to scale app.SetCenterPosition(0.0, 0.0, 0.0) (first argument is 'x' axis) to any resolution (e.g. in IntroSelect)? It's about a good scaled character (matched with background resolution).
  21. If anyone has a problem with invisible sashes:
×
×
  • 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.