К основному контенту

Пишем бот для рыбалки в игре Albion Online на языке Python (Albion Online Fishing bot)


import numpy as np
import cv2
from mss.linux import MSS as mss
from PIL import Image
import time
import pyautogui as pg
import imutils
import mss
import numpy
import pyautogui

template = cv2.imread("2019-07-02_06-55_1.png", cv2.IMREAD_GRAYSCALE)
w, h = template.shape[::-1]

color_yellow = (0,255,255)

mon = {'top': 80, 'left': 350, 'width': 100, 'height': 100}

def process_image(original_image):

    processed_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)

    processed_image = cv2.Canny(processed_image, threshold1=200, threshold2=300)
    return processed_image

def ss():
    op = 1
    with mss.mss() as sct:

        monitor = {"top": 40, "left": 0, "width": 800, "height": 640}

        while "Screen capturing":
            last_time = time.time()

            img = numpy.array(sct.grab(monitor))


            gray_frame = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
            res = cv2.matchTemplate(gray_frame, template, cv2.TM_CCOEFF_NORMED)
            loc = np.where(res >= 0.7)
            op += 1
            print (op)
            for pt in zip(*loc[::-1]):
                cv2.rectangle(img, pt, (pt[0] + w, pt[1] + h), (0, 255, 0), 3)
                for p in img:
                    pts = (pt[0],pt[1])
                    x = (pt[0])
                    y = (pt[1])
                    print (x)
                    if 100 < x < 490:
                            pyautogui.mouseDown(button='left')
                            time.sleep(2)
                            pyautogui.mouseUp(button='left')
                            x = 0
                            break
                    else:
                            continue
                    break
                else:
                        continue
                break
            key = cv2.waitKey(1)
            if cv2.waitKey(25) & 0xFF == ord("q"):
                cv2.destroyAllWindows()
            if op > 35:
                return

def screen_record():
    sct = mss.mss()
    last_time = time.time()

    while(True):
        img = sct.grab(mon)
        print('loop took {} seconds'.format(time.time() - last_time))
        last_time = time.time()

        img = np.array(img)
        processed_image = process_image(img)
        mean = np.mean(processed_image)
        print('mean = ', mean)

        if  mean <= float(0.11):
            print('SSSSSSSS ')
            pyautogui.click(button='left')
            break
            return
        else:
            time.sleep(0.01)
            continue
        return
        if cv2.waitKey(25) & 0xFF == ord('q'):
            cv2.destroyAllWindows()
            break

while "Черный":
    time.sleep(1)
    pyautogui.moveTo(431,175,duration=1)
    pyautogui.mouseDown(button='left')
    pyautogui.moveTo(450.200,duration=1)
    pyautogui.mouseUp(button='left')
    time.sleep(2)
    screen_record()
    time.sleep(0.01)
    ss()

Незабывайте про табуляцию и установку необходимых модулей и зависимостей, Я все делал на Python Python 3.7.3 
@black_triangle_tg

Популярное

Пробив информации. Osint-ресурсы.

Думаю что эта подборка будет полезна и вам, список ресурсов не всеобъемлющий по этому всем кому есть что добавить, добро пожаловать в коментарии. Поиск По Фотографиям Поиск по лицу: FindTwin face search demo + @VkUrlBot Face search • PimEyes Betaface free online demo - Face recognition, Face search, Face analysis VK.watch – история профилей ВКонтакте Поиск первоисточника картинки и всех доменов где она хоститься: TinEye Reverse Image Search Reverse image search for images and video - Berify.com Search by image | Reverse Image Search on Google 2019 Reverse Image Search - Search By Image Reverse Image Search - Find Similar Photos Online Karma Decay - Reverse image search of Reddit.com Поиск фото по геометкам в социальных сетях: Поиск фото по геометкам в соц. сетях Поисковик фотографий с привязкой к геолокации Другое: Поиск по фото мошенников и фейков Поисковые Cистемы Людей Мир: Free People Search | PeekYou https://pipl.com/

Скрытые функции поисковика DuckDuckGo

Если пoисковик DuckDuckGo кому-то и известен, то в первую очередь в связи с повышенной приватностью. В отличие от Google или «Яндекса» он не собирает данные о пользователях, но и результаты у него не такие же хорошие. Однако стоит копнуть глубже, и оказывается, что это мощнейший инструмент, способный значительно облегчить и ускорить извлечение информации из Сети. Начнем с того, что на самом деле DDG — не совсем поисковик. Вернее даже, совсем не поисковик, а этакий агpегатор ответов с разных поисковиков. В своей работе он использует поисковую выдачу Yahoo, Bing, Yummly, «Яндекса», «Википедии» и сотен других «надежных» источников. Такая особенность делает DDG очень точным, если источники содержат информацию именно по этому запросу. Он легко выдает исчерпывающие ответы на запросы типа «linux df», «долгая счастливая жизнь», «Java InterruptedException» или даже «is it raining». Но как только ты введешь что-то более сложное, что-то, чего не окажется в источниках DDG,