|
|
|
import pyautogui as pg
|
|
|
|
import cv2
|
|
|
|
import numpy as np
|
|
|
|
from PIL import Image, ImageGrab
|
|
|
|
import time
|
|
|
|
#To get it work you need to have an image stored in the folder with this Python file
|
|
|
|
|
|
|
|
# Enter the coordinates of the box, where your float will stay (poplavok = float btw)
|
|
|
|
x1,y1 = 265,350
|
|
|
|
x2,y2 = 408,495
|
|
|
|
|
|
|
|
x,y = 523,445 #This is where you want to throw your float
|
|
|
|
|
|
|
|
meanvalue = 4.8 #You need to know the optimal mean value to actually make it work
|
|
|
|
|
|
|
|
|
|
|
|
def zakid():
|
|
|
|
pg.moveTo(x , y, duration = 0.5)
|
|
|
|
pg.mouseDown()
|
|
|
|
time.sleep(1)
|
|
|
|
pg.mouseUp()
|
|
|
|
|
|
|
|
|
|
|
|
x = int()
|
|
|
|
while True:
|
|
|
|
arrayEND = False
|
|
|
|
|
|
|
|
time.sleep(3.5)
|
|
|
|
zakid()
|
|
|
|
time.sleep(1.5)
|
|
|
|
print('zakinul')
|
|
|
|
time.sleep(0.5)
|
|
|
|
|
|
|
|
while arrayEND == False:
|
|
|
|
|
|
|
|
poplavokplace = ImageGrab.grab((x1,y1,x2,y2)) #Takes a screenshot of the box where the float is
|
|
|
|
poplavokplace.save('iii2.png', 'BMP')
|
|
|
|
poplavok_place_image_original = cv2.imread('iii2.png')
|
|
|
|
poplavok_place_array = np.array(poplavok_place_image_original)
|
|
|
|
poplavok_canny = cv2.Canny(poplavok_place_array,90, 200)
|
|
|
|
cv2.imwrite('canny.png', poplavok_canny)
|
|
|
|
poplavok_place_array_mean = np.mean(poplavok_canny)
|
|
|
|
time.sleep(0.3)
|
|
|
|
print('mean = '+ str(poplavok_place_array_mean))
|
|
|
|
if poplavok_place_array_mean == 0:
|
|
|
|
print('mean == 0, ending the program')
|
|
|
|
break
|
|
|
|
|
|
|
|
if poplavok_place_array_mean >= float(meanvalue) and poplavok_place_array_mean != 0:
|
|
|
|
time.sleep(0.1)
|
|
|
|
pg.click(clicks = 2)
|
|
|
|
arrayEND = True
|
|
|
|
print('array has been ended sucessfully (break)')
|
|
|
|
break
|
|
|
|
|
|
|
|
while arrayEND == True:
|
|
|
|
time.sleep(0.3)
|
|
|
|
catch = False
|
|
|
|
window = ImageGrab.grab((837,532,1078,567)) #This is where the minigame will appear (FullHD)
|
|
|
|
|
|
|
|
locate = pg.locate('obrezka.png',window, confidence = 0.5)
|
|
|
|
if locate == None:
|
|
|
|
break
|
|
|
|
if locate != None:
|
|
|
|
x = locate[0]
|
|
|
|
print('x = '+ str(x) + ' catch = True')
|
|
|
|
catch = True
|
|
|
|
|
|
|
|
while catch == True:
|
|
|
|
window = ImageGrab.grab((837,532,1078,567))
|
|
|
|
ggmme = pg.locate('obrezka.png',window, confidence = 0.5)
|
|
|
|
if ggmme != None:
|
|
|
|
x = ggmme[0]
|
|
|
|
print('x = '+ str(x) + ' has been found')
|
|
|
|
if 65 < int(x) < 170:
|
|
|
|
pg.mouseDown()
|
|
|
|
time.sleep(1.1)
|
|
|
|
pg.mouseUp()
|
|
|
|
time.sleep(0.1)
|
|
|
|
if int(x) < 64:
|
|
|
|
pg.mouseDown()
|
|
|
|
time.sleep(2.5)
|
|
|
|
pg.mouseUp()
|
|
|
|
else:
|
|
|
|
catch = False
|
|
|
|
print('NONE')
|
|
|
|
arrayEND = False
|
|
|
|
print('minigame has been ended')
|
|
|
|
time.sleep(1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
# Copyright (c) 2020 Unbewohnte
|
|
|
|
|