""" ================================================================== SCRIPT: Auto-Lockpick Pro AUTHOR: Evilrage WEBSITE: unchainedscripts.com ================================================================== DESCRIPTION: Stand next to any locked chest (Paragon, T-Map, Dungeon) and this script will automatically spam lockpicks on it until it opens. ================================================================== """ import Misc import Items import Player import Target import Journal import time from System.Collections.Generic import List from System import Int32 last_pick_time = 0 unlocked_chests = [] CHEST_GRAPHICS = [0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E7C, 0x0E7E, 0x09AA, 0x09AB, 0x0E80, 0x0E7D, 0x0E7F, 3648] def auto_lockpick(): global last_pick_time, unlocked_chests if Player.IsGhost: return if time.time() - last_pick_time < 4.0: return fil = Items.Filter() fil.OnGround = True fil.RangeMax = 2 fil.Graphics = List[Int32](CHEST_GRAPHICS) chests = Items.ApplyFilter(fil) target_chest = None for c in chests: if c.Serial not in unlocked_chests: target_chest = c break if not target_chest: return pick = Items.FindByID(5372, -1, Player.Backpack.Serial, True) if not pick: return Journal.Clear() Items.UseItem(pick.Serial) if Target.WaitForTarget(1500, False): Target.TargetExecute(target_chest.Serial) last_pick_time = time.time() Misc.Pause(500) if Journal.Search("does not appear to be locked") or Journal.Search("successfully") or Journal.Search("yields"): unlocked_chests.append(target_chest.Serial) if len(unlocked_chests) > 200: unlocked_chests.clear() Player.HeadMessage(63, "Chest Unlocked!") Journal.Clear() def main(): Player.HeadMessage(63, "[unchainedscripts.com] Auto-Pick Active") while True: auto_lockpick() Misc.Pause(200) if __name__ == "__main__": main()