Compare commits

...

3 Commits

Author SHA1 Message Date
dddfa60c77 refactor dig 2022-05-02 21:20:15 +02:00
62dc818be1 refactor dig 2022-05-02 19:54:43 +02:00
f9455ade48 refactor dig 2022-05-02 19:54:29 +02:00
4 changed files with 193 additions and 1 deletions

View File

@@ -17,7 +17,17 @@ class UserConfigs:
elif user_from_env == self.EDDIEUSER:
self.user = self.EDDIEUSER
else:
self.user = self.ADWAUSER
self.user = self.THALOUSER
def returnOKWindowPos(self):
if self.user == self.THALOUSER:
return [310, 200, 1120, 920]
elif self.user == self.ADWAUSER:
return [740, 450, 1625, 985]
elif self.user == self.EDDIEUSER:
return [740, 450, 1625, 985]
else:
pass
def returnMagicWindowPos(self):
if self.user == self.THALOUSER:
@@ -49,6 +59,16 @@ class UserConfigs:
else:
pass
def returnDiggingWindowPos2(self):
if self.user == self.THALOUSER:
return [1440, 1150, 570, 22]
elif self.user == self.ADWAUSER:
return [740, 450, 1625, 985]
elif self.user == self.EDDIEUSER:
return [740, 450, 1625, 985]
else:
pass
def returnEquipmentWindowPos(self):
if self.user == self.THALOUSER:
return [1800, 1150, 0, 0]

139
digging_main2.py Normal file
View File

@@ -0,0 +1,139 @@
from config_file import UserConfigs
import keyboard
from utils import dig_point, check_for_ok_button
from window_capture import WindowCapture
from vision import Vision
def run():
# initialize the user-class
config = UserConfigs()
# initialize the StunWindowCapture class
capture_config = UserConfigs()
capture_window = WindowCapture(None, "screen_conf", capture_config)
# initialize the StunVision class
vision_stun = Vision()
pause = True
level = 1
width = 32
depth = 24
plot_size = 47
DIG_TIME = 150
while True:
if keyboard.is_pressed('p') == True:
pause = True
print('q pressed')
elif keyboard.is_pressed('o') == True:
pause = False
print('o pressed')
if pause:
# cv.waitKey(500)
print("pausing")
continue
if level == 3:
width = 30
if level == 17:
DIG_TIME = 1850
plot_size = plot_size - level
p1 = int((config.returnDiggingWindowPos2()[0] / 2) + config.returnDiggingWindowPos2()[2])
p2 = int((config.returnDiggingWindowPos2()[1] / 2) + config.returnDiggingWindowPos2()[3])
# start 705 , 564 -> click
# move L D -> click
# move U , U , R, R , D , D , L , L
# move L D
# move U , U , U , U , R, R , R, R, D, D, D, D, L, L, L , L
dig_point(p1, p2, DIG_TIME)
#cv.circle(screenshot, (p1, p2), 7, (0, 255, 0), -1)
i = 0
for e in range(2, width, 2):
i = i + 1
tp1 = p1 - (i * plot_size)
tp2 = p2 + (i * plot_size)
for f in range(0, e, 1):
# up click
tp2 = tp2 - plot_size
if tp2 >= config.returnDiggingWindowPos2()[1] + plot_size:
continue
if tp2 <= config.returnDiggingWindowPos2()[3] + plot_size:
continue
dig_point(tp1, tp2, DIG_TIME)
#cv.circle(screenshot, (tp1, tp2), 7, (255, 0, 255), -1)
#cv.imshow("screenshot", screenshot)
#cv.waitKey(150)
check_for_ok_button(capture_window, vision_stun, capture_config)
if keyboard.is_pressed('p') == True or pause == True:
pause = True
break
tp1 = p1 - (i * plot_size)
tp2 = p2 - (i * plot_size)
for g in range(0, e, 1):
# right click
tp1 = tp1 + plot_size
if tp2 <= config.returnDiggingWindowPos2()[3] + plot_size:
continue
dig_point(tp1, tp2, DIG_TIME)
#cv.circle(screenshot, (tp1, tp2), 7, (127, 0, 255), -1)
#cv.imshow("screenshot", screenshot)
#cv.waitKey(150)
check_for_ok_button(capture_window, vision_stun, capture_config)
if keyboard.is_pressed('p') == True or pause == True:
pause = True
break
tp1 = p1 + (i * plot_size)
tp2 = p2 - (i * plot_size)
for r in range(0, e, 1):
# down click
tp2 = tp2 + plot_size
if tp2 >= config.returnDiggingWindowPos2()[1] + plot_size:
continue
if tp2 <= config.returnDiggingWindowPos2()[3] + plot_size:
continue
dig_point(tp1, tp2, DIG_TIME)
#cv.circle(screenshot, (tp1, tp2), 7, (255, 0, 127), -1)
#cv.imshow("screenshot", screenshot)
#cv.waitKey(150)
check_for_ok_button(capture_window, vision_stun, capture_config)
if keyboard.is_pressed('p') == True or pause == True:
pause = True
break
tp1 = p1 + (i * plot_size)
tp2 = p2 + (i * plot_size)
for u in range(0, e, 1):
# left click
tp1 = tp1 - plot_size
if tp2 >= config.returnDiggingWindowPos2()[1] + plot_size:
continue
dig_point(tp1, tp2, DIG_TIME)
#cv.circle(screenshot, (tp1, tp2), 7, (0, 0, 255), -1)
#cv.imshow("screenshot", screenshot)
#cv.waitKey(150)
check_for_ok_button(capture_window, vision_stun, capture_config)
if keyboard.is_pressed('p') == True or pause == True:
pause = True
break
if keyboard.is_pressed('p') == True or pause == True:
pause = True
break
if keyboard.is_pressed('p') == True or pause == True:
pause = True
break
level = level +1
if __name__ == "__main__":
run()

View File

@@ -2,6 +2,16 @@ import numpy as np
import os
import cv2 as cv
from PIL import Image
import pydirectinput
import random
import random
from time import time
import cv2 as cv
import pydirectinput
import keyboard
from tresh_util import super_tresh_main, super_tresh_needle
def mse(imageA, imageB):
@@ -144,3 +154,22 @@ def update_screenshot_with_short_pic_list(short_pic_lst, lst_bl_items):
# save_line_item_npy_jpg(r_short_pic_lst)
return screenshot
def dig_point(point1, point2, dig_time):
pydirectinput.moveTo(point1, point2)
pydirectinput.mouseDown()
w = random.randint(1, 50)
cv.waitKey(dig_time + w)
pydirectinput.mouseUp()
def check_for_ok_button(cap_win, vis, conf):
screenshot = cap_win.get_screenshot()
rectangles = vis.find(screenshot, cv.imread("dig/ok_button.jpg", cv.IMREAD_UNCHANGED), 0.5, 1)
offset_left = conf.returnOKWindowPos()[2]
offset_down = conf.returnOKWindowPos()[3]
if len(rectangles) == 1:
pointis = vis.get_click_points(rectangles)
for pointi in pointis:
dig_point(pointi[0] + offset_left, pointi[1] + offset_down, 150)

View File

@@ -31,8 +31,12 @@ class WindowCapture:
val = config.returnDiggingWindowPos()
elif area == "magic":
val = config.returnMagicWindowPos()
elif area == "dig2":
val = config.returnDiggingWindowPos2()
elif area == "equip":
val = config.returnEquipmentWindowPos()
elif area == "screen_conf":
val = config.returnOKWindowPos()
else:
val = config.returnFullScreenWindowPos()