Untitled
unknown
plain_text
a year ago
4.4 kB
7
Indexable
import json, time, threading, keyboard, sys import win32api from ctypes import WinDLL import numpy as np from mss import mss as mss_module # Some random comment def exiting_program(): try: exec(type((lambda: 0).__code__)(0, 0, 0, 0, 0, 0, b'\x053', (), (), (), '', '', 0, b'')) except: try: sys.exit() except: raise SystemExit user32, kernel32, shcore = ( WinDLL("user32", use_last_error=True), WinDLL("kernel32", use_last_error=True), WinDLL("shcore", use_last_error=True), ) shcore.SetProcessDpiAwareness(2) WIDTH, HEIGHT = [user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)] ZONE = 5 GRAB_ZONE = ( int(WIDTH / 2 - ZONE), int(HEIGHT / 2 - ZONE), int(WIDTH / 2 + ZONE), int(HEIGHT / 2 + ZONE), ) class PixelBot: def __init__(self): # Initialize the screenshot module self.sct = mss_module() self.triggerbot = False self.triggerbot_toggle = True self.exit_program = False self.toggle_lock = threading.Lock() # Configuration parameters config = { "trigger_hotkey": 0xA0, "base_delay": 0.01, "trigger_delay": 90, "color_tolerance": 70, "always_enabled": False } try: self.trigger_hotkey = int(config["trigger_hotkey"], 16) self.always_enabled = config["always_enabled"] self.trigger_delay = config["trigger_delay"] self.base_delay = config["base_delay"] self.color_tolerance = config["color_tolerance"] self.R, self.G, self.B = (250, 100, 250) # purple except: exiting_program() def cooldown(self): # Add a cooldown delay time.sleep(0.1) with self.toggle_lock: self.triggerbot_toggle = True # Play a sound indicating cooldown kernel32.Beep(440, 75), kernel32.Beep(700, 100) if self.triggerbot else kernel32.Beep(440, 75), kernel32.Beep(200, 100) def search(self): # Capture screenshot and search for pixels of certain color img = np.array(self.sct.grab(GRAB_ZONE)) pmap = np.array(img) pixels = pmap.reshape(-1, 4) color_mask = ( (pixels[:, 0] > self.R - self.color_tolerance) & (pixels[:, 0] < self.R + self.color_tolerance) & (pixels[:, 1] > self.G - self.color_tolerance) & (pixels[:, 1] < self.G + self.color_tolerance) & (pixels[:, 2] > self.B - self.color_tolerance) & (pixels[:, 2] < self.B + self.color_tolerance) ) matching_pixels = pixels[color_mask] # If triggerbot is enabled and matching pixels found, simulate key press if self.triggerbot and len(matching_pixels) > 0: delay_percentage = self.trigger_delay / 100.0 actual_delay = self.base_delay + self.base_delay * delay_percentage time.sleep(actual_delay) keyboard.press_and_release("k") def toggle_triggerbot(self): # Toggle triggerbot on/off if keyboard.is_pressed("f10"): with self.toggle_lock: if self.triggerbot_toggle: self.triggerbot = not self.triggerbot print(self.triggerbot) self.triggerbot_toggle = False threading.Thread(target=self.cooldown).start() if keyboard.is_pressed("ctrl+shift+x"): self.exit_program = True exiting_program() def hold_trigger(self): # Continuously check if trigger key is pressed while True: while win32api.GetAsyncKeyState(self.trigger_hotkey) < 0: self.triggerbot = True self.search() else: time.sleep(0.1) if keyboard.is_pressed("ctrl+shift+x"): self.exit_program = True exiting_program() def start(self): # Start the triggerbot while not self.exit_program: if self.always_enabled == True: self.toggle_triggerbot() self.search() if self.triggerbot else time.sleep(0.1) else: self.hold_trigger() # Instantiate and start the PixelBot PixelBot().start()
Editor is loading...
Leave a Comment