makrocalismalari/main1.py

103 lines
3.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import pyautogui
import keyboard
import time
from python_imagesearch.imagesearch import imagesearch
class MacroManager:
def __init__(self):
self.macros = {
'Atak': {'enabled': False, 'func': self.atak_macro},
'Kalkan Tak': {'enabled': False, 'func': self.kalkan_tak_macro},
'Restore Sil': {'enabled': False, 'func': self.restore_sil_macro},
'Kılıç Sil': {'enabled': False, 'func': self.kilic_sil_macro}
}
self.running = False
# MAKRO FONKSİYONLARI
def atak_macro(self):
"""R tuşuna 2 kez basıp 2 tuşuna basar"""
keyboard.press('r')
time.sleep(0.1)
keyboard.release('r')
keyboard.press('r')
time.sleep(0.1)
keyboard.release('r')
keyboard.press('2')
time.sleep(0.1)
keyboard.release('2')
def kalkan_tak_macro(self):
try:
pos = imagesearch(image_path)
if pos[0] == -1:
return # Hiçbir şey yapma
# Görsel bulundu, işlemleri yap
pyautogui.moveTo(pos[0], pos[1]+60, duration=0.5)
pyautogui.rclick()
except Exception as e:
print(f"Hata oluştu ama işleme devam ediliyor: {e}")
# Hata durumunda da hiçbir şey yapmıyoruz
# Kullanım:
safe_image_operation("kalkan.png")
def restore_sil_macro(self):
"""F3 tuşuna basarak restore siler"""
keyboard.press('f3')
time.sleep(0.1)
keyboard.release('f3')
def kilic_sil_macro(self):
"""F4 tuşuna basarak kılıç siler"""
keyboard.press('f4')
time.sleep(0.1)
keyboard.release('f4')
# MAKRO YÖNETİM FONKSİYONLARI
def toggle_macro(self, macro_name):
"""Makroyu aktif/pasif yapar"""
if macro_name in self.macros:
self.macros[macro_name]['enabled'] = not self.macros[macro_name]['enabled']
status = "aktif" if self.macros[macro_name]['enabled'] else "pasif"
print(f"{macro_name} makrosu {status} hale getirildi")
def run_macros(self):
"""Aktif makroları çalıştırır"""
try:
while self.running:
for macro_name, macro_data in self.macros.items():
if macro_data['enabled']:
macro_data['func']() # İlgili makro fonksiyonunu çağır
time.sleep(0.05) # CPU kullanımını azaltmak için
except Exception as e:
print(f"Hata oluştu: {str(e)}")
def start(self):
"""Makro sistemini başlatır"""
self.running = True
self.run_macros()
def stop(self):
"""Makro sistemini durdurur"""
self.running = False
# KULLANIM ÖRNEĞİ
if __name__ == "__main__":
manager = MacroManager()
# Makroları aktifleştirme
manager.toggle_macro('Atak')
manager.toggle_macro('Düşman Bul ve Saldır')
try:
print("Makrolar çalışıyor... (Durdurmak için CTRL+C)")
manager.start()
except KeyboardInterrupt:
manager.stop()
print("Makrolar durduruldu")