Brynner Posted September 9, 2012 Posted September 9, 2012 can i make another request? since we have @dropall and @storeall. how about the @deleteall? it will delete both inventory and storage of your character? because if you have so many items and you accidentally use the @storeall. all the item will be putted there. and if you want to clean your storage. you need to drag it back one by one right? if we have @deleteall we do not need to do it. thanks in advance.
JoWei Posted September 9, 2012 Posted September 9, 2012 I wonder if it's really needed, as of now you can macro @dropall and @cleanmap to get rid of items. Then again it might be useful to have a command like that for also cleaning up items that can't get drop like the trade restricted ones.
Brynner Posted September 9, 2012 Author Posted September 9, 2012 I wonder if it's really needed, as of now you can macro @dropall and @cleanmap to get rid of items. Then again it might be useful to have a command like that for also cleaning up items that can't get drop like the trade restricted ones. @dropall is useless when our item is located at storage. what if you got 100pcs diff. item stored on your storage?you need to drag them out of your storage to remove those 100.
JoWei Posted September 9, 2012 Posted September 9, 2012 Oh didn't read the part about the storage, then yes that would be useful for GMs mainly to get rid of items they used to test things and clean up.
nanakiwurtz Posted September 9, 2012 Posted September 9, 2012 Actually it's pretty easy. Open your atcommand.c, search for: ACMD_DEF(speed), Then add this in a new line: ACMD_DEF(deleteall), Then add this code: /*========================================== * @deleteall by [nanakiwurtz] * Delete all of your inventory & storage items. *==========================================*/ ACMD_FUNC(deleteall) { int i; nullpo_retr(-1, sd); if (sd->state.storage_flag != 1) { if( storage_storageopen(sd) == 1 ) { clif_displaymessage(fd, "You can't open the storage currently."); return -1; } } for (i = 0; i < MAX_INVENTORY; i++) { if (sd->status.inventory[i].amount) { if(sd->status.inventory[i].equip != 0) pc_unequipitem(sd, i, 3); pc_delitem(sd, i, sd->status.inventory[i].amount, 0, 0, LOG_TYPE_OTHER); } } for (i = 0; i < MAX_STORAGE; i++) { if(sd->status.storage.items[i].amount) storage_delitem(sd,i,sd->status.storage.items[i].amount); } storage_storageclose(sd); return 0; } Recompile,and voila! Instant clean up of your inventory & kafra storage (Please use with caution)
Euphy Posted November 24, 2012 Posted November 24, 2012 This is a good idea. I'd suggest naming it "@clearstorage", and adding a subsequent "@cleargstorage" for guild storage. Any thoughts? 1
Mystery Posted November 24, 2012 Posted November 24, 2012 This is a good idea. I'd suggest naming it "@clearstorage", and adding a subsequent "@cleargstorage" for guild storage. Any thoughts? I think it's a fine idea especially if you have a lot of junk in your storage and you don't wanna drag one by one into your inventory and then dropping it on the floor to get rid of it.
Brian Posted November 24, 2012 Posted November 24, 2012 I'd suggest naming it "@clearstorage", and adding a subsequent "@cleargstorage" for guild storage. Sounds good to me.
Trojal Posted December 19, 2012 Posted December 19, 2012 I like @clearstorage and @cleargstorage. What about @clearcart, based on the same logic that it's time consuming to move items over ? @itemreset is the existing one to clear inventory. Would it make sense to create an alias along the same lines as @clearinventory or not ? (or @storagereset, @gstoragereset, @cartreset) 3
Brian Posted December 20, 2012 Posted December 20, 2012 +ACMD_FUNC(clearcart) +{ + nullpo_retr(-1, sd); + + if (pc_iscarton(sd) == 0) { + clif_displaymessage(fd, msg_txt(1396)); // You do not have a cart to be cleaned. + return -1; + } + + if (sd->state.vending == 1) { //Somehow... + return -1; + } + + clif_clearcart(fd); + + clif_displaymessage(fd, msg_txt(1397)); // Your cart was cleaned. + return 0; +} I think all that does is remove their cart (like clicking the Off button).
Recommended Posts