Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- in common/service.h
- Add:
- #define ENABLE_ITEM_PURGE_RENEWAL
- Then in cmd_gm, search and replace "ACMD(do_item_purge)" with :
- ACMD(do_item_purge)
- {
- #ifdef ENABLE_ITEM_PURGE_RENEWAL
- char arg1[256];
- one_argument(argument, arg1, sizeof(arg1));
- int i;
- LPITEM item;
- if (!*arg1)
- {
- for (i = 0; i < INVENTORY_MAX_NUM; ++i)
- {
- if ((item = ch->GetInventoryItem(i)))
- {
- ITEM_MANAGER::instance().RemoveItem(item, "PURGE_INV");
- ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, QUICKSLOT_NEW_POS);
- }
- }
- return;
- }
- switch (LOWER(arg1[0]))
- {
- case 'i':
- for (i = 0; i < INVENTORY_MAX_NUM; ++i)
- {
- if ((item = ch->GetInventoryItem(i)))
- {
- ITEM_MANAGER::instance().RemoveItem(item, "PURGE_INV");
- ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, QUICKSLOT_NEW_POS);
- }
- }
- break;
- case 'e':
- for (i = INVENTORY_MAX_NUM; i < BELT_INVENTORY_SLOT_START; ++i)
- {
- if ((item = ch->GetInventoryItem(i)))
- {
- ITEM_MANAGER::instance().RemoveItem(item, "PURGE_EQUIP");
- ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, QUICKSLOT_NEW_POS);
- }
- }
- break;
- case 'd':
- 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_DS");
- }
- }
- break;
- case 'b':
- for (i = BELT_INVENTORY_SLOT_START; i < BELT_INVENTORY_SLOT_END; ++i)
- {
- if ((item = ch->GetInventoryItem(i)))
- {
- ITEM_MANAGER::instance().RemoveItem(item, "PURGE_BELT");
- ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, QUICKSLOT_NEW_POS);
- }
- }
- break;
- case 'a':
- for (i = 0; i < INVENTORY_AND_EQUIP_SLOT_MAX; ++i)
- {
- if ((item = ch->GetInventoryItem(i)))
- {
- ITEM_MANAGER::instance().RemoveItem(item, "PURGE_ALL");
- ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, QUICKSLOT_NEW_POS);
- }
- }
- break;
- #ifdef ENABLE_SPECIAL_STORAGE
- case 's':
- {
- for (i = 0; i < SPECIAL_INVENTORY_MAX_NUM; ++i)
- {
- if ((item = ch->GetItem(TItemPos(UPGRADE_INVENTORY, i ))))
- {
- ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
- }
- }
- for (i = 0; i < SPECIAL_INVENTORY_MAX_NUM; ++i)
- {
- if ((item = ch->GetItem(TItemPos(BOOK_INVENTORY, i ))))
- {
- ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
- }
- }
- for (i = 0; i < SPECIAL_INVENTORY_MAX_NUM; ++i)
- {
- if ((item = ch->GetItem(TItemPos(STONE_INVENTORY, i ))))
- {
- ITEM_MANAGER::instance().RemoveItem(item, "PURGE");
- }
- }
- }
- break;
- #endif
- default:
- return;
- }
- #else
- int i;
- LPITEM item;
- 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, QUICKSLOT_NEW_POS);
- }
- }
- 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");
- }
- }
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment