Функция для скнаирования инвентаря

This commit is contained in:
2023-03-12 06:13:10 +03:00
parent d54d5359e8
commit 25bc38122e

38
main.py
View File

@@ -166,7 +166,7 @@ def get_boxes(screenshot):
return results_frame
def get_targets(boxes_frame, text=False, x_delta=100):
def get_targets(boxes_frame, text=False, right_delta=100, left_delta=100):
anchor_top_x, anchor_top_y = boxes_frame.loc[
boxes_frame["text"].str.contains("nam"), ["cent_x", "cent_y"]
].values[0]
@@ -178,7 +178,7 @@ def get_targets(boxes_frame, text=False, x_delta=100):
(boxes_frame["cent_y"].between(anchor_top_y + 10, anchor_bot_y - 10))
& (
boxes_frame["cent_x"].between(
anchor_top_x - 100, anchor_top_x + x_delta
anchor_top_x - left_delta, anchor_top_x + right_delta
)
)
]
@@ -195,6 +195,35 @@ def get_targets(boxes_frame, text=False, x_delta=100):
return targets
def get_items_amounts(boxes_frame, text=False, left_delta=50, right_delta=50):
anchor_top_x, anchor_top_y = boxes_frame.loc[
boxes_frame["text"] == "quantity", ["cent_x", "cent_y"]
].values[0]
anchor_bot_y = boxes_frame.loc[
boxes_frame["text"] == "price", "cent_y"
].values[0]
items = boxes_frame.loc[
(boxes_frame["cent_y"].between(anchor_top_y + 10, anchor_bot_y - 10))
& (
boxes_frame["cent_x"].between(
anchor_top_x - left_delta, anchor_top_x + right_delta
)
)
]
if text:
items = items.loc[items["text"].str.contains(text)]
logging.info("Вещи: получены")
if debug:
items.to_excel("xlsx/items.xlsx", index=False)
logging.debug("Вещи: документ сохранен")
highlite_boxes(items, "Вещи", "items")
return items
def get_cors_by_unique_name(boxes_frame, name):
sub_ftame = boxes_frame.loc[
boxes_frame["text"] == name, ["cent_x", "cent_y"]
@@ -212,7 +241,7 @@ def go_to_minefield():
while True:
screenshot = get_screenshot()
boxes_frame = get_boxes(screenshot)
target = get_targets(boxes_frame, "belt", x_delta=150)
target = get_targets(boxes_frame, "belt", right_delta=150)
if target.empty:
logging.warning(
"Перемещение к месту добычи: потенциальные цели не найдены"
@@ -285,7 +314,8 @@ def start_mine():
while True:
screenshot = get_screenshot()
boxes_frame = get_boxes(screenshot)
targets = get_targets(boxes_frame, "belt")
# targets = get_targets(boxes_frame, "belt")
items = get_items_amounts(boxes_frame)
input("Следущий скриншот - enter")
"""