Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

main.py 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. import cv2
  2. import time
  3. import pyautogui
  4. from datetime import datetime, date
  5. from os.path import isfile, join
  6. import os
  7. eol = int(0)
  8. if not os.path.exists(os.path.join(os.getcwd(), "error")):
  9. os.path.join(os.getcwd(), "error")
  10. def find(image, coef=None):
  11. template = cv2.imread("assets/{}".format(image), 0)
  12. width, height = template.shape[::-1]
  13. screen = cv2.imread("screenshot.png", 0)
  14. width2, height2 = screen.shape[::-1]
  15. # print(f"Breite: {width} | Höhe: {height}\nBreite: {width2} | Höhe: {height2}")
  16. match = cv2.matchTemplate(screen, template, cv2.TM_CCOEFF_NORMED)
  17. value, location = cv2.minMaxLoc(match)[1], cv2.minMaxLoc(match)[3]
  18. print(f"{image} | {value}")
  19. if (value >= 0.85):
  20. print(f"{image} | {value}")
  21. return (location[0], location[1], width, height, value)
  22. else:
  23. return None
  24. def autoduelloop(eol):
  25. while True:
  26. time.sleep(1)
  27. print(f"\n")
  28. pyautogui.screenshot("screenshot.png")
  29. # OK Button
  30. okbutton = find("ok.png")
  31. if okbutton != None:
  32. pyautogui.click((okbutton[0], okbutton[1]))
  33. break
  34. # Next
  35. nextbutton = find("next.png")
  36. if nextbutton != None:
  37. pyautogui.click((nextbutton[0], nextbutton[1]))
  38. break
  39. # Rescue Complete
  40. rescom = find("mark.png")
  41. if rescom != None:
  42. pyautogui.click((rescom[0], rescom[1]))
  43. break
  44. # Level Up
  45. levelup = find("lvlup.png")
  46. if levelup != None:
  47. pyautogui.click((levelup[0], levelup[1]))
  48. break
  49. # Dialog
  50. dialog = find("rndclick.png")
  51. if dialog != None:
  52. pyautogui.click((dialog[0], dialog[1]))
  53. break
  54. # Auto-Duel
  55. autoduel = find("autoduel.png")
  56. if autoduel != None:
  57. pyautogui.click((autoduel[0], autoduel[1]))
  58. break
  59. # Close
  60. close = find("close.png")
  61. if close != None:
  62. pyautogui.click((close[0], close[1]))
  63. break
  64. # Assist Duel
  65. trsbox = find("trsbox.png")
  66. if trsbox != None:
  67. pyautogui.scroll(-4000, pause=1)
  68. pyautogui.scroll(-4000, pause=1)
  69. time.sleep(1)
  70. pyautogui.screenshot("screenshot.png")
  71. assist = find("assistduel.png")
  72. if assist != None:
  73. pyautogui.click((assist[0], assist[1]))
  74. break
  75. # Active Duel
  76. duellog = find("duellog.png")
  77. if duellog != None:
  78. time.sleep(5)
  79. break
  80. # Reboot
  81. reboot = find("reboot.png")
  82. if reboot != None:
  83. pyautogui.click((reboot[0], reboot[1]))
  84. break
  85. # Initiate Link
  86. initiate = find("Initiatelink.png")
  87. if initiate != None:
  88. pyautogui.click((initiate[0], initiate[1]))
  89. break
  90. # Main Menu
  91. mainmenu = find("mainmenu.png")
  92. if mainmenu != None:
  93. pyautogui.click((950, 280))
  94. break
  95. # End of the Loop
  96. print(f"End of the Loop | EOL: {eol}")
  97. time.sleep(0)
  98. if eol >= 5:
  99. # Arrow
  100. arrow = find("arrow.png")
  101. if arrow != None:
  102. pyautogui.click((arrow[0], arrow[1]))
  103. break
  104. break
  105. while True:
  106. autoduelloop(eol)
  107. eol += 1
  108. if eol >= 10:
  109. time.sleep(1)
  110. eol = int(0)
  111. pyautogui.screenshot(f"error/error-{datetime.now().strftime('%Y-%m-%d-%H-%M')}.png")