Steam Quaver adli oyunda autoplay bot

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
21 Haz 2019
Mesajlar
120
Tepki puanı
9
Ödüller
7
Yaş
25
6 HİZMET YILI
Dostlar Steamde Quaver adinda osu!mania tarzi bir ritim oyunu var. Bu oyunda autoplay bot yapmak istiyorum pythonla. Kodu basit ve guzel yazmaya calisirken bir anda karma karisik bir seyler ortaya cikardim. Kodu soyle birakayim.

Kod:
import pyautogui
import time
import keyboard
import win32gui
import threading
def get_active_window_title():
    try:
        title = win32gui.GetWindowText(win32gui.GetForegroundWindow())
        print(f"Active window title: {title}")
        return title
    except Exception as e:
        print(f"Error getting window title: {e}")
        return ""
def is_game_window_active(window_title):
    return window_title == "Quaver v1.4.1"
def toggle_audio():
    while True:
        if keyboard.is_pressed("M"):
            pyautogui.press("volumemute")
            time.sleep(1)
def main():
    ac = False
    kapat = "Z"
    audio_thread = threading.Thread(target=toggle_audio, daemon=True)
    audio_thread.start()
    while True:
        if keyboard.is_pressed("A"):
            ac = True
            print("A aktif")
            while ac:
                time.sleep(0.1)
                active_window_title = get_active_window_title()
                if is_game_window_active(active_window_title):
                    print(f"Pixel colors: {pyautogui.pixel(762, 894)}, {pyautogui.pixel(902, 894)}, {pyautogui.pixel(1032, 894)}, {pyautogui.pixel(1166, 894)}")
                  
                    if pyautogui.pixel(762, 894) == (0, 0, 0):
                        pyautogui.press("D")
                        print("D'ye tıklandı")
                    if pyautogui.pixel(902, 894) == (0, 0, 0):
                        pyautogui.press("F")
                        print("F'ye tıklandı")
                    if pyautogui.pixel(1032, 894) == (0, 0, 0):
                        pyautogui.press("K")
                        print("K'ye tıklandı")
                    if pyautogui.pixel(1166, 894) == (0, 0, 0):
                        pyautogui.press("L")
                        print("L'ye tıklandı")
                else:
                    print("Game window not active")
                if keyboard.is_pressed("S"):
                    ac = False
                    print("Kapatıldı")
                if keyboard.is_pressed(kapat):
                    break
        if keyboard.is_pressed(kapat):
            break
if __name__ == "__main__":
    main()


kod calisiyor konsola gerekli ciktilari veriyor. DFKL tuslarina bastiginin ciktisini, Aktif pencerenin ismini, basilan tusu ve pixel rengine kadar soyluyor. Kodda 2 tane hata var, Bot calisiyor konsola tus basildiginin ciktisini veriyor ama basmiyor ve windowsun sesini surekli ac kapat yapiyor. Yardimlarinizi bekliyorum
 
Son düzenleme:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst