Задать вопрос
@qwE2

Скриншот в CSGO через mss (python) сможете обьяснить?

Я хочу сделать простую программу, которую можно активировать и пойти покушать или что-то другое, а она сама будет принимать если найдется игра, Если кто не знает, когда находиться игра, выходит большая зеленая кнопка подтвердить готовность... Я хочу проверку на зеленый цвет в определенной области и если цвет зелённый то клик в той области. Это я все сделаю, я не могу скриншоты делать через mss, якобы через нее нельзя, хотя у меня есть код ютубера, который писал похожий по принцыпу код. Я бы хотел, чтобы вы увидели мой код, потом код того ютубера и кратко объяснили как он это организовал у себя. Зарание спасибо!

Мой код

import mss 
import mss.tools 
import keyboard 
import numpy as np 
 
 
# Параметры окна игры CSGO 
GAME_WINDOW_RECT = {"top": 0, "left": 0, "width": 1920, "height": 1080} 
 
 
# Создаем объект mss с параметром monitor, указывающим на окно игры CSGO 
with mss.mss() as sct: 
    monitor = {"top": GAME_WINDOW_RECT["top"], "left": GAME_WINDOW_RECT["left"], "width": GAME_WINDOW_RECT["width"], "height": GAME_WINDOW_RECT["height"]} 
    sct_img = sct.grab(monitor) 
 
# Основной цикл программы 
while True: 
    # Проверяем, была ли нажата клавиша "q" 
    if keyboard.is_pressed("q"): 
        # Создаем скриншот 
        sct_img = sct.grab(monitor) 
 
# Преобразуем изображение в массив numpy и изменяем его размер 
frame = np.array(sct_img) 
frame = frame[:, :, :3] # Удаляем 4-й канал (альфа-канал) 
frame = np.flip(frame, axis=0) # Переворачиваем изображение по вертикали 
frame = np.rot90(frame) # Поворачиваем изображение на 90 градусов 
frame = np.ascontiguousarray(frame) # Преобразуем массив в формат, поддерживаемый OpenCV 
 
# Сохраняем скриншот в файл 
mss.tools.to_png(sct_img.rgb, sct_img.size, output="csgo_screenshot.png")


Вот ссылка на Git hub: https://github.com/Priler/csgotriggerbot
  • Вопрос задан
  • 543 просмотра
Подписаться Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
мега сложный код. Через PyAutoGUI и без скринов можно обойтись.
pip install pyautogui
import pyautogui, time
while True:       
    pix = pyautogui.pixel(123, 456) # координаты пикселя (который будет зеленый)
    if pix != (80, 222, 80): # rgb зеленый цвет
        print('еще нету')
        # pyautogui.click(x=123, y=321) # кнопка обновить если надо
    else:
        print("ЕСТЬ!")
        break

    time.sleep(1)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы