From 2cd683ac7bd3d0f68fdb5e4da28c8208a0e39e19 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 1 Jun 2026 11:21:53 +0200 Subject: [PATCH] Add not enough gold screenshot logging and new MISSING_GOLD template - src/inventory/vendor.py: Log screenshots when NotEnoughGold detected during gambling, purchasing, and repairing - src/ui_manager.py: Update NotEnoughGold to use new MISSING_GOLD template from assets/npc/missing_gold/ (full dialog match instead of color-based) - assets/npc/missing_gold/missing_gold.png: New template for the popup --- assets/npc/missing_gold/missing_gold.png | Bin 0 -> 38707 bytes config/params.ini | 2 +- src/inventory/vendor.py | 6 ++++++ src/ui_manager.py | 6 ++---- 4 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 assets/npc/missing_gold/missing_gold.png diff --git a/assets/npc/missing_gold/missing_gold.png b/assets/npc/missing_gold/missing_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..3987d0117cd26a7fec911642f5f3f8f737679168 GIT binary patch literal 38707 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 literal 0 HcmV?d00001 diff --git a/config/params.ini b/config/params.ini index 2da2219..154d079 100644 --- a/config/params.ini +++ b/config/params.ini @@ -8,7 +8,7 @@ ; bnet_pass=${BOTTY_BNET_PASS} ; char_name=${BOTTY_CHAR_NAME} ; difficulty: game difficulty to create ("normal", "nightmare", "hell") -difficulty=nightmare +difficulty=hell ; name: bot profile name used in logs/messages and mod launch option replacement name=fistman ; randomize_runs: 0 = run in listed order, 1 = shuffle run order diff --git a/src/inventory/vendor.py b/src/inventory/vendor.py index dcaef04..673ac6a 100644 --- a/src/inventory/vendor.py +++ b/src/inventory/vendor.py @@ -9,6 +9,8 @@ from logger import Logger from input_layer import mouse from ui_manager import center_mouse, is_visible, select_screen_object_match, wait_until_visible, ScreenObjects from inventory import personal, common, stash +from utils.log_rotation import safe_imwrite +import time gamble_count = 0 gamble_status = False @@ -44,6 +46,7 @@ def repair() -> bool: select_screen_object_match(repair_btn) if wait_until_visible(ScreenObjects.NotEnoughGold, 1).valid: Logger.warning("Couldn't repair--out of gold. Continue.") + safe_imwrite(f"./log/screenshots/info/info_not_enough_gold_repair_{time.strftime('%Y%m%d_%H%M%S')}.png", grab()) keyboard.send("esc") return False return True @@ -70,6 +73,7 @@ def gamble(): # make sure the "not enough gold" message doesn't exist if is_visible(ScreenObjects.NotEnoughGold, img): Logger.warning(f"Out of gold, stop gambling") + safe_imwrite(f"./log/screenshots/info/info_not_enough_gold_gambling_{time.strftime('%Y%m%d_%H%M%S')}.png", img) keyboard.send("esc") set_gamble_status(False) break @@ -118,6 +122,7 @@ def buy_item(template_name: str, quantity: int = 1, img: np.ndarray = None, shif wait(0.4, 0.6) if is_visible(ScreenObjects.NotEnoughGold): Logger.warning(f"Out of gold, could not purchase {template_name}") + safe_imwrite(f"./log/screenshots/info/info_not_enough_gold_purchase_{time.strftime('%Y%m%d_%H%M%S')}.png", grab()) keyboard.send('shift', do_release=True) keyboard.send("esc") return False @@ -131,6 +136,7 @@ def buy_item(template_name: str, quantity: int = 1, img: np.ndarray = None, shif wait(0.9, 1.1) if is_visible(ScreenObjects.NotEnoughGold): Logger.warning(f"Out of gold, could not purchase {template_name}") + safe_imwrite(f"./log/screenshots/info/info_not_enough_gold_purchase_{time.strftime('%Y%m%d_%H%M%S')}.png", grab()) keyboard.send("esc") return False personal.set_inventory_gold_full(False) diff --git a/src/ui_manager.py b/src/ui_manager.py index 25c9ad2..4809755 100644 --- a/src/ui_manager.py +++ b/src/ui_manager.py @@ -251,10 +251,8 @@ class ScreenObjects: threshold=0.8, ) NotEnoughGold=ScreenObject( - ref="NOT_ENOUGH_GOLD", - threshold=0.9, - color_match=Config().colors["red"], - use_grayscale=True + ref="MISSING_GOLD", + threshold=0.8, ) QuestSkillBtn=ScreenObject( ref="QUEST_SKILL_BTN",