import tkinter as tk import json, os, keyboard, time, requests, base64, ctypes, sys, wmi, datetime from io import BytesIO from PIL import ImageGrab, ImageTk, Image from pynput import mouse from ctypes import WinDLL from cheese import * NEPHRITIS_BUILD = "ARDUINO" keyboard_key_vk_codes = { '1': "0x31", '2': "0x32", '3': "0x33", '4': "0x34", '5': "0x35", '6': "0x36", '7': "0x37", '8': "0x38", '9': "0x39", '0': "0x30", 'a': "0x41", 'b': "0x42", 'c': "0x43", 'd': "0x44", 'e': "0x45", 'f': "0x46", 'g': "0x47", 'h': "0x48", 'i': "0x49", 'j': "0x4A", 'k': "0x4B", 'l': "0x4C", 'm': "0x4D", 'n': "0x4E", 'o': "0x4F", 'p': "0x50", 'q': "0x51", 'r': "0x52", 's': "0x53", 't': "0x54", 'u': "0x55", 'v': "0x56", 'w': "0x57", 'x': "0x58", 'y': "0x59", 'z': "0x5A", 'tab': "0x09", 'caps_lock':"0x14", 'shift_l':"0xA0", 'shift_r':"0xA1", 'control_l':"0xA2", 'control_r':"0xA3", 'alt_l':"0xA4", "alt_r":"0xA5", "space":"0x20" } class CustomButton: def __init__(self, canvas, x, y, width, height, corner_radius, fill_color, text, on_change): self.canvas = canvas self.x = x self.y = y self.width = width self.height = height self.corner_radius = corner_radius self.fill_color = fill_color self.text = text self.on_change = on_change self.component_ids = [] self.draw_rounded_rectangle() self.center_x = self.x + self.width / 2 self.center_y = self.y + self.height / 2 self.text_id = self.canvas.create_text(self.center_x, self.center_y, text=self.text, fill="white", font=("Helvetica", 12)) self.canvas.bind("", self.button_click) def draw_rounded_rectangle(self): self.component_ids.append(self.canvas.create_rectangle( self.x + self.corner_radius, self.y, self.x + self.width - self.corner_radius, self.y + self.height, fill=self.fill_color, outline=self.fill_color )) self.component_ids.append(self.canvas.create_rectangle( self.x, self.y + self.corner_radius, self.x + self.width, self.y + self.height - self.corner_radius, fill=self.fill_color, outline=self.fill_color )) self.component_ids.append(self.canvas.create_arc( self.x, self.y, self.x + self.corner_radius * 2, self.y + self.corner_radius * 2, start=90, extent=90, fill=self.fill_color, outline=self.fill_color )) self.component_ids.append(self.canvas.create_arc( self.x + self.width - self.corner_radius * 2, self.y, self.x + self.width, self.y + self.corner_radius * 2, start=0, extent=90, fill=self.fill_color, outline=self.fill_color )) self.component_ids.append(self.canvas.create_arc( self.x, self.y + self.height - self.corner_radius * 2, self.x + self.corner_radius * 2, self.y + self.height, start=180, extent=90, fill=self.fill_color, outline=self.fill_color )) self.component_ids.append(self.canvas.create_arc( self.x + self.width - self.corner_radius * 2, self.y + self.height - self.corner_radius * 2, self.x + self.width, self.y + self.height, start=270, extent=90, fill=self.fill_color, outline=self.fill_color )) def button_click(self, event): if self.is_inside_button(event): print("Button Clicked!") time.sleep(0.5) self.set_hotkey() def set_hotkey(self): self.canvas.focus_set() self.canvas.bind("", self.handle_keypress) self.mouse_listener = mouse.Listener(on_click=self.handle_mouse_click) self.mouse_listener.start() def handle_keypress(self, event): if event.keysym.lower() == 'escape': self.canvas.unbind("") self.mouse_listener.stop() else: hotkey = event.keysym.lower() vk_code = get_keyboard_key_vk_code(hotkey) if vk_code != -1: self.canvas.unbind("") self.mouse_listener.stop() print(f"Hotkey set to: {hotkey} (VK Code: {vk_code})") self.set_text(vk_code) self.on_change(vk_code) else: print("cock") def handle_mouse_click(self, x, y, button, pressed): if not pressed: return # mapped mouse keys button_vk_codes = { mouse.Button.left: "0x01", mouse.Button.right: "0x02", mouse.Button.middle: "0x04", mouse.Button.x1: "0x05", mouse.Button.x2: "0x06", } button_name = { mouse.Button.left: "left", mouse.Button.right: "right", mouse.Button.middle: "middle", mouse.Button.x1: "x1", mouse.Button.x2: "x2", }.get(button, "unknown") vk_code = button_vk_codes.get(button, -1) if vk_code != -1: hotkey = f"Mouse {button_name}" keyboard.unhook_all() self.mouse_listener.stop() print(f"Hotkey set to: {hotkey} (VK Code: {vk_code})") self.set_text(vk_code) self.on_change(vk_code) def button_delete(self,event): self.canvas.unbind("") self.canvas.delete(self.text_id) for item_id in self.component_ids: self.canvas.delete(item_id) def set_text(self, new_text): self.text = new_text self.canvas.itemconfig(self.text_id, text=self.text) def is_inside_button(self, event): return self.x <= event.x <= self.x + self.width and self.y <= event.y <= self.y + self.height def get_keyboard_key_vk_code(key): return keyboard_key_vk_codes.get(key, -1) class CustomSlider(tk.Canvas): def __init__(self, master, width, height, min_value, max_value, initial_value, value_format="raw", on_value_change=None): super().__init__(master, width=width, height=height, highlightthickness=0) self.min_value = min_value self.max_value = max_value self.value = initial_value self.on_value_change = on_value_change self.value_format = value_format self.width = width self.height = height self.background_color = "#D9D9D9" self.fill_color = "#DE2828" self.text_color = "#000000" self.corner_radius = 10 self.slider_width = 10 self.slider_height = height self.create_rounded_rectangle(0, 0, width, height, self.corner_radius, fill=self.background_color, outline="") self.slider_handle = self.create_rectangle(0, 0, self.slider_width, self.slider_height, fill=self.fill_color, outline="") self.fill_rectangle = self.create_rectangle(0, 0, 0, self.slider_height, fill=self.fill_color, outline="") if self.value_format == "raw": self.value_text = self.create_text(width, height // 2, anchor="e", fill=self.text_color, font=("Inter Bold", 10)) elif self.value_format == "raw2": self.value_text = self.create_text(width, height // 2, anchor="e", fill=self.text_color, font=("Inter Bold", 10)) elif self.value_format == "percentage": self.value_text = self.create_text(width, height // 2, anchor="e", fill=self.text_color, font=("Inter Bold", 10)) elif self.value_format == "integer": self.value_text = self.create_text(width, height // 2, anchor="e", fill=self.text_color, font=("Inter Bold", 10)) self.bind("", self.on_click) self.bind("", self.on_drag) self.move_slider_to_value() def create_rounded_rectangle(self, x1, y1, x2, y2, radius, **kwargs): self.create_arc(x1, y1, x1 + 2 * radius, y1 + 2 * radius, start=90, extent=90, **kwargs) self.create_arc(x2 - 2 * radius, y1, x2, y1 + 2 * radius, start=0, extent=90, **kwargs) self.create_arc(x1, y2 - 2 * radius, x1 + 2 * radius, y2, start=180, extent=90, **kwargs) self.create_arc(x2 - 2 * radius, y2 - 2 * radius, x2, y2, start=270, extent=90, **kwargs) self.create_rectangle(x1 + radius, y1, x2 - radius, y2, **kwargs) def on_click(self, event): self.set_value(event.x) self.move_slider_to_value() def on_drag(self, event): self.set_value(event.x) self.move_slider_to_value() def set_value(self, x): normalized_x = max(0, min(x, self.winfo_width())) self.value = (normalized_x / self.winfo_width()) * (self.max_value - self.min_value) + self.min_value if self.on_value_change: self.on_value_change(self.value) def move_slider_to_value(self): x = (self.value - self.min_value) / (self.max_value - self.min_value) * self.width #print(x) #print(self.winfo_width()) self.coords(self.slider_handle, x, 0, x + self.slider_width, self.slider_height) fill_width = x #print(fill_width) self.coords(self.fill_rectangle, 0, 0, fill_width, self.slider_height) if self.value_format == "raw": value_display = f"{self.value:.4f}" elif self.value_format == "raw2": value_display = f"{self.value:.2f}" elif self.value_format == "percentage": value_display = f"{int(self.value * 100)}%" elif self.value_format == "integer": value_display = str(int(self.value)) self.itemconfig(self.value_text, text=value_display) class CheatGUI: def __init__(self, root): self.content_elements = {} self.root = root self.root.geometry("633x384") self.root.configure(bg="#0F1014") self.config_path = "config.json" self.canvas = tk.Canvas( self.root, bg="#0F1014", height=384, width=633, bd=0, highlightthickness=0, relief="ridge" ) self.canvas.place(x=0, y=0) self.image_image_1 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/QfTV6yD/image-1.png")) self.image_1 = self.canvas.create_image( 195.0, 190.0, image=self.image_image_1 ) self.button_image_1 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/Lvx7DHX/button-1.png")) self.button_1 = tk.Button( self.canvas, image=self.button_image_1, borderwidth=0, highlightthickness=0, command=self.run_cheese, relief="flat" ) self.button_1.place( x=310.0, y=333.0, width=63.0, height=38.0 ) self.button_image_2 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/C89QRmD/button-2.png")) self.button_2 = tk.Button( self.canvas, image=self.button_image_2, borderwidth=0, highlightthickness=0, command=self.load_content_1, relief="flat" ) self.button_2.place( x=9.0, y=16.0, width=111.0, height=55.0 ) self.button_image_3 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/C180syT/button-3.png")) self.button_3 = tk.Button( self.canvas, image=self.button_image_3, borderwidth=0, highlightthickness=0, command=self.load_content_2, relief="flat" ) self.button_3.place( x=5.0, y=82.0, width=111.0, height=55.0 ) self.button_image_4 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/1rgcqqc/button-4.png")) self.button_4 = tk.Button( self.canvas, image=self.button_image_4, borderwidth=0, highlightthickness=0, command=self.load_content_3, relief="flat" ) self.button_4.place( x=5.0, y=150.0, width=111.0, height=55.0 ) self.button_image_5 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/9pn2QBV/button-5.png")) self.button_5 = tk.Button( self.canvas, image=self.button_image_5, borderwidth=0, highlightthickness=0, command=self.load_content_4, relief="flat" ) self.button_5.place( x=4.0, y=213.0, width=111.0, height=55.0 ) self.load_images() self.load_config() self.load_content_1() self.drag_region = (0, 0, 633, 2) self._drag_data = {"x": 0, "y": 0, "dragging": False} self.root.bind("", self.startmove) self.root.bind("", self.stopmove) self.root.bind("", self.onmove) def load_config(self): with open(self.config_path) as json_file: data = json.load(json_file) try: self.enable_triggerbot = data["triggerbot"]["enable_triggerbot"] self.trigger_hotkey = data["triggerbot"]["trigger_hotkey"] self.trigger_delay = data["triggerbot"]["trigger_delay"] self.base_delay = data["triggerbot"]["base_delay"] self.always_enabled = data["triggerbot"]["always_enabled"] self.color_tolerance = data["triggerbot"]["color_tolerance"] self.enable_aimbot = data["aimbot"]["enable_aimbot"] self.enable_rcs = data["aimbot"]["enable_rcs"] self.x_only = data["aimbot"]["x_only"] self.aimbot_hotkey = data["aimbot"]["aimbot_hotkey"] self.experimental_filtering = data["aimbot"]["experimental_filtering"] self.anti_astra = data["aimbot"]["anti_astra"] self.x_fov = data["aimbot"]["x_fov"] self.y_fov = data["aimbot"]["y_fov"] self.cop = data["aimbot"]["cop"] self.x_speed = data["aimbot"]["x_speed"] self.y_speed = data["aimbot"]["y_speed"] self.custom_yoffset = data["aimbot"]["custom_yoffset"] self.enable_instantlocker = data["instantlocker"]["enable_instantlocker"] self.region = data["instantlocker"]["region"] self.preferred_agent = data["instantlocker"]["preferred_agent"] self.monitor_id = data["arduino_settings"]["monitor_id"] self.com_port = data["arduino_settings"]["com_port"] self.serial_id = data["arduino_settings"]["serial_id"] except: exiting() pass def startmove(self, event): if self.is_inside_drag_region(event.x, event.y): self._drag_data["x"] = event.x self._drag_data["y"] = event.y self._drag_data["dragging"] = True def stopmove(self, event): self._drag_data["dragging"] = False def onmove(self, event): if self._drag_data["dragging"]: x, y = event.x - self._drag_data["x"], event.y - self._drag_data["y"] self.root.geometry(f"+{self.root.winfo_x() + x}+{self.root.winfo_y() + y}") def is_inside_drag_region(self, x, y): x1, y1, x2, y2 = self.drag_region return x1 <= x <= x2 and y1 <= y <= y2 def get_image_from_url(self, url): response = requests.get(url) image_data = response.content return Image.open(BytesIO(image_data)) def update_config(self, section, key_to_update, new_value): with open(self.config_path, 'r') as config_file: config = json.load(config_file) if section in config: if key_to_update in config[section]: config[section][key_to_update] = new_value else: raise ValueError(f"'{key_to_update}' does not exist in the '{section}' section") else: raise ValueError(f"'{section}' section does not exist in the configuration") with open(self.config_path, 'w') as config_file: json.dump(config, config_file, indent=4) print(f'updated {key_to_update}') def change_config(self,configname): self.config_path = configname print(self.config_path) try: self.load_config() except: print('retard') else: print("changed config to " +configname) def list_json_files_in_folder(self,folder_path="."): try: json_files = [f for f in os.listdir(folder_path) if f.endswith(".json")] combined_json_files = "\n".join(json_files) return combined_json_files except Exception as e: return str(e) def cleanup_previous_content(self, elements_to_cleanup): if elements_to_cleanup: for element in elements_to_cleanup: if isinstance(element, CustomButton): element.button_delete("kekw") elif isinstance(element, int): print(str(element) + " int") self.canvas.delete(element) elif isinstance(element, tk.Widget): print(f"Destroyed widget: {element}") element.destroy() elif isinstance(element, tk.PhotoImage): print(f"Deleted PhotoImage: {element}") del element elements_to_cleanup.clear() def load_images(self): #aimbot self.not_pressed_image = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/x7SmV63/trigger-button.png")) self.pressed_button_cock = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/vcBpm10/pressedcock.png")) self.placeholde_image = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/2sBrsmD/placeholder.png")) #trigger self.trigger_button_image = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/x7SmV63/trigger-button.png")) self.button_pressed_image = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/m0HSJg4/pressed-button.png")) self.always_enabled_button_image = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/x7SmV63/trigger-button.png")) self.button_pressed2 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/m0HSJg4/pressed-button.png")) #instantlocker self.button_lock_image1_normal = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/HKXzzKP/lock-button.png")) self.button_lock_image1_pressed = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/m0HSJg4/pressed-button.png")) self.image_lock_image1 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/1K75nJ1/lock-image1.png")) self.image_lock_image2 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/1K75nJ1/lock-image1.png")) #settingspage self.image_settings_1 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/SQRyZR6/settings-1.png")) self.image_settings_2 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/G2V8QTP/settings-2.png")) self.image_settings_3 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/tHqG16r/settings-3.png")) self.image_settings_4 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/PzgHGXd/settings-4.png")) self.button_settings_1 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/HGPRhXL/load-cfg.png")) self.button_settings_2 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/8jY8J6H/save-cfg.png")) self.button_settings_3 = ImageTk.PhotoImage(self.get_image_from_url("https://i.ibb.co/ZX94rrP/del-cfg.png")) def run_cheese(self): self.root.destroy() set_config(self.config_path) cheese_start() def load_content_1(self): print("AIM CLICKED") previous_elements = self.content_elements.get('load_content_3', []) self.cleanup_previous_content(previous_elements) self.content_elements['load_content_3'] = [] current_elements4 = [] def xfov_change(value): self.update_config("aimbot",'x_fov',int(value)) self.x_fov = int(value) #print(f"Slider value: {value}") self.xfov_slider = CustomSlider(self.canvas, width=571.0 - 236.0, height=116.0 - 98.0, min_value=0, max_value=200, initial_value=self.x_fov,value_format="integer", on_value_change=xfov_change) self.xfov_slider.place(x=236.0, y=98.0) def yfov_change(value): self.update_config("aimbot",'y_fov',int(value)) self.y_fov = int(value) #print(f"Slider value: {value}") self.yfov_slider = CustomSlider(self.canvas, width=571.0 - 236.0, height=153.0 - 135.0, min_value=0, max_value=200, initial_value=self.y_fov,value_format="integer", on_value_change=yfov_change) self.yfov_slider.place(x=236.0, y=135.0) def xspeed_change(value): self.update_config("aimbot",'x_speed',round(value,2)) self.x_speed = round(value,2) #print(f"Slider value: {value}") self.xspeed_slider = CustomSlider(self.canvas, width=571.0 - 236.0, height=189.0 - 171.0, min_value=0.01, max_value=2, initial_value=self.x_speed,value_format="raw2", on_value_change=xspeed_change) self.xspeed_slider.place(x=236.0, y=171.0) def yspeed_change(value): self.update_config("aimbot",'y_speed',round(value,2)) self.y_speed = round(value,2) #print(f"Slider value: {value}") self.yspeed_slider = CustomSlider(self.canvas, width=571.0 - 236.0, height=226.0 - 208.0, min_value=0.01, max_value=2, initial_value=self.y_speed,value_format="raw2", on_value_change=yspeed_change) self.yspeed_slider.place(x=236.0, y=208.0) self.enable_aim_text = self.canvas.create_text( 192.0, 47.0, anchor="nw", text="Enable Aim", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.only_xaxis_text = self.canvas.create_text( 313.0, 47.0, anchor="nw", text="Only Horizontal Axis", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.enable_rcs_text = self.canvas.create_text( 497.0, 47.0, anchor="nw", text="Recoil Control", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.xfov_text = self.canvas.create_text( 174.0, 98.0, anchor="nw", text="X-Fov", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.yfov_text = self.canvas.create_text( 174.0, 135.0, anchor="nw", text="Y-Fov", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.xspeed_text = self.canvas.create_text( 156.0, 171.0, anchor="nw", text="X-Speed", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.yspeed_text = self.canvas.create_text( 156.0, 207.0, anchor="nw", text="Y-Speed", fill="#FFFFFF", font=("Inter", 15 * -1) ) def aimbot_key_change(keyw): self.update_config("aimbot","aimbot_hotkey",keyw) self.aimbot_hotkey = keyw x, y, width, height = 512.0, 235.0, 59.0, 35.0 corner_radius = 8 fill_color = "#DE2828" self.change_aimkey_button = CustomButton(self.canvas, x, y, width, height, corner_radius, fill_color, self.aimbot_hotkey,aimbot_key_change) self.is_button_aimbot_pressed = self.enable_aimbot def toggle_aimact_button(): self.is_button_aimbot_pressed = not self.is_button_aimbot_pressed if self.is_button_aimbot_pressed: self.enable_aim_button.config(image=self.pressed_button_cock) else: self.enable_aim_button.config(image=self.not_pressed_image) self.update_config("aimbot", "enable_aimbot",self.is_button_aimbot_pressed) self.enable_aimbot = self.is_button_aimbot_pressed if self.is_button_aimbot_pressed is True: self.cockholder = self.pressed_button_cock else: self.cockholder = self.not_pressed_image self.enable_aim_button = tk.Button( image=self.cockholder, borderwidth=0, highlightthickness=0, command=lambda: toggle_aimact_button(), relief="flat" ) self.enable_aim_button.place(x=166.0,y=47.0,width=16.0,height=16.941177368164062) self.is_button_xaxis_pressed = self.x_only def toggle_xaxis_button(): self.is_button_xaxis_pressed = not self.is_button_xaxis_pressed if self.is_button_xaxis_pressed: self.only_xaxis_button.config(image=self.pressed_button_cock) else: self.only_xaxis_button.config(image=self.not_pressed_image) self.update_config("aimbot", "x_only",self.is_button_xaxis_pressed) self.x_only = self.is_button_xaxis_pressed if self.is_button_xaxis_pressed is True: self.cockholder2 = self.pressed_button_cock else: self.cockholder2 = self.not_pressed_image self.only_xaxis_button = tk.Button( image=self.cockholder2, borderwidth=0, highlightthickness=0, command=lambda: toggle_xaxis_button(), relief="flat" ) self.only_xaxis_button.place(x=288.0,y=47.0,width=16.0,height=16.941177368164062) self.is_button_rcs_pressed = self.enable_rcs def toggle_rcs_button(): self.is_button_rcs_pressed = not self.is_button_rcs_pressed if self.is_button_rcs_pressed: self.rcs_button.config(image=self.pressed_button_cock) else: self.rcs_button.config(image=self.not_pressed_image) self.update_config("aimbot", "enable_rcs",self.is_button_rcs_pressed) self.enable_rcs = self.is_button_rcs_pressed if self.is_button_rcs_pressed is True: self.cockholder3 = self.pressed_button_cock else: self.cockholder3 = self.not_pressed_image self.rcs_button = tk.Button( image=self.cockholder3, borderwidth=0, highlightthickness=0, command=lambda: toggle_rcs_button(), relief="flat" ) self.rcs_button.place(x=473.0,y=47.0,width=16.0,height=16.941177368164062) current_elements4.extend([ self.xfov_slider, self.yfov_slider, self.xspeed_slider, self.yspeed_slider, self.enable_aim_text, self.only_xaxis_text, self.enable_rcs_text, self.xfov_text, self.yfov_text, self.xspeed_text, self.yspeed_text, self.enable_aim_button, self.only_xaxis_button, self.rcs_button, self.change_aimkey_button ]) self.content_elements['load_content_3'] = current_elements4 def load_content_2(self): print("TRIGGER CLICKED") previous_elements = self.content_elements.get('load_content_3', []) self.cleanup_previous_content(previous_elements) self.content_elements['load_content_3'] = [] current_elements3 = [] def base_delay_change(value): self.update_config("triggerbot",'base_delay',round(value,4)) self.base_delay = round(value,4) #print(f"Slider value: {value}") self.base_delay_slider = CustomSlider(self.canvas, width=335, height=18, min_value=0.0001, max_value=0.1, initial_value=self.base_delay, value_format="raw", on_value_change=base_delay_change) self.base_delay_slider.place(x=241, y=95) def delay_change(value): value2 = value *100 self.update_config("triggerbot",'trigger_delay',int(value2)) self.trigger_delay = int(value2) #print(f"Slider value: {int(value2)}") self.delay_slider = CustomSlider(self.canvas, width=335, height=18, min_value=0, max_value=1, initial_value=self.trigger_delay /100, value_format="percentage", on_value_change=delay_change) self.delay_slider.place(x=241, y=128) def tolerance_change(value): self.update_config("triggerbot",'color_tolerance',int(value)) self.color_tolerance = int(value) #print(f"Slider value: {value}") self.tolernace_slider = CustomSlider(self.canvas, width=335, height=18, min_value=1, max_value=100, initial_value=self.color_tolerance, value_format="integer", on_value_change=tolerance_change) self.tolernace_slider.place(x=241, y=163) self.enable_trigger_text = self.canvas.create_text( 177.0, 46.0, anchor="nw", text="Enable Trigger", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.always_enabled_text = self.canvas.create_text( 316.0, 46.0, anchor="nw", text="Always Enabled", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.base_delay_text = self.canvas.create_text( 152.0, 95.0, anchor="nw", text="Base Delay", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.delay_text = self.canvas.create_text( 191.0, 128.0, anchor="nw", text="Delay", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.tolernace_text = self.canvas.create_text( 161.0, 161.0, anchor="nw", text="Tolerance", fill="#FFFFFF", font=("Inter", 15 * -1) ) self.is_button_trigger_pressed = self.enable_triggerbot def toggle_trigger_button(): self.is_button_trigger_pressed = not self.is_button_trigger_pressed if self.is_button_trigger_pressed: self.trigger_button.config(image=self.button_pressed_image) else: self.trigger_button.config(image=self.trigger_button_image) self.update_config("triggerbot", "enable_triggerbot",self.is_button_trigger_pressed) self.enable_triggerbot = self.is_button_trigger_pressed if self.is_button_trigger_pressed is True: self.placeholder_var2 = self.button_pressed_image else: self.placeholder_var2 = self.trigger_button_image self.trigger_button = tk.Button( image=self.placeholder_var2, borderwidth=0, highlightthickness=0, command=lambda: toggle_trigger_button(), relief="flat" ) self.trigger_button.place(x=151.0, y=46.0, width=16.0, height=16.941177368164062) self.is_button_always_on_pressed = self.always_enabled def toggle_trigger_mode(): self.is_button_always_on_pressed = not self.is_button_always_on_pressed if self.is_button_always_on_pressed: self.always_enabled_button.config(image=self.button_pressed2) else: self.always_enabled_button.config(image=self.always_enabled_button_image) self.update_config("triggerbot", "always_enabled",self.is_button_always_on_pressed) self.always_enabled = self.is_button_always_on_pressed if self.is_button_always_on_pressed is True: self.placeholder_var3 = self.button_pressed2 else: self.placeholder_var3 = self.always_enabled_button_image self.always_enabled_button = tk.Button( image=self.placeholder_var3, borderwidth=0, highlightthickness=0, command=lambda: toggle_trigger_mode(), relief="flat" ) self.always_enabled_button.place(x=290.0, y=46.0, width=16.0, height=16.941177368164062) def trigger_key_change(keyw): self.update_config("triggerbot","trigger_hotkey",keyw) self.trigger_hotkey = keyw x, y, width, height = 517.0, 192.0, 59.0, 35.0 corner_radius = 8 fill_color = "#DE2828" self.change_hotkey_button = CustomButton(self.canvas, x, y, width, height, corner_radius, fill_color, self.trigger_hotkey,trigger_key_change) current_elements3.extend([ self.base_delay_slider, self.delay_slider, self.tolernace_slider, self.enable_trigger_text, self.always_enabled_text, self.base_delay_text, self.delay_text, self.tolernace_text, self.trigger_button, self.always_enabled_button, self.change_hotkey_button, ]) self.content_elements['load_content_3'] = current_elements3 def load_content_3(self): print("INSTANT LOCK CLICKED") previous_elements = self.content_elements.get('load_content_3', []) self.cleanup_previous_content(previous_elements) self.content_elements.get('load_content_3', [].clear()) current_elements2 = [] self.lock_image1 = self.canvas.create_image( 228.0, 110.0, image=self.image_lock_image1 ) def region_update(event): self.region = self.region_entry.get() self.update_config("instantlocker","region",self.region) self.region_entry = tk.Entry( bd=0, bg="#14161B", fg="#ffffff", highlightthickness=0 ) self.region_entry.place( x=160.0, y=96.0, width=133.0, height=27.0 ) self.region_entry.insert(0,self.region) self.region_entry.bind("", region_update) self.lock_image2 = self.canvas.create_image( 228.0, 163.0, image=self.image_lock_image2 ) def agent_update(event): self.preferred_agent = self.agent_entry.get() self.update_config("instantlocker","preferred_agent",self.preferred_agent) self.agent_entry = tk.Entry( bd=0, bg="#14161B", fg="#ffffff", highlightthickness=0 ) self.agent_entry.place( x=160.0, y=146.0, width=133.0, height=30.0 ) self.agent_entry.insert(0,self.preferred_agent) self.agent_entry.bind("", agent_update) self.il_text = self.canvas.create_text( 177.0, 46.0, anchor="nw", text="Enable Instant Locker", fill="#FFFFFF", font=("Inter", 15 * -1) ) current_elements2.extend([ self.lock_image1, self.region_entry, self.lock_image2, self.agent_entry, self.il_text, ]) self.is_button_pressed = self.enable_instantlocker def toggle_button_state(): self.is_button_pressed = not self.is_button_pressed if self.is_button_pressed: self.lock_button.config(image=self.button_lock_image1_pressed) else: self.lock_button.config(image=self.button_lock_image1_normal) self.update_config("instantlocker", "enable_instantlocker",self.is_button_pressed) self.enable_instantlocker = self.is_button_pressed if self.is_button_pressed is True: self.placeholder_var = self.button_lock_image1_pressed else: self.placeholder_var = self.button_lock_image1_normal self.lock_button = tk.Button( image=self.placeholder_var, borderwidth=0, highlightthickness=0, command=lambda: toggle_button_state(), relief="flat" ) self.lock_button.place( x=151.0, y=47.94117736816406, width=16.0, height=16.058822631835938 ) current_elements2.append(self.lock_button) self.content_elements['load_content_3'] = current_elements2 def load_content_4(self): print("Settings clicked") previous_elements = self.content_elements.get('load_content_3', []) self.cleanup_previous_content(previous_elements) self.content_elements.get('load_content_3', [].clear()) current_elements = [] #self.settings_1 = self.canvas.create_image( # 205.0, # 284.0, # image=self.image_settings_1 #) #self.com_entry = tk.Entry( # self.canvas, # bd=0, # bg="#14161B", # fg="#ffffff", # highlightthickness=0 #) #def comport_update(event): # self.com_port = self.com_entry.get() # self.update_config("arduino_settings","com_port",self.com_port) #self.com_entry.place( # x=147.0, # y=277.0, # width=110.0, # height=12.0 #) #self.com_entry.insert(0, self.com_port) #self.com_entry.bind("", comport_update) #self.settings_2 = self.canvas.create_image( # 205.0, # 321.0, # image=self.image_settings_2 #) #def serial_update(event): # self.serial_id = self.serial_entry.get() # self.update_config("arduino_settings","serial_id",self.serial_id) #self.serial_entry = tk.Entry( # self.canvas, # bd=0, # bg="#14161B", # fg="#ffffff", # highlightthickness=0 #) #self.serial_entry.place( # x=147.0, # y=315.0, # width=110.0, # height=9.0 #) #self.serial_entry.insert(0, self.serial_id) #self.serial_entry.bind("", serial_update) self.settings_3 = self.canvas.create_image( 208.0, 245.0, image=self.image_settings_3 ) self.config_name_entry = tk.Entry( bd=0, bg="#14161B", fg="#ffffff", highlightthickness=0 ) self.config_name_entry.place( x=149.0, y=235.0, width=123.0, height=19.0 ) self.config_name_entry.insert(0,self.config_path) self.settings_4 = self.canvas.create_image( 373.0, 127.0, image=self.image_settings_4 ) self.config_list = self.canvas.create_text( 148.75051879882812, 47.49467468261719, anchor="nw", text=self.list_json_files_in_folder(), fill="#FFFFFF", font=("Inter", 13 * -1) ) def delete_file(file_path): try: os.remove(file_path) print(f"File '{file_path}' has been successfully deleted.") except OSError as e: print(f"Error deleting file '{file_path}': {e}") print("retard") self.canvas.itemconfig(self.config_list,text=self.list_json_files_in_folder()) pass def save_json_file(source_file, destination_file): try: with open(source_file, 'r') as source: data = json.load(source) with open(destination_file, 'w') as destination: json.dump(data, destination, indent=4) print(f"JSON content copied from '{source_file}' to '{destination_file}' successfully.") except Exception as e: print(f"Error copying JSON file: {e}") self.canvas.itemconfig(self.config_list,text=self.list_json_files_in_folder()) self.button_1 = tk.Button( self.canvas, image=self.button_settings_1, borderwidth=0, highlightthickness=0, command=lambda: self.change_config(self.config_name_entry.get()), relief="flat" ) self.button_1.place( x=394.0, y=229.0, width=99.0, height=36.0 ) self.button_2 = tk.Button( image=self.button_settings_2, borderwidth=0, highlightthickness=0, command=lambda: save_json_file(self.config_path,self.config_name_entry.get()), relief="flat" ) self.button_2.place( x=286.0, y=229.0, width=99.0, height=36.0 ) self.button_3 = tk.Button( image=self.button_settings_3, borderwidth=0, highlightthickness=0, command=lambda: delete_file(self.config_name_entry.get()), relief="flat" ) self.button_3.place( x=509.0, y=229.0, width=99.0, height=36.0 ) current_elements.extend([ #self.settings_1, #self.settings_2, self.settings_3, self.settings_4, #self.com_entry, #self.serial_entry, self.config_name_entry, self.button_1, self.button_2, self.button_3, self.config_list ]) self.content_elements["load_content_3"] = current_elements class LoginGUI(): def __init__(self, root): self.root = root self.drag_region = (0, 0, 426, 20) self._drag_data = {"x": 0, "y": 0, "dragging": False} self.root.bind("", self.startmove) self.root.bind("", self.stopmove) self.root.bind("", self.onmove) self.root.geometry("426x350") self.root.configure(bg="#0F1014") self.canvas = tk.Canvas( self.root, bg="#0F1014", height=350, width=426, bd=0, highlightthickness=0, relief="ridge" ) self.canvas.pack() self.status_label = tk.Label( self.canvas, text="", bg="#0F1014", fg="#FFFFFF", font=("Inter", 12), anchor="center" ) self.status_label.place(relx=0.5, rely=1.0, anchor="s") image_data = self.get_image_from_url("https://i.ibb.co/nLWDRVH/image-1.png") self.image_image_1 = ImageTk.PhotoImage(image_data) self.image_1 = self.canvas.create_image( 37.0, 38.0, image=self.image_image_1 ) self.canvas.create_rectangle( 8.0, 73.0, 419.0, 75.0, fill="#DE2727", outline="" ) self.canvas.create_text( 115.0, 23.0, anchor="nw", text="Nephritis Private", fill="#959596", font=("Inter", 25 * -1) ) image_data = requests.get("https://i.ibb.co/Dg09BnV/button-1.png").content image = Image.open(BytesIO(image_data)) self.button_image_1 = ImageTk.PhotoImage(image) self.button_1 = tk.Button( self.canvas, image=self.button_image_1, borderwidth=0, highlightthickness=0, command=self.login, relief="flat" ) self.button_1.place( x=152.0, y=178.0, width=123.0, height=50.0 ) image_data = requests.get("https://i.ibb.co/pzsjcv0/button-2.png").content image = Image.open(BytesIO(image_data)) self.button_image_2 = ImageTk.PhotoImage(image) self.button_2 = tk.Button( self.canvas, image=self.button_image_2, borderwidth=0, highlightthickness=0, command=lambda: exiting(), relief="flat" ) self.button_2.place( x=152.0, y=236.0, width=123.0, height=50.0 ) image2_data = self.get_image_from_url("https://i.ibb.co/g7PtK7w/image-2.png") self.image_image_2 = ImageTk.PhotoImage(image2_data) self.image_2 = self.canvas.create_image( 213.0, 126.0, image=self.image_image_2 ) image3_data = self.get_image_from_url("https://i.ibb.co/2YyJxky/image-3.png") self.image_image_3 = ImageTk.PhotoImage(image3_data) self.image_3 = self.canvas.create_image( 75.0, 127.0, image=self.image_image_3 ) entry_data = self.get_image_from_url("https://i.ibb.co/vxH5477/entry-1.png") self.entry_image_1 = ImageTk.PhotoImage(entry_data) self.entry_bg_1 = self.canvas.create_image( 222.0, 127.0, image=self.entry_image_1 ) license_value = self.load_license_value() self.entry_1 = tk.Entry( self.canvas, bd=0, bg="#14161B", fg="#ffffff", highlightthickness=0 ) self.entry_1.place( x=87.0, y=111.0, width=270.0, height=30.0 ) self.entry_1.insert(tk.END, license_value) def get_image_from_url(self, url): response = requests.get(url) image_data = response.content return Image.open(BytesIO(image_data)) def startmove(self, event): if self.is_inside_drag_region(event.x, event.y): self._drag_data["x"] = event.x self._drag_data["y"] = event.y self._drag_data["dragging"] = True def stopmove(self, event): self._drag_data["dragging"] = False def onmove(self, event): if self._drag_data["dragging"]: x, y = event.x - self._drag_data["x"], event.y - self._drag_data["y"] self.root.geometry(f"+{self.root.winfo_x() + x}+{self.root.winfo_y() + y}") def is_inside_drag_region(self, x, y): # check if coords inside drag region x1, y1, x2, y2 = self.drag_region return x1 <= x <= x2 and y1 <= y <= y2 def load_license_value(self): config_file = r"files\license.json" try: with open(config_file, "r") as file: config_data = json.load(file) return config_data.get("license", "") except: return "" def write_license_value(self, license_value): config_file = r"files\license.json" with open(config_file, "r") as file: config_data = json.load(file) if len(config_data.get("license", "")) == 0: config_data["license"] = license_value with open(config_file, "w") as file: json.dump(config_data, file, indent=4) # Write the updated data back to the config file else: pass #def get_hwid(self): # self.c = wmi.WMI() # self.system_uuid = self.c.Win32_ComputerSystemProduct()[0].UUID # return self.system_uuid def login(self): self.canvas.update_idletasks() self.license_key = self.entry_1.get() self.status_label.config(text=f"Successfully verified license, loading cheeto...", fg="#4ee44e", bg="#0F1014") self.canvas.update_idletasks() time.sleep(3) self.root.destroy() load_gui() def load_gui(): rooot = tk.Tk() app = CheatGUI(rooot) rooot.overrideredirect(True) rooot.attributes('-topmost', True) rooot.mainloop() #if __name__ == "__main__": # load_gui() if __name__ == "__main__": root = tk.Tk() app = LoginGUI(root) root.resizable(False, False) root.overrideredirect(True) # Set the window as topmost root.attributes('-topmost', True) root.mainloop()