import pyautogui
import cv2
import numpy as np
import time
# Can ve mana barlarının bulunduğu bölgelerin koordinatları
HEALTH_BAR_REGION = (100, 50, 200, 20) # X, Y, Width, Height
MANA_BAR_REGION = (100, 80, 200, 20)
# Kırmızı ve mavi renklerin aralıkları (BGR formatında)
RED_LOWER = np.array([0, 0, 150])
RED_UPPER = np.array([50, 50, 255])
BLUE_LOWER = np.array([150, 0, 0])
BLUE_UPPER = np.array([255, 50, 50])
def get_bar_percentage(region, lower_color, upper_color):
screenshot = pyautogui.screenshot(region=region)
frame = np.array(screenshot)
mask = cv2.inRange(frame, lower_color, upper_color)
percentage = cv2.countNonZero(mask) / (region[2] * region[3])
return percentage
def use_health_potion():
pyautogui.press('1') # Can potunun kısayolu
def use_mana_potion():
pyautogui.press('2') # Mana potunun kısayolu
def main():
while True:
health_percentage = get_bar_percentage(HEALTH_BAR_REGION, RED_LOWER, RED_UPPER)
mana_percentage = get_bar_percentage(MANA_BAR_REGION, BLUE_LOWER, BLUE_UPPER)
if health_percentage < 0.3: # Can %30'un altına düştüğünde
use_health_potion()
if mana_percentage < 0.3: # Mana %30'un altına düştüğünde
use_mana_potion()
time.sleep(1) # Her 1 saniyede bir kontrol et
if __name__ == "__main__":
main()