from pynput import keyboard
import threading
import time
healing_active = True
attack_active = True
def start_healing():
global healing_active
while healing_active:
print("Healing...")
time.sleep(1)
def start_attacking():
global attack_active
while attack_active:
print("Attacking...")
time.sleep(1)
def on_key_release(key):
global healing_active, attack_active
try:
if key == keyboard.Key.f1:
print("F1 pressed, healing started.")
healing_active = True
attack_active = False
threading.Thread(target=start_healing).start()
elif key == keyboard.Key.f5:
print("F5 pressed, attacking started.")
healing_active = False
attack_active = True
threading.Thread(target=start_attacking).start()
except Exception as e:
print(f"An error occurred: {e}")
with keyboard.Listener(on_release=on_key_release) as listener:
listener.join()
from pynput import keyboard
import threading
import time
healing_flag = threading.Event()
attack_flag = threading.Event()
def execute_healing():
while not healing_flag.is_set():
print("healing...")
time.sleep(1)
def execute_attack():
while not attack_flag.is_set():
print("attacking...")
time.sleep(1)
def on_key_release(key):
global healing_flag, attack_flag
try:
if key == keyboard.Key.f1:
print("F1 pressed, initiating healing.")
attack_flag.set()
healing_flag.clear()
threading.Thread(target=execute_healing).start()
elif key == keyboard.Key.f5:
print("F5 pressed, initiating attack.")
healing_flag.set()
attack_flag.clear()
threading.Thread(target=execute_attack).start()
except Exception as e:
print(f"An error occurred: {e}")
with keyboard.Listener(on_release=on_key_release) as listener:
listener.join()
from pynput import keyboard
import threading
import time
healing_flag = threading.Event()
attack_flag = threading.Event()
def execute_healing(x):
while not healing_flag.is_set():
print("healing...",x)
time.sleep(1)
def execute_attack(x):
while not attack_flag.is_set():
print("attacking...",x)
time.sleep(1)
x = 1
def on_key_release(key):
global healing_flag, attack_flagi,x
try:
if key == keyboard.Key.down and (not attack_flag.is_set()):
print("Down pressed, initiating healing.")
attack_flag.set()
healing_flag.clear()
threading.Thread(target=execute_healing, args=[x]).start()
elif key == keyboard.Key.up :
print("Up pressed, initiating attack.")
healing_flag.set()
attack_flag.clear()
threading.Thread(target=execute_attack,args=[x]).start()
x+=1
except Exception as e:
print(f"An error occurred: {e}")
with keyboard.Listener(on_release=on_key_release) as listener:
listener.join()
Şöyle bir şey olması gerekiyor.Python:from pynput import keyboard. import threading. import time. healing_active = True. attack_active = True. def start_healing(): global healing_active. while healing_active: print("Healing...") time.sleep(1) def start_attacking(): global attack_active. while attack_active: print("Attacking...") time.sleep(1) def on_key_release(key): global healing_active, attack_active. try: if key == keyboard.Key.f1: print("F1 pressed, healing started.") healing_active = True. attack_active = False. threading.Thread(target=start_healing).start() elif key == keyboard.Key.f5: print("F5 pressed, attacking started.") healing_active = False. attack_active = True. threading.Thread(target=start_attacking).start() except Exception as e: print(f"An error occurred: {e}") with keyboard.Listener(on_release=on_key_release) as listener: listener.join()
Flagler aracılığıyla:
Python:from pynput import keyboard. import threading. import time. healing_flag = threading.Event() attack_flag = threading.Event() def execute_healing(): while not healing_flag.is_set(): print("healing...") time.sleep(1) def execute_attack(): while not attack_flag.is_set(): print("attacking...") time.sleep(1) def on_key_release(key): global healing_flag, attack_flag. try: if key == keyboard.Key.f1: print("F1 pressed, initiating healing.") attack_flag.set() healing_flag.clear() threading.Thread(target=execute_healing).start() elif key == keyboard.Key.f5: print("F5 pressed, initiating attack.") healing_flag.set() attack_flag.clear() threading.Thread(target=execute_attack).start() except Exception as e: print(f"An error occurred: {e}") with keyboard.Listener(on_release=on_key_release) as listener: listener.join()
Merhaba sanırım bot halihazırda saldırı yaparken tekrar F5 tuşuna basıldığında yeni bir thread açmasını engelleyen bir şey yok bu da bilgisayarı yormakla kalmaz attack fonksiyonunun çalışmamasını da sağlayabilir.
Üstteki kod söyledediğimi doğrular nitelikte ve çözümü (sanırım) içeriyor. Up'a her bastığında farklı bir thread oluşturuyor ama Down'da bunu engelleyen bir if statement var.Python:from pynput import keyboard. import threading. import time. healing_flag = threading.Event() attack_flag = threading.Event() def execute_healing(x): while not healing_flag.is_set(): print("healing...",x) time.sleep(1) def execute_attack(x): while not attack_flag.is_set(): print("attacking...",x) time.sleep(1) x = 1 def on_key_release(key): global healing_flag, attack_flagi,x try: if key == keyboard.Key.down and (not attack_flag.is_set()): print("Down pressed, initiating healing.") attack_flag.set() healing_flag.clear() threading.Thread(target=execute_healing, args=[x]).start() elif key == keyboard.Key.up : print("Up pressed, initiating attack.") healing_flag.set() attack_flag.clear() threading.Thread(target=execute_attack,args=[x]).start() x+=1 except Exception as e: print(f"An error occurred: {e}") with keyboard.Listener(on_release=on_key_release) as listener: listener.join()
Not: Genellikle arayüz tasarımıyla uğraştığım için threading kütüphanesini pek kullanmadım arayüz Framework'lerinin kendi thread fonksiyonlarını kullandım o yüzden yanlışım düzeltirseniz sevinirim.
from atack import mob_attack
import time
from hp_mp_control import check_hp, check_mp, set_hpmp_thresholds, check_heal, tanımlanan_hp_siyah_alan_yüzdesi, \
tanımlanan_mp_siyah_alan_yüzdesi, tanımlanan_heal_siyah_alan_yüzdesi, hp_mp_control_process
from interception import interception, MAX_DEVICES, key_stroke, interception_key_state
from multiprocessing import Process
# Fareyi ve klavyeyi bul
context = interception()
keyboard = 0
for i in range(MAX_DEVICES):
if interception.is_keyboard(i):
keyboard = i
break
# Ana işlev
def main():
# HP, MP ve Heal için eşik değerlerini belirleme
set_hpmp_thresholds(70, 80, 30)
# Mob saldırısını gerçekleştiren işlemi başlatma
attack_process = Process(target=mob_attack)
attack_process.start()
# HP ve MP kontrolünü gerçekleştiren işlemi başlatma
hp_mp_process = Process(target=hp_mp_control_process)
hp_mp_process.start()
# Heal işleminin durumunu takip eden bayrak
heal_started = False
# Sonsuz döngü
while True:
# Atak işlemi başlatıldığında can kontrol et
if attack_process.is_alive():
if check_heal() >= tanımlanan_hp_siyah_alan_yüzdesi:
# Can belirli bir eşik değerinin altındaysa, atak işlemi durdur
print("Can azaldı, Attack işlemi durduruluyor...")
attack_process.terminate()
heal_started = True
#z
# Heal işlemi yapıldığında sadece mob saldırısı işlemini duraklat
if check_heal() >= tanımlanan_heal_siyah_alan_yüzdesi:
print("Heal işlemi başlatılıyor...")
# Attack işlemi başlatılmışsa durdur
if heal_started:
print("Attack işlemi durduruluyor...")
attack_process.terminate()
#r2z2zr2zzr2zzzzzzzz
# S tuşuna bas ve bırak
stroke_s_down = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # S tuşu
context.send(keyboard, stroke_s_down)
time.sleep(0.1) # Kısa bir süre beklet
stroke_s_up = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # S tuşu
context.send(keyboard, stroke_s_up)
# Bir süre bekles1zzs1
time.sleep(0.2)
# 1 tuşuna bas ve bırak
stroke_1_down = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 1 tuşu
context.send(keyboard, stroke_1_down)
time.sleep(0.1) # 0.5 saniye basılı tut
stroke_1_up = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 1 tuşu
context.send(keyboard, stroke_1_up)
time.sleep(1.6)
if not attack_process.is_alive():
# Eğer attack işlemi başlatılmamışsa, yeni bir attack işlemi başlat
print("Attack işlemi başlatılıyor...")
heal_started = True
attack_process = Process(target=mob_attack)
attack_process.start()
print("Heal işlemi tamamlandı. Attack işlemi tekrar başlatılıyor...")
heal_started = True
#z
# Eğer iyileştirme işlemi tamamlandıysa ve can belirli bir eşik değerinin altındaysa, iyileştirme işlemi tekrar başlat
if not check_heal() <= tanımlanan_heal_siyah_alan_yüzdesi:
print("Can azaldı, Heal işlemi tekrar başlatılıyor...")
heal_started = False
time.sleep(1) # Bir süre bekle
continue # Döngüyü tekrar başlat
# Sonsuz döngüyü kırma koşulu
if check_heal() <= tanımlanan_heal_siyah_alan_yüzdesi:
print("Heal işlemi tamamlandı. Sonsuz döngüyü kırılıyor...")
break
if __name__ == "__main__":
main()
Kullandığın custom modulelar var? Kütüphanelere ait dosyaları yüklemeden nasıl çözmemizi bekliyorsun. Kod darmadağın,biraz göz attım. Çağırdığın kütüphanedeki fonksiyonların ne yaptığını anlayamadım. GitHub’a yükler misin projeni bir göz atıyım. Ayrıca oyunun adını da söylersen bi deneyebiliriz.Ben bu şekilde yaptım ama verim alamadımç ilk başta heal basıyor ve basarken atack yapmıyor ama sonra atack başlıyor ve heal hiçbir şekilde basmıyor.from atack import mob_attack import time from hp_mp_control import check_hp, check_mp, set_hpmp_thresholds, check_heal, tanımlanan_hp_siyah_alan_yüzdesi, \ tanımlanan_mp_siyah_alan_yüzdesi, tanımlanan_heal_siyah_alan_yüzdesi, hp_mp_control_process from interception import interception, MAX_DEVICES, key_stroke, interception_key_state from multiprocessing import Process # Fareyi ve klavyeyi bul context = interception() keyboard = 0 for i in range(MAX_DEVICES): if interception.is_keyboard(i): keyboard = i break # Ana işlev def main(): # HP, MP ve Heal için eşik değerlerini belirleme set_hpmp_thresholds(70, 80, 30) # Mob saldırısını gerçekleştiren işlemi başlatma attack_process = Process(target=mob_attack) attack_process.start() # HP ve MP kontrolünü gerçekleştiren işlemi başlatma hp_mp_process = Process(target=hp_mp_control_process) hp_mp_process.start() # Heal işleminin durumunu takip eden bayrak heal_started = False # Sonsuz döngü while True: # Atak işlemi başlatıldığında can kontrol et if attack_process.is_alive(): if check_heal() >= tanımlanan_hp_siyah_alan_yüzdesi: # Can belirli bir eşik değerinin altındaysa, atak işlemi durdur print("Can azaldı, Attack işlemi durduruluyor...") attack_process.terminate() heal_started = True #z # Heal işlemi yapıldığında sadece mob saldırısı işlemini duraklat if check_heal() >= tanımlanan_heal_siyah_alan_yüzdesi: print("Heal işlemi başlatılıyor...") # Attack işlemi başlatılmışsa durdur if heal_started: print("Attack işlemi durduruluyor...") attack_process.terminate() #r2z2zr2zzr2zzzzzzzz # S tuşuna bas ve bırak stroke_s_down = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # S tuşu context.send(keyboard, stroke_s_down) time.sleep(0.1) # Kısa bir süre beklet stroke_s_up = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # S tuşu context.send(keyboard, stroke_s_up) # Bir süre bekles1zzs1 time.sleep(0.2) # 1 tuşuna bas ve bırak stroke_1_down = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 1 tuşu context.send(keyboard, stroke_1_down) time.sleep(0.1) # 0.5 saniye basılı tut stroke_1_up = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 1 tuşu context.send(keyboard, stroke_1_up) time.sleep(1.6) if not attack_process.is_alive(): # Eğer attack işlemi başlatılmamışsa, yeni bir attack işlemi başlat print("Attack işlemi başlatılıyor...") heal_started = True attack_process = Process(target=mob_attack) attack_process.start() print("Heal işlemi tamamlandı. Attack işlemi tekrar başlatılıyor...") heal_started = True #z # Eğer iyileştirme işlemi tamamlandıysa ve can belirli bir eşik değerinin altındaysa, iyileştirme işlemi tekrar başlat if not check_heal() <= tanımlanan_heal_siyah_alan_yüzdesi: print("Can azaldı, Heal işlemi tekrar başlatılıyor...") heal_started = False time.sleep(1) # Bir süre bekle continue # Döngüyü tekrar başlat # Sonsuz döngüyü kırma koşulu if check_heal() <= tanımlanan_heal_siyah_alan_yüzdesi: print("Heal işlemi tamamlandı. Sonsuz döngüyü kırılıyor...") break if __name__ == "__main__": main()
Hala sorunu çözemedim.
Ben bu şekilde yaptım ama verim alamadımç ilk başta heal basıyor ve basarken atack yapmıyor ama sonra atack başlıyor ve heal hiçbir şekilde basmıyor.from atack import mob_attack import time from hp_mp_control import check_hp, check_mp, set_hpmp_thresholds, check_heal, tanımlanan_hp_siyah_alan_yüzdesi, \ tanımlanan_mp_siyah_alan_yüzdesi, tanımlanan_heal_siyah_alan_yüzdesi, hp_mp_control_process from interception import interception, MAX_DEVICES, key_stroke, interception_key_state from multiprocessing import Process # Fareyi ve klavyeyi bul context = interception() keyboard = 0 for i in range(MAX_DEVICES): if interception.is_keyboard(i): keyboard = i break # Ana işlev def main(): # HP, MP ve Heal için eşik değerlerini belirleme set_hpmp_thresholds(70, 80, 30) # Mob saldırısını gerçekleştiren işlemi başlatma attack_process = Process(target=mob_attack) attack_process.start() # HP ve MP kontrolünü gerçekleştiren işlemi başlatma hp_mp_process = Process(target=hp_mp_control_process) hp_mp_process.start() # Heal işleminin durumunu takip eden bayrak heal_started = False # Sonsuz döngü while True: # Atak işlemi başlatıldığında can kontrol et if attack_process.is_alive(): if check_heal() >= tanımlanan_hp_siyah_alan_yüzdesi: # Can belirli bir eşik değerinin altındaysa, atak işlemi durdur print("Can azaldı, Attack işlemi durduruluyor...") attack_process.terminate() heal_started = True #z # Heal işlemi yapıldığında sadece mob saldırısı işlemini duraklat if check_heal() >= tanımlanan_heal_siyah_alan_yüzdesi: print("Heal işlemi başlatılıyor...") # Attack işlemi başlatılmışsa durdur if heal_started: print("Attack işlemi durduruluyor...") attack_process.terminate() #r2z2zr2zzr2zzzzzzzz # S tuşuna bas ve bırak stroke_s_down = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # S tuşu context.send(keyboard, stroke_s_down) time.sleep(0.1) # Kısa bir süre beklet stroke_s_up = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # S tuşu context.send(keyboard, stroke_s_up) # Bir süre bekles1zzs1 time.sleep(0.2) # 1 tuşuna bas ve bırak stroke_1_down = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 1 tuşu context.send(keyboard, stroke_1_down) time.sleep(0.1) # 0.5 saniye basılı tut stroke_1_up = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 1 tuşu context.send(keyboard, stroke_1_up) time.sleep(1.6) if not attack_process.is_alive(): # Eğer attack işlemi başlatılmamışsa, yeni bir attack işlemi başlat print("Attack işlemi başlatılıyor...") heal_started = True attack_process = Process(target=mob_attack) attack_process.start() print("Heal işlemi tamamlandı. Attack işlemi tekrar başlatılıyor...") heal_started = True #z # Eğer iyileştirme işlemi tamamlandıysa ve can belirli bir eşik değerinin altındaysa, iyileştirme işlemi tekrar başlat if not check_heal() <= tanımlanan_heal_siyah_alan_yüzdesi: print("Can azaldı, Heal işlemi tekrar başlatılıyor...") heal_started = False time.sleep(1) # Bir süre bekle continue # Döngüyü tekrar başlat # Sonsuz döngüyü kırma koşulu if check_heal() <= tanımlanan_heal_siyah_alan_yüzdesi: print("Heal işlemi tamamlandı. Sonsuz döngüyü kırılıyor...") break if __name__ == "__main__": [/QUOTE] [LIST=1] [*] [*] [/LIST]
from pynput import keyboardimport threading
import time
healing_flag = threading.Event()
attack_flag = threading.Event()
def execute_healing():
while not healing_flag.is_set():
print("Healing...")
time.sleep(1)
def execute_attack():
while not attack_flag.is_set():
print("Attacking...")
time.sleep(1)
def on_key_release(key):
global healing_flag, attack_flag
try:
if key == keyboard.Key.f1:
print("F1 pressed, initiating healing.")
attack_flag.set()
healing_flag.clear()
threading.Thread(target=execute_healing).start()
elif key == keyboard.Key.f5:
print("F5 pressed, initiating attack.")
healing_flag.set()
attack_flag.clear()
threading.Thread(target=execute_attack).start()
except Exception as e:
print(f"An error occurred: {e}")
with keyboard.Listener(on_release=on_key_release) as listener:
listener.join()
Ve senin bu kodunda birşeyi import etmişsin import ettiğin kodu görebilir miyiz ?Ben bu şekilde yaptım ama verim alamadımç ilk başta heal basıyor ve basarken atack yapmıyor ama sonra atack başlıyor ve heal hiçbir şekilde basmıyor.from atack import mob_attack import time from hp_mp_control import check_hp, check_mp, set_hpmp_thresholds, check_heal, tanımlanan_hp_siyah_alan_yüzdesi, \ tanımlanan_mp_siyah_alan_yüzdesi, tanımlanan_heal_siyah_alan_yüzdesi, hp_mp_control_process from interception import interception, MAX_DEVICES, key_stroke, interception_key_state from multiprocessing import Process # Fareyi ve klavyeyi bul context = interception() keyboard = 0 for i in range(MAX_DEVICES): if interception.is_keyboard(i): keyboard = i break # Ana işlev def main(): # HP, MP ve Heal için eşik değerlerini belirleme set_hpmp_thresholds(70, 80, 30) # Mob saldırısını gerçekleştiren işlemi başlatma attack_process = Process(target=mob_attack) attack_process.start() # HP ve MP kontrolünü gerçekleştiren işlemi başlatma hp_mp_process = Process(target=hp_mp_control_process) hp_mp_process.start() # Heal işleminin durumunu takip eden bayrak heal_started = False # Sonsuz döngü while True: # Atak işlemi başlatıldığında can kontrol et if attack_process.is_alive(): if check_heal() >= tanımlanan_hp_siyah_alan_yüzdesi: # Can belirli bir eşik değerinin altındaysa, atak işlemi durdur print("Can azaldı, Attack işlemi durduruluyor...") attack_process.terminate() heal_started = True #z # Heal işlemi yapıldığında sadece mob saldırısı işlemini duraklat if check_heal() >= tanımlanan_heal_siyah_alan_yüzdesi: print("Heal işlemi başlatılıyor...") # Attack işlemi başlatılmışsa durdur if heal_started: print("Attack işlemi durduruluyor...") attack_process.terminate() #r2z2zr2zzr2zzzzzzzz # S tuşuna bas ve bırak stroke_s_down = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # S tuşu context.send(keyboard, stroke_s_down) time.sleep(0.1) # Kısa bir süre beklet stroke_s_up = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # S tuşu context.send(keyboard, stroke_s_up) # Bir süre bekles1zzs1 time.sleep(0.2) # 1 tuşuna bas ve bırak stroke_1_down = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 1 tuşu context.send(keyboard, stroke_1_down) time.sleep(0.1) # 0.5 saniye basılı tut stroke_1_up = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 1 tuşu context.send(keyboard, stroke_1_up) time.sleep(1.6) if not attack_process.is_alive(): # Eğer attack işlemi başlatılmamışsa, yeni bir attack işlemi başlat print("Attack işlemi başlatılıyor...") heal_started = True attack_process = Process(target=mob_attack) attack_process.start() print("Heal işlemi tamamlandı. Attack işlemi tekrar başlatılıyor...") heal_started = True #z # Eğer iyileştirme işlemi tamamlandıysa ve can belirli bir eşik değerinin altındaysa, iyileştirme işlemi tekrar başlat if not check_heal() <= tanımlanan_heal_siyah_alan_yüzdesi: print("Can azaldı, Heal işlemi tekrar başlatılıyor...") heal_started = False time.sleep(1) # Bir süre bekle continue # Döngüyü tekrar başlat # Sonsuz döngüyü kırma koşulu if check_heal() <= tanımlanan_heal_siyah_alan_yüzdesi: print("Heal işlemi tamamlandı. Sonsuz döngüyü kırılıyor...") break if __name__ == "__main__": main()
Hala sorunu çözemedim.
Python:from pynput import keyboardimport threading. import time. healing_flag = threading.Event() attack_flag = threading.Event() def execute_healing(): while not healing_flag.is_set(): print("Healing...") time.sleep(1) def execute_attack(): while not attack_flag.is_set(): print("Attacking...") time.sleep(1) def on_key_release(key): global healing_flag, attack_flag. try: if key == keyboard.Key.f1: print("F1 pressed, initiating healing.") attack_flag.set() healing_flag.clear() threading.Thread(target=execute_healing).start() elif key == keyboard.Key.f5: print("F5 pressed, initiating attack.") healing_flag.set() attack_flag.clear() threading.Thread(target=execute_attack).start() except Exception as e: print(f"An error occurred: {e}") with keyboard.Listener(on_release=on_key_release) as listener: listener.join()
Ve senin bu kodunda bir şeyi import etmişsin import ettiğin kodu görebilir miyiz?
Python:from pynput import keyboardimport threading. import time. healing_flag = threading.Event() attack_flag = threading.Event() def execute_healing(): while not healing_flag.is_set(): print("Healing...") time.sleep(1) def execute_attack(): while not attack_flag.is_set(): print("Attacking...") time.sleep(1) def on_key_release(key): global healing_flag, attack_flag. try: if key == keyboard.Key.f1: print("F1 pressed, initiating healing.") attack_flag.set() healing_flag.clear() threading.Thread(target=execute_healing).start() elif key == keyboard.Key.f5: print("F5 pressed, initiating attack.") healing_flag.set() attack_flag.clear() threading.Thread(target=execute_attack).start() except Exception as e: print(f"An error occurred: {e}") with keyboard.Listener(on_release=on_key_release) as listener: listener.join()
Ve senin bu kodunda bir şeyi import etmişsin import ettiğin kodu görebilir miyiz?
Main.py:
from atack import mob_attack.
import time.
from hp_mp_control import check_hp, check_mp, set_hpmp_thresholds, check_heal, tanımlanan_hp_siyah_alan_yüzdesi, \
tanımlanan_mp_siyah_alan_yüzdesi, tanımlanan_heal_siyah_alan_yüzdesi, hp_mp_control_process
from interception import interception, MAX_DEVICES, key_stroke, interception_key_state
from multiprocessing import Process.
context = interception()
keyboard = 0
for i in range(MAX_DEVICES):
if interception.is_keyboard(i):
keyboard = i
break.
animasyonluskill = False.
def main():
# HP, MP ve Heal için eşik değerlerini belirleme.
set_hpmp_thresholds(70, 80, 30)
# HP ve MP kontrolünü gerçekleştiren işlemi başlatma.
hp_mp_process = Process(target=hp_mp_control_process)
hp_mp_process.start()
# Animasyon kontrolünü gerçekleştiren işlemi başlatma.
# Tek seferlik olarak çağrılıyor.
while True:
animasyonluskil()
if not animasyonluskill: # Animasyonlu skill aktif değilse.
print("Mob saldırısı başlatılıyor...")
mob_attack()
time.sleep(0.1)
print("Mob saldırısı tamamlandı.")
time.sleep(0.1)
def animasyonluskil():
global animasyonluskill.
while True:
if check_heal() >= tanımlanan_heal_siyah_alan_yüzdesi:
print("Animasyonlu true...")
animasyonluskill = True.
# Animasyonlu yeteneği aktive etmek için gerekli işlemler burada yapılacak.
# Örnek: Klavye tuşlarına basarak animasyonu başlat.
stroke_s_down = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # S tuşu.
context.send(keyboard, stroke_s_down)
time.sleep(0.1) # Kısa bir süre beklet.
stroke_s_up = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # S tuşu.
context.send(keyboard, stroke_s_up)
time.sleep(0.2)
stroke_1_down = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 1 tuşu.
context.send(keyboard, stroke_1_down)
time.sleep(0.1) # 0.5 saniye basılı tut.
stroke_1_up = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 1 tuşu.
context.send(keyboard, stroke_1_up)
print("Animasyonlu yetenek aktif hale getirildi.")
time.sleep(1.8)
break.
else:
print("Animasyonlu false..")
animasyonluskill = False.
time.sleep(1)
# main() fonksiyonunu çağırarak işlemi başlatın.
if __name__ == "__main__":
main()
Atack.py
import numpy as np.
import cv2.
import time.
import pyautogui.
from interception import interception, MAX_DEVICES, key_stroke, interception_key_state
from deneme import*
from clicksend import*
# İzlenen alanların koordinatları.
x1_mob, y1_mob = 789, 9 # Mobun isminin izlenen alanın sol üst köşesinin koordinatları.
x2_mob, y2_mob = 1172, 30 # Mobun isminin izlenen alanın sağ alt köşesinin koordinatları.
# Tanımlanan ekran görüntüsünün adı.
tanımlanan_mob_ekran_goruntusu_adı = "mob_names.png"
tanımlanan_mob_kırmızı_piksel_sayısı = 124.
# Kırmızı piksel sayısını hesaplayan fonksiyon (OpenCV kullanılarak güncellendi)
def count_red_pixels(image):
# Kırmızı renk aralığını belirt.
lower_red = np.array([239, 52, 100])
upper_red = np.array([239, 52, 100])
rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# Kırmızı pikselleri içeren maske oluştur.
red_mask = cv2.inRange(rgb_image, lower_red, upper_red)
# Kırmızı piksel sayısını say.
red_pixel_count = cv2.countNonZero(red_mask)
return red_pixel_count.
# Mob saldırısı gerçekleştirme işlevi.
def mob_attack():
# Ana döngü.
# Fareyi ve klavyeyi bul.
context = interception()
keyboard = 0
for i in range(MAX_DEVICES):
if interception.is_keyboard(i):
keyboard = i
break.
try:
while True:
# Z tuşuna bas.
stroke_z_down = key_stroke(0x2C, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # Z tuşu.
context.send(keyboard, stroke_z_down)
time.sleep(0.5) # Kısa bir süre beklet.
stroke_z_up = key_stroke(0x2C, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # Z tuşu.
context.send(keyboard, stroke_z_up)
# Ekran görüntüsünü al.
game_screenshot_mob = np.array(pyautogui.screenshot(region=(x1_mob, y1_mob, x2_mob - x1_mob, y2_mob - y1_mob)))
game_screenshot_mob = cv2.cvtColor(game_screenshot_mob, cv2.COLOR_RGB2BGR)
# Belirtilen bölgedeki kırmızı piksellerin sayısını hesapla.
red_pixel_count_mob = count_red_pixels(game_screenshot_mob)
print("Oyundaki belirtilen bölgedeki kırmızı piksellerin sayısı:", red_pixel_count_mob)
# Tanımlanan resimdeki kırmızı piksel sayısıyla eşleşip eşleşmediğini kontrol et.
if red_pixel_count_mob >= tanımlanan_mob_kırmızı_piksel_sayısı:
print("Eşleşme bulundu. Atack yapılabilir.")
# Atack işlemini gerçekleştir.
stroke_r_down = key_stroke(0x13, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # R tuşu.
context.send(keyboard, stroke_r_down)
time.sleep(0.08) # 130 ms beklet.
stroke_r_up = key_stroke(0x13, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # R tuşu.
context.send(keyboard, stroke_r_up)
time.sleep(0.035) # 35 ms beklet.
stroke_2_down = key_stroke(0x03, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 2 tuşu.
context.send(keyboard, stroke_2_down)
time.sleep(0.06) # 130 ms beklet.
stroke_2_up = key_stroke(0x03, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 2 tuşu.
context.send(keyboard, stroke_2_up)
time.sleep(0.05) # 50 ms beklet.
else:
print("Eşleşme bulunamadı. Atack başlatılamaz.")
time.sleep(1) # Bekleme süresi eklendi.
except KeyboardInterrupt:
print("İşlem kullanıcı tarafından sonlandırıldı.")
hpmpcontrol.py
import numpy as np.
import cv2.
import time.
import pyautogui.
from interception import interception, MAX_DEVICES, key_stroke, interception_key_state
from deneme import*
from clicksend import*
# İzlenen alanların koordinatları.
x1_mob, y1_mob = 789, 9 # Mobun isminin izlenen alanın sol üst köşesinin koordinatları.
x2_mob, y2_mob = 1172, 30 # Mobun isminin izlenen alanın sağ alt köşesinin koordinatları.
# Tanımlanan ekran görüntüsünün adı.
tanımlanan_mob_ekran_goruntusu_adı = "mob_names.png"
tanımlanan_mob_kırmızı_piksel_sayısı = 124.
# Kırmızı piksel sayısını hesaplayan fonksiyon (OpenCV kullanılarak güncellendi)
def count_red_pixels(image):
# Kırmızı renk aralığını belirt.
lower_red = np.array([239, 52, 100])
upper_red = np.array([239, 52, 100])
rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# Kırmızı pikselleri içeren maske oluştur.
red_mask = cv2.inRange(rgb_image, lower_red, upper_red)
# Kırmızı piksel sayısını say.
red_pixel_count = cv2.countNonZero(red_mask)
return red_pixel_count.
# Mob saldırısı gerçekleştirme işlevi.
def mob_attack():
# Ana döngü.
# Fareyi ve klavyeyi bul.
context = interception()
keyboard = 0
for i in range(MAX_DEVICES):
if interception.is_keyboard(i):
keyboard = i
break.
try:
while True:
# Z tuşuna bas.
stroke_z_down = key_stroke(0x2C, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # Z tuşu.
context.send(keyboard, stroke_z_down)
time.sleep(0.5) # Kısa bir süre beklet.
stroke_z_up = key_stroke(0x2C, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # Z tuşu.
context.send(keyboard, stroke_z_up)
# Ekran görüntüsünü al.
game_screenshot_mob = np.array(pyautogui.screenshot(region=(x1_mob, y1_mob, x2_mob - x1_mob, y2_mob - y1_mob)))
game_screenshot_mob = cv2.cvtColor(game_screenshot_mob, cv2.COLOR_RGB2BGR)
# Belirtilen bölgedeki kırmızı piksellerin sayısını hesapla.
red_pixel_count_mob = count_red_pixels(game_screenshot_mob)
print("Oyundaki belirtilen bölgedeki kırmızı piksellerin sayısı:", red_pixel_count_mob)
# Tanımlanan resimdeki kırmızı piksel sayısıyla eşleşip eşleşmediğini kontrol et.
if red_pixel_count_mob >= tanımlanan_mob_kırmızı_piksel_sayısı:
print("Eşleşme bulundu. Atack yapılabilir.")
# Atack işlemini gerçekleştir.
stroke_r_down = key_stroke(0x13, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # R tuşu.
context.send(keyboard, stroke_r_down)
time.sleep(0.08) # 130 ms beklet.
stroke_r_up = key_stroke(0x13, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # R tuşu.
context.send(keyboard, stroke_r_up)
time.sleep(0.035) # 35 ms beklet.
stroke_2_down = key_stroke(0x03, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 2 tuşu.
context.send(keyboard, stroke_2_down)
time.sleep(0.06) # 130 ms beklet.
stroke_2_up = key_stroke(0x03, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 2 tuşu.
context.send(keyboard, stroke_2_up)
time.sleep(0.05) # 50 ms beklet.
else:
print("Eşleşme bulunamadı. Atack başlatılamaz.")
time.sleep(1) # Bekleme süresi eklendi.
except KeyboardInterrupt:
print("İşlem kullanıcı tarafından sonlandırıldı.")
from atack import mob_attackPython:Main.py: from atack import mob_attack. import time. from hp_mp_control import check_hp, check_mp, set_hpmp_thresholds, check_heal, tanımlanan_hp_siyah_alan_yüzdesi, \ tanımlanan_mp_siyah_alan_yüzdesi, tanımlanan_heal_siyah_alan_yüzdesi, hp_mp_control_process from interception import interception, MAX_DEVICES, key_stroke, interception_key_state from multiprocessing import Process. context = interception() keyboard = 0 for i in range(MAX_DEVICES): if interception.is_keyboard(i): keyboard = i break. animasyonluskill = False. def main(): # HP, MP ve Heal için eşik değerlerini belirleme. set_hpmp_thresholds(70, 80, 30) # HP ve MP kontrolünü gerçekleştiren işlemi başlatma. hp_mp_process = Process(target=hp_mp_control_process) hp_mp_process.start() # Animasyon kontrolünü gerçekleştiren işlemi başlatma. # Tek seferlik olarak çağrılıyor. while True: animasyonluskil() if not animasyonluskill: # Animasyonlu skill aktif değilse. print("Mob saldırısı başlatılıyor...") mob_attack() time.sleep(0.1) print("Mob saldırısı tamamlandı.") time.sleep(0.1) def animasyonluskil(): global animasyonluskill. while True: if check_heal() >= tanımlanan_heal_siyah_alan_yüzdesi: print("Animasyonlu true...") animasyonluskill = True. # Animasyonlu yeteneği aktive etmek için gerekli işlemler burada yapılacak. # Örnek: Klavye tuşlarına basarak animasyonu başlat. stroke_s_down = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # S tuşu. context.send(keyboard, stroke_s_down) time.sleep(0.1) # Kısa bir süre beklet. stroke_s_up = key_stroke(0x1F, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # S tuşu. context.send(keyboard, stroke_s_up) time.sleep(0.2) stroke_1_down = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 1 tuşu. context.send(keyboard, stroke_1_down) time.sleep(0.1) # 0.5 saniye basılı tut. stroke_1_up = key_stroke(0x02, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 1 tuşu. context.send(keyboard, stroke_1_up) print("Animasyonlu yetenek aktif hale getirildi.") time.sleep(1.8) break. else: print("Animasyonlu false..") animasyonluskill = False. time.sleep(1) # main() fonksiyonunu çağırarak işlemi başlatın. if __name__ == "__main__": main()
Python:Atack.py import numpy as np. import cv2. import time. import pyautogui. from interception import interception, MAX_DEVICES, key_stroke, interception_key_state from deneme import* from clicksend import* # İzlenen alanların koordinatları. x1_mob, y1_mob = 789, 9 # Mobun isminin izlenen alanın sol üst köşesinin koordinatları. x2_mob, y2_mob = 1172, 30 # Mobun isminin izlenen alanın sağ alt köşesinin koordinatları. # Tanımlanan ekran görüntüsünün adı. tanımlanan_mob_ekran_goruntusu_adı = "mob_names.png" tanımlanan_mob_kırmızı_piksel_sayısı = 124. # Kırmızı piksel sayısını hesaplayan fonksiyon (OpenCV kullanılarak güncellendi) def count_red_pixels(image): # Kırmızı renk aralığını belirt. lower_red = np.array([239, 52, 100]) upper_red = np.array([239, 52, 100]) rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Kırmızı pikselleri içeren maske oluştur. red_mask = cv2.inRange(rgb_image, lower_red, upper_red) # Kırmızı piksel sayısını say. red_pixel_count = cv2.countNonZero(red_mask) return red_pixel_count. # Mob saldırısı gerçekleştirme işlevi. def mob_attack(): # Ana döngü. # Fareyi ve klavyeyi bul. context = interception() keyboard = 0 for i in range(MAX_DEVICES): if interception.is_keyboard(i): keyboard = i break. try: while True: # Z tuşuna bas. stroke_z_down = key_stroke(0x2C, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # Z tuşu. context.send(keyboard, stroke_z_down) time.sleep(0.5) # Kısa bir süre beklet. stroke_z_up = key_stroke(0x2C, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # Z tuşu. context.send(keyboard, stroke_z_up) # Ekran görüntüsünü al. game_screenshot_mob = np.array(pyautogui.screenshot(region=(x1_mob, y1_mob, x2_mob - x1_mob, y2_mob - y1_mob))) game_screenshot_mob = cv2.cvtColor(game_screenshot_mob, cv2.COLOR_RGB2BGR) # Belirtilen bölgedeki kırmızı piksellerin sayısını hesapla. red_pixel_count_mob = count_red_pixels(game_screenshot_mob) print("Oyundaki belirtilen bölgedeki kırmızı piksellerin sayısı:", red_pixel_count_mob) # Tanımlanan resimdeki kırmızı piksel sayısıyla eşleşip eşleşmediğini kontrol et. if red_pixel_count_mob >= tanımlanan_mob_kırmızı_piksel_sayısı: print("Eşleşme bulundu. Atack yapılabilir.") # Atack işlemini gerçekleştir. stroke_r_down = key_stroke(0x13, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # R tuşu. context.send(keyboard, stroke_r_down) time.sleep(0.08) # 130 ms beklet. stroke_r_up = key_stroke(0x13, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # R tuşu. context.send(keyboard, stroke_r_up) time.sleep(0.035) # 35 ms beklet. stroke_2_down = key_stroke(0x03, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 2 tuşu. context.send(keyboard, stroke_2_down) time.sleep(0.06) # 130 ms beklet. stroke_2_up = key_stroke(0x03, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 2 tuşu. context.send(keyboard, stroke_2_up) time.sleep(0.05) # 50 ms beklet. else: print("Eşleşme bulunamadı. Atack başlatılamaz.") time.sleep(1) # Bekleme süresi eklendi. except KeyboardInterrupt: print("İşlem kullanıcı tarafından sonlandırıldı.")
Python:hpmpcontrol.py import numpy as np. import cv2. import time. import pyautogui. from interception import interception, MAX_DEVICES, key_stroke, interception_key_state from deneme import* from clicksend import* # İzlenen alanların koordinatları. x1_mob, y1_mob = 789, 9 # Mobun isminin izlenen alanın sol üst köşesinin koordinatları. x2_mob, y2_mob = 1172, 30 # Mobun isminin izlenen alanın sağ alt köşesinin koordinatları. # Tanımlanan ekran görüntüsünün adı. tanımlanan_mob_ekran_goruntusu_adı = "mob_names.png" tanımlanan_mob_kırmızı_piksel_sayısı = 124. # Kırmızı piksel sayısını hesaplayan fonksiyon (OpenCV kullanılarak güncellendi) def count_red_pixels(image): # Kırmızı renk aralığını belirt. lower_red = np.array([239, 52, 100]) upper_red = np.array([239, 52, 100]) rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Kırmızı pikselleri içeren maske oluştur. red_mask = cv2.inRange(rgb_image, lower_red, upper_red) # Kırmızı piksel sayısını say. red_pixel_count = cv2.countNonZero(red_mask) return red_pixel_count. # Mob saldırısı gerçekleştirme işlevi. def mob_attack(): # Ana döngü. # Fareyi ve klavyeyi bul. context = interception() keyboard = 0 for i in range(MAX_DEVICES): if interception.is_keyboard(i): keyboard = i break. try: while True: # Z tuşuna bas. stroke_z_down = key_stroke(0x2C, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # Z tuşu. context.send(keyboard, stroke_z_down) time.sleep(0.5) # Kısa bir süre beklet. stroke_z_up = key_stroke(0x2C, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # Z tuşu. context.send(keyboard, stroke_z_up) # Ekran görüntüsünü al. game_screenshot_mob = np.array(pyautogui.screenshot(region=(x1_mob, y1_mob, x2_mob - x1_mob, y2_mob - y1_mob))) game_screenshot_mob = cv2.cvtColor(game_screenshot_mob, cv2.COLOR_RGB2BGR) # Belirtilen bölgedeki kırmızı piksellerin sayısını hesapla. red_pixel_count_mob = count_red_pixels(game_screenshot_mob) print("Oyundaki belirtilen bölgedeki kırmızı piksellerin sayısı:", red_pixel_count_mob) # Tanımlanan resimdeki kırmızı piksel sayısıyla eşleşip eşleşmediğini kontrol et. if red_pixel_count_mob >= tanımlanan_mob_kırmızı_piksel_sayısı: print("Eşleşme bulundu. Atack yapılabilir.") # Atack işlemini gerçekleştir. stroke_r_down = key_stroke(0x13, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # R tuşu. context.send(keyboard, stroke_r_down) time.sleep(0.08) # 130 ms beklet. stroke_r_up = key_stroke(0x13, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # R tuşu. context.send(keyboard, stroke_r_up) time.sleep(0.035) # 35 ms beklet. stroke_2_down = key_stroke(0x03, interception_key_state.INTERCEPTION_KEY_DOWN.value, 0) # 2 tuşu. context.send(keyboard, stroke_2_down) time.sleep(0.06) # 130 ms beklet. stroke_2_up = key_stroke(0x03, interception_key_state.INTERCEPTION_KEY_UP.value, 0) # 2 tuşu. context.send(keyboard, stroke_2_up) time.sleep(0.05) # 50 ms beklet. else: print("Eşleşme bulunamadı. Atack başlatılamaz.") time.sleep(1) # Bekleme süresi eklendi. except KeyboardInterrupt: print("İşlem kullanıcı tarafından sonlandırıldı.")
main.py çalıştırıyorum animsayonskili kullandıgı zaman atack yapmaması lazım ama hep sorun çıkıyor. Ya 1 kere animasyon skille canımı fulleyip sonra atack başlatıyor ve bir daha hiç animasyon skili kontrol etmiyor ya da atack hiç başlatamıyorum.
From atack import mob_attack.
From hp_mp_control import check_hp, check_mp, set_hpmp_thresholds, check_heal, tanımlanan_hp_siyah_alan_yüzdesi, \
Tanımlanan_mp_siyah_alan_yüzdesi, tanımlanan_heal_siyah_alan_yüzdesi, hp_mp_control_process
From interception import interception, max_devıces, key_stroke, interception_key_state
Bunların hiçbiri kodunda yok bunların olduğu bir kod olması lazım ki bunları import edebilesin bu kod tabii ki çalışmayacak.
Şimdi geldi daha demin gözükmüyordu.3 tane farklı script yolladım.