Just a simple Albion fishing bot based on a python
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.4 KiB

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
x = int()
while True:
arrayEND = False
time.sleep(3.5)
pg.moveTo(x , y, duration = 0.5)
pg.mouseDown()
time.sleep(1)
pg.mouseUp()
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