Untitled

 avatar
unknown
plain_text
6 months ago
22 kB
5
Indexable
import threading
import time
import tkinter as tk
import pyautogui

class KeyboardDriver:
    def tusbas(self, key, duration):
        pyautogui.press(key)
        time.sleep(duration)

class MouseDriver:
    def leftclick(self, duration, x, y):
        pyautogui.moveTo(x, y)
        pyautogui.click()
        time.sleep(duration)

    def rightclick(self, duration, x, y):
        pyautogui.moveTo(x, y)
        pyautogui.rightClick()
        time.sleep(duration)

keycodes = {
    "F1": 0x3B, "F2": 0x3C, "F3": 0x3D, "F4": 0x3E, "F5": 0x3F, "F6": 0x40, "F7": 0x41, "F8": 0x42, "F9": 0x43,
    "F10": 0x44, "F11": 0x57, "F12": 0x58, "F13": 0x64, "F14": 0x65, "F15": 0x66,
    "0": 0x0B, "1": 0x02, "2": 0x03, "3": 0x04, "4": 0x05, "5": 0x06, "6": 0x07, "7": 0x08, "8": 0x09, "9": 0x0A,
    "A": 0x1E, "B": 0x30, "C": 0x2E, "D": 0x20, "E": 0x12, "F": 0x21, "G": 0x22, "H": 0x23, "I": 0x17, "J": 0x24,
    "K": 0x25, "L": 0x26, "M": 0x32, "N": 0x31, "O": 0x18, "P": 0x19, "Q": 0x10, "R": 0x13, "S": 0x1F, "T": 0x14,
    "U": 0x16, "V": 0x2F, "W": 0x11, "X": 0x2D, "Y": 0x15, "Z": 0x2C,
    "ESC": 0x01, "TAB": 0x0F, "RETURN": 0x1C,
    "DOWN_ARROW": 0x50, "UP_ARROW": 0x48, "RIGHT_ARROW": 0x4D, "LEFT_ARROW": 0x4B,
    "NUMPAD_0": 0x52, "NUMPAD_1": 0x4F, "NUMPAD_2": 0x50, "NUMPAD_3": 0x51, "NUMPAD_4": 0x4B, "NUMPAD_5": 0x4C,
    "NUMPAD_6": 0x4D, "NUMPAD_7": 0x47, "NUMPAD_8": 0x48, "NUMPAD_9": 0x49,
}




tusbas = KeyboardDriver()
mousebas = MouseDriver()

resim_kagit = r'C:\makro\resimler\kagit.png'
resim_item = r'C:\makro\resimler\item.png'


