Jump to content

Denizeri24

Member
  • Posts

    188
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Denizeri24

  1. thanks, I discovered another bug while trying this fix on my server
  2. I dont any use code from rubinum source, I using mainline source (razuning v2 from turkmmo). I just clear unnecessary from this function.
  3. idk, i use mainline sources too (razuning v2 from turkmmo) i just clean unnecessary codes from this function..
  4. bool CClientManager::InitializeItemTable() { std::map<int32_t, const char *> localMap; cCsvTable nameData; if (!nameData.Load("item_names.txt", '\t')) { fmt::fprintf(stderr, "item_names.txt couldn't be loaded or its format is incorrect.\n"); return false; // There's no reason to continue without names for us (i dont like korean) } nameData.Next(); // skip the description while (nameData.Next()) { localMap[static_cast<int32_t>(std::strtol(nameData.AsStringByIndex(0), nullptr, 0))] = nameData.AsStringByIndex(1); } cCsvTable data; if (!data.Load("item_proto.txt", '\t')) { fmt::fprintf(stderr, "item_proto.txt couldn't be loaded or the format is incorrect \n"); return false; } data.Next(); // skip first row (descriptions) m_vec_itemTable.resize(data.m_File.GetRowCount() - 1); // set the size of the vector memset(&m_vec_itemTable[0], 0, sizeof(TItemTable) * m_vec_itemTable.size()); // zero initialize auto item_table = &m_vec_itemTable[0]; for (; data.Next(); ++item_table) { if (!Set_Proto_Item_Table(item_table, data, localMap)) { fmt::fprintf(stderr, "Invalid item table. VNUM: %u\n", item_table->dwVnum); } m_map_itemTableByVnum.emplace(item_table->dwVnum, item_table); } std::sort(std::execution::par, m_vec_itemTable.begin(), m_vec_itemTable.end(), FCompareVnum()); data.Destroy(); nameData.Destroy(); return true; } There's zero initialization here. So I don't think your fix is needed..
  5. Just use the MT engine. We're not encrypting NSA files or running a bank with billions of users. So we don't need quantum-level security or performance.
  6. gcc13 is devel version, so thats normal. my files give cores sometimes too with clang-devel hehe
  7. Obey your owner, bring me a cappuccino.
  8. CryptoPP can be safely updated as long as it is not compiled with -O3 / -Ofast / DEVEL compilers / -march=native (problem about different CPU instruction sets). Metin2 uses certain algorithms;
  9. Just open the server in Russia ( ͡° ͜ʖ ͡°)
  10. Granny, Miles and SpeedTree libraries are licensed and cannot be used without a license. Additional libraries of the Miles library, such as the MP3 decoder, are also licensed separately. All GR2 models used in the game are licensed by Ymir. But I don't think Gameforge will bother with you unless your server reaches a lot of people (like rubinum / aeldra)
  11. check freebsd empty disk space with bpytop. also you can check ram usage / disk usage with bpytop (pkg install bpytop) if your disk is full, use this commands : pkg autoremove -y && pkg clean -y
  12. p.bHPPercent = MINMAX(0, (((int64_t)GetHP()) * 100) / GetMaxHP(), 100); p.bHPPercent = std::minmax<uint8_t>((GetHP() * 100) / GetMaxHP(), 100).first; This is enough, Dear TAUMP.
  13. Yes, I checked and it doesn't really work. I never noticed.. i think this bonus does not affect the chance of an item drop chance, but the amount of an item count. If it worked correctly, when the item dropped, it would have dropped 2 pieces instead of 1 piece, or 10 pieces instead of 5 pieces; for my fix; search " void CHARACTER::Reward " in char_battle.cpp search again " if (ITEM_MANAGER::instance().CreateDropItem(this, pkAttacker, s_vec_item)) " add after " item = s_vec_item[0]; " this; if (pkAttacker->GetPoint(POINT_ITEM_DROP_BONUS) >= number(1, 100) && item->IsStackable()) { item->SetCount(item->GetCount() * 2); } NOTE : I just made the fix now, I don't know if there will be a problem..
×
×
  • 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.