Top.Mail.Ru
Ответы

ПОМОГИТЕ НАПИСАТЬ БОТА НА ПИТОНЕ

Привет. Бот-рыбак должен распознать табличку на экране и нажать клавишу после чего через некоторое время появится значок рыбы на экране он двигается влево и вправо бот должен понять куда двигается рыба и нажимать клавишу A если рыба едет направо и D если налево рыба будет так плавать туда суда пока не утомится после чего справа снизу появится табличка с процессом вытягивания рыбы для этого нужно зажать ПКМ вот код который сделала нейронка если кто умеет поправить поправьте пожалуйста

import pyscreeze
import pyautogui
import time

# Функция для поиска таблички на экране
def detect_tablet():
while True:
# Используем функцию locateOnScreen для поиска таблички на экране
tablet_location = pyautogui.locateOnScreen('tablet.png', grayscale=True)
if tablet_location is not None:
# Если табличка найдена, нажимаем клавишу 'E' через 6 секунд
time.sleep(6)
pyautogui.press ('e')
break

# Функция для рыбалки
def fish_bot():
while True:
fish_icon_location = pyautogui.locateOnScreen('fish_icon.png', grayscale=True)
if fish_icon_location is not None:
fish_center_x = fish_icon_location.left + fish_icon_location.width / 2
fish_center_y = fish_icon_ location.top + fish_icon_location.height / 2

if fish_center_x > screen_width / 2:
pyautogui.keyDown('a')
else:
pyautogui.keyDown('d')

fish_icon_color = pyautogui.pixel(fish_center_x, fish_center_y)

while fish_icon_color != (0, 128, 0):
fish_icon_color = pyautogui.pixel(fish_center_x, fish_center_y)

if fish_center_x > screen_width / 2:
pyautogui.keyUp('a')
else:
pyautogui.keyUp('d')

tablet_location = pyautogui.locateOnScreen('tablet.png', grayscale=True, region=(screen_width/2, screen_height/2, screen_width/2, screen_height/2))
if tablet_location is not None:
continue

# Получаем размеры экрана
screen_width, screen_height = pyautogui.size()

while True:
detect_tablet()
fish_bot()

По дате
По рейтингу
Аватар пользователя
Новичок

Для создания бота-рыбака на Python необходимо использовать библиотеки для работы с изображениями и клавиатурой. Необходимо написать функцию для распознавания таблички на экране и нажатия клавиши, после чего через некоторое время появится значок рыбы на экране, который двигается влево и вправо. Бот должен понимать, куда двигается рыба, и нажимать клавишу A, если рыба едет направо, и D, если налево. Рыба будет так плавать туда-сюда, пока не утомится, после чего справа снизу появится табличка с процессом вытягивания рыбы, для этого нужно зажать ПКМ.
Код для распознавания таблички на экране и нажатия клавиши:

1234567891011121314
 import pyscreeze  
import pyautogui  
import time  
 
# Функция для поиска таблички на экране  
def detect_tablet():  
    while True:  
        # Используем функцию locateOnScreen для поиска таблички на экране  
        tablet_location = pyautogui.locateOnScreen('tablet.png', grayscale=True)  
        if tablet_location is not None:  
            # Если табличка найдена, нажимаем клавишу 'E' через 6 секунд  
            time.sleep(6)  
            pyautogui.press ('e')  
            break  

Код для рыбалки:

123456789101112131415161718192021222324252627282930313233
 # Функция для рыбалки  
def fish_bot():  
    while True:  
        fish_icon_location = pyautogui.locateOnScreen('fish_icon.png', grayscale=True)  
        if fish_icon_location is not None:  
            fish_center_x = fish_icon_location.left + fish_icon_location.width / 2  
            fish_center_y = fish_icon_location.top  + fish_icon_location.height / 2  
 
            if fish_center_x > screen_width / 2:  
                pyautogui.keyDown('a')  
            else:  
                pyautogui.keyDown('d')  
 
            fish_icon_color = pyautogui.pixel(fish_center_x, fish_center_y)  
 
            while fish_icon_color != (0, 128, 0):  
                fish_icon_color = pyautogui.pixel(fish_center_x, fish_center_y)  
 
            if fish_center_x > screen_width / 2:  
                pyautogui.keyUp('a')  
            else:  
                pyautogui.keyUp('d')  
 
            tablet_location = pyautogui.locateOnScreen('tablet.png', grayscale=True, region=(screen_width/2, screen_height/2, screen_width/2, screen_height/2))  
            if tablet_location is not None:  
                continue  
 
# Получаем размеры экрана  
screen_width, screen_height = pyautogui.size()  
 
while True:  
    detect_tablet()  
    fish_bot() 

Необходимо заменить названия файлов и клавиш на соответствующие в вашей игре. Также необходимо настроить время ожидания и область поиска таблички и значка рыбы на экране.

Аватар пользователя
Оракул
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
 import pyscreeze  
import pyautogui  
import time  
 
# Функция для поиска таблички на экране  
def detect_tablet():  
    while True:  
        # Используем функцию locateOnScreen для поиска таблички на экране  
        tablet_location = pyautogui.locateOnScreen('tablet.png', grayscale=True)  
        if tablet_location is not None:  
            # Если табличка найдена, нажимаем клавишу 'E' через 6 секунд  
            time.sleep(6)  
            pyautogui.press ('e')  
            break  
 
# Функция для рыбалки  
def fish_bot():  
    while True:  
        fish_icon_location = pyautogui.locateOnScreen('fish_icon.png', grayscale=True)  
        if fish_icon_location is not None:  
            fish_center_x = fish_icon_location.left + fish_icon_location.width / 2  
            fish_center_y = fish_icon_location.top  + fish_icon_location.height / 2  
 
            if fish_center_x > screen_width / 2:  
                pyautogui.keyDown('a')  
            else:  
                pyautogui.keyDown('d')  
 
            fish_icon_color = pyautogui.pixel(fish_center_x, fish_center_y)  
 
            while fish_icon_color != (0, 128, 0):  
                fish_icon_color = pyautogui.pixel(fish_center_x, fish_center_y)  
 
            if fish_center_x > screen_width / 2:  
                pyautogui.keyUp('a')  
            else:  
                pyautogui.keyUp('d')  
 
        tablet_location = pyautogui.locateOnScreen('tablet.png', grayscale=True, region=(screen_width/2, screen_height/2, screen_width/2, screen_height/2))  
        if tablet_location is not None:  
            continue  
 
# Получаем размеры экрана  
screen_width, screen_height = pyautogui.size()  
 
while True:  
    detect_tablet()  
    time.sleep(6) # Добавьте задержку перед началом рыбалки 
    fish_bot() 
 

Я добавил задержку перед началом рыбалки после обнаружения таблички. Это должно помочь избежать преждевременного начала рыбалки.