Back to "sort" tags

Magic Recycler like Sorter v2 by special_sy

Description: This script scans all the items first and THEN sorts them, so be patient once it's started :)

# Script by [DoS] Chumbeer # It basicly works like the item recycler trimmed down to upper options # !! Items have to be identified unless you got 120 item id !! # It will sort trash to your backpack to recycle # It will auto recycle with a sewing kit on full # Set source and good item container and let it run # Settings are configured to how i run it aka what is sellable ;) # >info your container and set the IDs! @setvar container_magicSorter_source 0x405C38C2 @setvar container_magicSorter_keep 0x53ABC5F0 # Settings @setvar verbose_recycle 1 @setvar verbose_keep 1 @setvar auto_recycle 1 # Set to 1 what to keep @setvar weapons_slayer_lesser 0 @setvar weapons_slayer_regular 0 @setvar weapons_slayer_greater 1 @setvar weapons_damage_force 0 @setvar weapons_damage_power 0 @setvar weapons_damage_vanq 1 @setvar weapons_accuracy_eminently 0 @setvar weapons_accuracy_exceedingly 0 @setvar weapons_accuracy_supremely 1 @setvar armor_protection_hardening 0 @setvar armor_protection_fortification 0 @setvar armor_protection_invul 1 @setvar book_potency_eminently 0 @setvar book_potency_exceedingly 1 @setvar book_potency_supremely 1 @setvar book_damage_force 0 @setvar book_damage_power 0 @setvar book_damage_vanq 1 @setvar instrument_slayer_lesser 0 @setvar instrument_slayer_regular 1 @setvar instrument_slayer_greater 1 @setvar instrument_artistry_eminently 0 @setvar instrument_artistry_exceedginly 0 @setvar instrument_artistry_supremely 1 dclick container_magicSorter_source wait 500 # --- CONFIG END --- if not listexists goodItems createlist goodItems else clearlist goodItems endif if not listexists recycleItems createlist recycleItems else clearlist recycleItems endif @clearignore @clearsysmsg @setvar container_magicSorter_recycle 'backpack' if skill 'Item Identification' = 120 overhead "Item Id on container..." 88 useskill 'itemid' wft 1000 target container_magicSorter_source wait 1000 endif #weapons overhead "Checking Weapons" 88 while findtype 9917|3920|5042|5117|3719|3922|3938|5121|5123|5125|3568|3713|3721|3932|5040|5044|5112|5127|5177|5179|5181|3909|3911|3913|3915|3917|3934|3937|5046|5049|5115|5119|5182|5185|5187|22187 container_magicSorter_source as item getlabel item itemLabel if 'unidentified' in itemLabel overhead "Skipping {{itemLabel}}" @ignore item continue endif @setvar keepItem 0 # Decide what to keep if 'lesser slaying' in itemLabel and weapons_slayer_lesser = 1 pushlist goodItems item elseif 'greater slaying' in itemLabel and weapons_slayer_greater = 1 pushlist goodItems item elseif 'slaying' in itemLabel and weapons_slayer_regular = 1 pushlist goodItems item elseif 'force' in itemLabel and weapons_damage_force = 1 pushlist goodItems item elseif 'power' in itemLabel and weapons_damage_power = 1 pushlist goodItems item elseif 'vanquishing' in itemLabel and weapons_damage_vanq = 1 pushlist goodItems item elseif 'eminently accurate' in itemLabel and weapons_accuracy_eminently = 1 pushlist goodItems item elseif 'exceedingly accurate' in itemLabel and weapons_accuracy_exceedingly = 1 pushlist goodItems item elseif 'supremely accurate' in itemLabel and weapons_accuracy_supremely = 1 pushlist goodItems item else pushlist recycleItems item endif @ignore item endwhile #armor overhead "Checking Armor" 88 while findtype 5056|5059|5060|5061|5063|5070|5074|5075|5076|5078|5085|5089|5090|5101|5103|5105|5106|5129|5131|5132|5135|5138|5139|5142|5143|5144|5146|5201|5203|5204|5205|5207|7169|7170|7173|7175|7177|7179|7181|7610|7947|7026|7027|7029|7031|7033|7034|7035|7107|7109 container_magicSorter_source as item getlabel item itemLabel if 'unidentified' in itemLabel overhead "Skipping {{itemLabel}}" @ignore item continue endif @setvar keepItem 0 # Decide what to keep if 'hardening' in itemLabel and armor_protection_hardening = 1 pushlist goodItems item elseif 'fortification' in itemLabel and armor_protection_fortification = 1 pushlist goodItems item elseif 'invulnerability' in itemLabel and armor_protection_invul = 1 pushlist goodItems item else pushlist recycleItems item endif @ignore item endwhile #book overhead "Checking spellbooks" 88 while findtype 'spellbook' container_magicSorter_source 2606 as item getlabel item itemLabel @setvar keepItem 0 if 'unidentified' in itemLabel overhead "Skipping {{itemLabel}}" @ignore item continue endif # Decide what to keep if 'eminently potent' in itemLabel and book_potency_eminently = 1 pushlist goodItems item elseif 'exceedingly potent' in itemLabel and book_potency_exceedingly = 1 pushlist goodItems item elseif 'supremely potent' in itemLabel and book_potency_supremely = 1 pushlist goodItems item elseif 'force' in itemLabel and book_damage_force = 1 pushlist goodItems item elseif 'power' in itemLabel and book_damage_power = 1 pushlist goodItems item elseif 'vanquishing' in itemLabel and book_damage_vanq = 1 pushlist goodItems item else pushlist recycleItems item endif @ignore item endwhile #instruments overhead "Checking instruments" 88 while findtype 3740|3742|3762|3763|10245 container_magicSorter_source as item getlabel item itemLabel @setvar keepItem 0 if 'unidentified' in itemLabel overhead "Unidentified {{itemLabel}}" @ignore item continue endif # Decide what to keep if 'lesser slaying' in itemLabel and instrument_slayer_lesser = 1 pushlist goodItems item elseif 'greater slaying' in itemLabel and instrument_slayer_greater = 1 pushlist goodItems item elseif 'slaying' in itemLabel and instrument_slayer_regular = 1 pushlist goodItems item elseif 'eminently' in itemLabel and instrument_artistry_eminently = 1 pushlist goodItems item elseif 'exceedingly' in itemLabel and instrument_artistry_exceedingly = 1 pushlist goodItems item elseif 'supremely' in itemLabel and instrument_artistry_supremely = 1 pushlist goodItems item else pushlist recycleItems item endif @ignore item endwhile overhead "Storing good items..." foreach item in goodItems getlabel item itemLabel overhead "Keeping {{itemLabel}}" 88 lift item wait 250 drop container_magicSorter_keep -1 -1 -1 wait 250 endfor overhead "Taking the junk..." foreach item in recycleItems getlabel item itemLabel overhead "Trashing {{itemLabel}}" 243 lift item wait 250 drop backpack -1 -1 -1 wait 250 while diffweight < 10 or insysmsg 'That container cannot hold' if auto_recycle = 1 if findtype "sewing kit" 'backpack' as tool overhead "Recycling via sewing kit!" 88 dclick tool waitforgump 949095101 while not ingump 'Recycle All Magical' gumpresponse 2 waitforgump 949095101 endwhile gumpresponse 3 wft 500 target self wait 500 else overhead "Cannot find any sewing kits, stopping!" 32 stop endif else overhead "Please recycle, you are full" 88 wait 5000 endif endwhile endfor # recycle at the end if auto_recycle = 1 if findtype "sewing kit" 'backpack' as tool overhead "Recycling via sewing kit!" 88 dclick tool waitforgump 949095101 while not ingump 'Recycle All Magical' gumpresponse 2 waitforgump 949095101 endwhile gumpresponse 3 wft 500 target self wait 500 endif endif overhead "All done, thanks for using!" 88