class UpgradeAraci(tk.Tk):
    def __init__(self):
        super().__init__()
        self.title("Upgrade Aracı")
        # Pencere boyutunu ve konumunu ayarla
        self.geometry("100x100+1400+200")

        self.up_thread = None
        self.running = False

        self.start_button = tk.Button(self, text="Başlat", command=self.baslat)
        self.start_button.pack(pady=10)

        self.stop_button = tk.Button(self, text="Durdur", command=self.durdur, state=tk.DISABLED)
        self.stop_button.pack(pady=5)

    def baslat(self):
        self.running = True
        self.start_button.config(state=tk.DISABLED)
        self.stop_button.config(state=tk.NORMAL)

        # İş parçacığını başlat
        self.up_thread = threading.Thread(target=self.kagit_ara)
        self.up_thread.start()

    def durdur(self):
        self.running = False
        self.start_button.config(state=tk.NORMAL)
        self.stop_button.config(state=tk.DISABLED)

    def ANVIL_ACMA(self):

        # ÖNCE OYUN EKRANINDA BİR KOORDİNATA TIKLAR
        mousebas.leftclick(0.001, 100, 50)

        time.sleep(1)

        # BURDA ANVİL ACMA İSLEMİ BASLAR
        tusbas.tusbas(keycodes["B"], 0.1)

        time.sleep(0.1)

        tusbas.tusbas(keycodes["B"], 0.1)

        time.sleep(1.2)

        mousebas.leftclick(0.05, 685, 295)

        time.sleep(0.05)

        mousebas.rightclick(0.1, 685, 295)

        time.sleep(1.2)

        mousebas.leftclick(0.05, 695, 395)

        time.sleep(1.2)

    def kagit_bul(self):
        try:
            # Ekranı tarayarak belirli bir resmi ara
            resim_konumu = pyautogui.locateOnScreen(resim_kagit, confidence=0.9)
            return resim_konumu
        except:
            return None

    def item_bul(self):
        try:
            # Ekranı tarayarak belirli bir resmi ara
            resim_konumu = pyautogui.locateOnScreen(resim_item, confidence=0.9)
            return resim_konumu
        except:
            return None

    def kagit_ara(self):

        time.sleep(1)

        self.ANVIL_ACMA()

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara1()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara2(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara2()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara3(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara3()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara4(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara4()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara5(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara5()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara6(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara6()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara7(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara7()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara8(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara8()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara9(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara9()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara10(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara10()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara11(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara11()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara12(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara12()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara13(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara13()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def kagit_ara14(self):

        time.sleep(1)

        # Aranan resmi bul
        resim_konumu = self.kagit_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.item_ara14()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur()

    def item_ara1(self):

        mousebas.leftclick(0.01, 1015, 460)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade1()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara2()

    def item_ara2(self):

        mousebas.leftclick(0.01, 1065, 460)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade2()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara3()

    def item_ara3(self):

        mousebas.leftclick(0.01, 1115, 460)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade3()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara4()

    def item_ara4(self):

        mousebas.leftclick(0.01, 1165, 460)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade4()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara5()

    def item_ara5(self):

        mousebas.leftclick(0.01, 1215, 460)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade5()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara6()

    def item_ara6(self):

        mousebas.leftclick(0.01, 1265, 460)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade6()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara7()

    def item_ara7(self):

        mousebas.leftclick(0.01, 1315, 460)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade7()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara8()

    def item_ara8(self):

        mousebas.leftclick(0.01, 1015, 505)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade8()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara9()

    def item_ara9(self):

        mousebas.leftclick(0.01, 1065, 505)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade9()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara10()

    def item_ara10(self):

        mousebas.leftclick(0.01, 1115, 505)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade10()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara11()

    def item_ara11(self):

        mousebas.leftclick(0.01, 1165, 505)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade11()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara12()

    def item_ara12(self):

        mousebas.leftclick(0.01, 1215, 505)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade12()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara13()

    def item_ara13(self):

        mousebas.leftclick(0.01, 1265, 505)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade13()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.kagit_ara14()

    def item_ara14(self):

        mousebas.leftclick(0.01, 1315, 505)
        time.sleep(0.1)

        # Aranan resmi bul
        resim_konumu = self.item_bul()

        # Eğer resim bulunursa
        if resim_konumu is not None:
            self.upgrade14()
        else:
            # Eğer resim bulunamazsa belirli bir fonksiyonu çağır
            self.durdur

    def upgrade1(self):

        mousebas.rightclick(0.3, 1315, 608)  # kağıdı koy

        time.sleep(0.3)

        mousebas.rightclick(0.3, 1015, 460)  # 1. itemi koy

        time.sleep(0.3)

        mousebas.leftclick(0.3, 1088, 360)  # 1. confirm

        time.sleep(0.3)

        mousebas.leftclick(0.3, 1080, 481)  # 2. confirm

        time.sleep(0.3)

        tusbas.tusbas(keycodes["W"], 0.01)

        tusbas.tusbas(keycodes["W"], 0.01)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara2()

    def upgrade2(self):

        mousebas.rightclick(0.3, 1315, 608)  # kağıdı koy

        time.sleep(0.3)

        mousebas.rightclick(0.3, 1065, 460)  # itemi koy

        time.sleep(0.3)

        mousebas.leftclick(0.3, 1088, 360)  # 1. confirm

        time.sleep(0.3)

        mousebas.leftclick(0.3, 1080, 481)  # 2. confirm

        time.sleep(0.3)

        tusbas.tusbas(keycodes["W"], 0.01)

        tusbas.tusbas(keycodes["W"], 0.01)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara3()

    def upgrade3(self):

        mousebas.rightclick(0.2, 1315, 608)  # kağıdı koy

        time.sleep(0.2)

        mousebas.rightclick(0.2, 1115, 460)  # itemi koy

        time.sleep(0.2)

        mousebas.leftclick(0.2, 1088, 360)  # 1. confirm

        time.sleep(0.2)

        mousebas.leftclick(0.2, 1080, 481)  # 2. confirm

        time.sleep(0.2)

        tusbas.tusbas(keycodes["W"], 0.01)

        tusbas.tusbas(keycodes["W"], 0.01)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara4()

    def upgrade4(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1165, 460)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara5()

    def upgrade5(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1215, 460)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara6()

    def upgrade6(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1265, 460)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara6()

    def upgrade7(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1315, 460)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara7()

    def upgrade8(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1015, 505)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara8()

    def upgrade9(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1065, 505)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara9()

    def upgrade10(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1115, 505)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara10()

    def upgrade11(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1165, 505)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara11()

    def upgrade12(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1215, 505)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara12()

    def upgrade13(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1265, 505)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        self.kagit_ara13()

    def upgrade14(self):

        mousebas.rightclick(0.05, 1315, 608)  # kağıdı koy
        time.sleep(0.5)

        mousebas.rightclick(0.05, 1315, 505)  # itemi koy
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1088, 360)  # 1. confirm
        time.sleep(0.5)

        mousebas.leftclick(0.05, 1080, 481)  # 2. confirm
        time.sleep(0.5)

        tusbas.tusbas(keycodes["W"], 0.001)
        tusbas.tusbas(keycodes["W"], 0.001)

        time.sleep(1.2)

        self.ANVIL_ACMA

        time.sleep(0.001)


if __name__ == "__main__":
    app = UpgradeAraci()
    app.mainloop()
Editor is loading...
Leave a Comment