Jump to content

Artagnanxd

Member
  • Posts

    42
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Artagnanxd

  1. this can be done with one command

    /p all
    /p inv
    /p equip
    /p dragon or ds
    /p belt

    Spoiler
    ACMD(do_item_purge)
    {
        char arg1[256];
        one_argument(argument, arg1, sizeof(arg1));
        if (!*arg1)
        {
            ch->ChatPacket(CHAT_TYPE_INFO, "Usage: ipurge <window>");
            ch->ChatPacket(CHAT_TYPE_INFO, "List of the available windows:");
            ch->ChatPacket(CHAT_TYPE_INFO, " all");
            ch->ChatPacket(CHAT_TYPE_INFO, " inventory or inv");
            ch->ChatPacket(CHAT_TYPE_INFO, " equipment or equip");
            ch->ChatPacket(CHAT_TYPE_INFO, " dragonsoul or ds");
            ch->ChatPacket(CHAT_TYPE_INFO, " belt");
            return;
        }
    
        int         i;
        LPITEM      item;
    
        std::string strArg(arg1);
        if (!strArg.compare(0, 3, "all"))
        {
            for (i = 0; i < INVENTORY_AND_EQUIP_SLOT_MAX; ++i)
            {
                if ((item = ch->GetInventoryItem(i)))
                {
                    ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
                    ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 255);
                }
            }
            for (i = 0; i < DRAGON_SOUL_INVENTORY_MAX_NUM; ++i)
            {
                if ((item = ch->GetItem(TItemPos(DRAGON_SOUL_INVENTORY, i ))))
                {
                    ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
                }
            }
        }
        else if (!strArg.compare(0, 3, "inv"))
        {
            for (i = 0; i < INVENTORY_MAX_NUM; ++i)
            {
                if ((item = ch->GetInventoryItem(i)))
                {
                    ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
                    ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 255);
                }
            }
        }
        else if (!strArg.compare(0, 5, "equip"))
        {
            for (i = 0; i < WEAR_MAX_NUM; ++i)
            {
                if ((item = ch->GetInventoryItem(INVENTORY_MAX_NUM + i)))
                {
                    ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
                    ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, INVENTORY_MAX_NUM + i, 255);
                }
            }
        }
        else if (!strArg.compare(0, 6, "dragon") || !strArg.compare(0, 2, "ds"))
        {
            for (i = 0; i < DRAGON_SOUL_INVENTORY_MAX_NUM; ++i)
            {
                if ((item = ch->GetItem(TItemPos(DRAGON_SOUL_INVENTORY, i ))))
                {
                    ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
                }
            }
        }
        else if (!strArg.compare(0, 4, "belt"))
        {
            for (i = 0; i < BELT_INVENTORY_SLOT_COUNT; ++i)
            {
                if ((item = ch->GetInventoryItem(BELT_INVENTORY_SLOT_START + i)))
                {
                    ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
                    ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, BELT_INVENTORY_SLOT_START + i, 255);
                }
            }
        }

     

     

    • Love 2
  2. someone, something?

     

    ShipDefense.h:176:2: error: 'time_t' in namespace 'std' does not name a type
      std::time_t GetStartTime() const { return m_lStartTime; }
      ^
    ShipDefense.h:206:2: error: 'time_t' in namespace 'std' does not name a type
      std::time_t m_lStartTime;

     

    solution: 

    #include <ctime>

     

     

    • Metin2 Dev 6
    • Love 1
  3. 1 hour ago, TMP4 said:

    f5* 

    You probably messed up POINT_PLAYTIME or related codes.

    Do you have backups? If so then do rollbacks until it works.
    If you don't (well, after this you'll probably do in the future) you have to think about what did you modified in the last days-weeks and try to find your error.

    I think after adding sash the problem is the ClientManagerPlayer c;

  4. Hi, i have a bug on my server when "Play Time" is not proper. Every time you log in or change your character there's diffrent amount. You log in first time and it shows (for example) 30038, you click change character and its 10023, then you log out and log in and its 0, its just completely random.

    Anybody knows the fix for it?

×
×
  • 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.