C++ Reboot Atmanadan Drop Ayarlama Sistemi

MG Yaşı
2 Ay 1 Gün
Katılım
2 Şub 2026
Konular
224
Mesajlar
363
Tepkime puanı
54
Puan
53
Konum
İstanbul
Aktif oyunda core verdirebilir dikkatli olmak lazım.
mob_drop_item.txt ve special_item_group.txt için geçerlidir.


Kod:
ACMD(do_reload)
{
    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));

#if def#ifd(E#ifLE_EXTENDED_RELOAD)
    const int FILE_NAME_LEN = 256;
    char szMOBDropItemFileName[FILE_NAME_LEN];
    char szSpecialItemGroupFileName[FILE_NAME_LEN];
#endif
[HASH=3]#endif[/HASH]f ([HASH=3]#endif[/HASH]
        switch (LOWER(*arg1))
        {
            case 'u':
                ch->ChatPacket(CHAT_TYPE_INFO, "Reloading state_user_count");
                LoadStateUserCount();
                break;



            case 'a':
                ch->ChatPacket(CHAT_TYPE_INFO, "Reloading admin infomation");
                db_clientdesc->DBPacket(HEADER_GD_RELOAD_ADMIN, 0, NULL, 0);
                sys_log(0, "Reloading admin infomation");
                break;

#if def#ifd(E#ifLE_EXTENDED_RELOAD)
            case 't':
                snprintf(szSpecialItemGroupFileName, sizeof(szSpecialItemGroupFileName), "%s/special_item_group.txt", LocaleService_GetBasePath().c_str());
                ITEM_MANAGER::Instance().DestroyChestDropItem();
                if (!ITEM_MANAGER::Instance().ReadSpecialDropItemFile(szSpecialItemGroupFileName))
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "Nu pot relua special_item_group.txt..");
                    return;
                }
                else
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "special_item_group.txt reluat cu succes...");
                }
                break;


            case 'm':
                snprintf(szMOBDropItemFileName, sizeof(szMOBDropItemFileName), "%s/mob_drop_item.txt", LocaleService_GetBasePath().c_str());
                ITEM_MANAGER::Instance().DestroyMobDropItem();
                if (!ITEM_MANAGER::Instance().ReadMonsterDropItemGroup(szMOBDropItemFileName))
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "Nu pot relua mob_drop_item.txt.");
                    return;
                }
                else
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "mob_drop_item.txt reluat cu succes...");
                }
                break;
#endif
[HASH=3]#endif[/HASH]   [HASH=3]#endif[/HASH]  // cube
                // ·ÎÄà ÇÁ·Î¼¼½º¸¸ °»»êÇÑ´Ù.
                Cube_init ();
                break;
        }
    }
    else
    {
        ch->ChatPacket(CHAT_TYPE_INFO, "Reloading state_user_count");
        LoadStateUserCount();

        ch->ChatPacket(CHAT_TYPE_INFO, "Reloading prototype tables");
        db_clientdesc->DBPacket(HEADER_GD_RELOAD_PROTO, 0, NULL, 0);

        ch->ChatPacket(CHAT_TYPE_INFO, "Reloading notice string");
        DBManager::instance().LoadDBString();
    }
}

Kod:
#if defined (ENABLE_EXTENDED_RELOAD)
void ITEM_MANAGER::DestroyMobDropItem()
{
    if (!m_map_pkMobItemGroup.empty())
        m_map_pkMobItemGroup.clear();

    if (!m_map_pkDropItemGroup.empty())
        m_map_pkDropItemGroup.clear();

    if (!m_map_pkLevelItemGroup.empty())
        m_map_pkLevelItemGroup.clear();

    if (!m_map_pkGloveItemGroup.empty())
        m_map_pkGloveItemGroup.clear();
}

void ITEM_MANAGER::DestroyChestDropItem()
{
    if (!m_map_pkSpecialItemGroup.empty())
        m_map_pkSpecialItemGroup.clear();
}

#endif

Kod:
#if defined(ENABLE_EXTENDED_RELOAD)
        void            DestroyMobDropItem();
        void            DestroyChestDropItem();
#endif
 
Geri
Üst