UO Unchained: Python - Auto Move Gold to Satchel

Created: 27 days ago on 04/02/2025, 09:18:25 PMUpdated: 21 days ago on 04/08/2025, 05:22:01 PM
Note from JaseOwns:
Scripts will be leveraged on both UORazorscipts.com and this site. At the time of the launch (Feb 1st 2025), this isn't working right - but it will! Thanks for checking it out
FileType: Razor Enhanced (PHP)
Size: 2860
Category: pvm
Skills: No skills provided
Hotkey: No hotkey provided
Tags: pvm,bling bling

Description: UPDATE 4/8: Fixed issue that stopped new gold from moving. Removed spammy messages.

UPDATE 4/5: Now detects gold satchel on paperdoll or backpack on its own.

Auto moves new gold in backpack to the satchel in "loop mode" or just moves it all on hotkey.

## Gold Mover - By: Bur'Gar - UO Unchained ## Automatically moves gold to gold satchel when amount changes import sys import Misc import Items import Player import Journal # Constants GOLD_SATCHEL_IDS = [0x1575, 0x5575] # IDs for both equipped and backpack satchels GOLD_ID = 0x0EED # ID for gold coins class GoldMover: def __init__(self): self.last_gold = Player.Gold Journal.Clear() def find_gold_satchel(self): """Find gold satchel in backpack or equipped""" if Player.GetItemOnLayer('Waist'): item = Player.GetItemOnLayer('Waist') if item.ItemID in GOLD_SATCHEL_IDS: return item for satchel_id in GOLD_SATCHEL_IDS: satchel = Items.FindByID(satchel_id, -1, Player.Backpack.Serial) if satchel: return satchel return None def check_and_move_gold(self): """Check if gold amount changed and move it to satchel if it did""" current_gold = Player.Gold gold_in_backpack = False satchel = self.find_gold_satchel() if not satchel: self.last_gold = current_gold return gold_stacks = [] for item in Player.Backpack.Contains: if item.ItemID == GOLD_ID: gold_stacks.append(item) gold_in_backpack = True if current_gold != self.last_gold or gold_in_backpack: if gold_stacks: total_moved = 0 for gold in gold_stacks: total_moved += gold.Amount Items.Move(gold, satchel, 0) Misc.Pause(1000) if total_moved > 0: Misc.SendMessage(f"Moved {total_moved} gold to satchel", 68) self.last_gold = current_gold def main(): mover = GoldMover() try: while True: mover.check_and_move_gold() Misc.Pause(100) except Exception as e: Misc.SendMessage(f"Error: {e}", 33) raise if __name__ == "__main__": main()
View list of scripts
Disclaimer: This is a fan made site and is not directly associated with Ultima Online or UO staff.