Я в этой теме новичок, но даже у меня получилось заставить триггер на коленке работать, грамотно выполнять свои функции и не словить после этого бан, поэтому делюсь гайдом. ДИСКЛЕЙМЕР: Не существует андетект читов, когда-нибудь вы все равно словите бан. Думаю, не нужно объяснять, что перед выполнением всех этапов нужно использовать спуфер, не использовать это на мейн аккаунте, чтобы в дальнейшем не потерять его и бла-бла-бла. Если вы верно выполнили все шаги, то бот будет работать. Это сырой и базовый функционал для ультранубов, если вам нужны какие-то навороченные и встроенные фичи, то можете даже не читать этот гайд. Для примера запуска возьмем программу VISUAL STUDIO CODE Шаг 1: Устанавливаем библиотеки в терминале vsc: - pip install opencv-python - pip install numpy - pip install pyautogui - pip install keyboard Шаг 2: Создаем файл проекта. Шаг 3: Вставляем этот шаблон в наш файл import cv2 import numpy as np import pyautogui import time import keyboard # Конфиг (FOV - область захвата цвета) FOV_WIDTH = 640 # ширина FOV FOV_HEIGHT = 480 # высота FOV NUM_SHOTS = 1 #Кол-во автоматических выстрелов за раз # Отработчик вкл\выкл trigger_enabled = False # Функция для захвата экрана def capture_screen(region=None): screenshot = pyautogui.screenshot(region=region) screenshot = np.array(screenshot) screenshot = cv2.cvtColor(screenshot, cv2.COLOR_BGR2RGB) return screenshot # Функция для распознавания фиолетовой подсветки def detect_purple_contour(image): hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) lower_purple = np.array([125, 50, 50]) upper_purple = np.array([170, 255, 255]) mask = cv2.inRange(hsv, lower_purple, upper_purple) mask = cv2.GaussianBlur(mask, (5, 5), 0) contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) return contours # Функция для переключения состояния триггера (вкл\выкл) def toggle_trigger(): global trigger_enabled trigger_enabled = not trigger_enabled status = "enabled" if trigger_enabled else "disabled" print(f"Trigger {status}") # Основной цикл бота def main(): screen_width, screen_height = pyautogui.size() fov_x = (screen_width - FOV_WIDTH) // 2 fov_y = (screen_height - FOV_HEIGHT) // 2 # Обработчик нажатия клавиши F1 для переключения триггера keyboard.add_hotkey('F1', toggle_trigger) while True: if trigger_enabled: frame = capture_screen(region=(fov_x, fov_y, FOV_WIDTH, FOV_HEIGHT)) contours = detect_purple_contour(frame) if contours: for _ in range(NUM_SHOTS): pyautogui.click() time.sleep(0.05) # Задержка между выстрелами # Визуализация области FOV cv2.rectangle(frame, (0, 0), (FOV_WIDTH, FOV_HEIGHT), (0, 255, 0), 2) cv2.imshow("FOV", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break time.sleep(0.01) # Задержка между циклами (обнаружение фиолетового контура) cv2.destroyAllWindows() if __name__ == "__main__": main() Шаг 6: Запустите код через отладчик, чтобы выявить ошибки. Или же выполните команду "python valorant_bot.py" в терминале, заменив "valorant_bot.py" на название вашего файла. Шаг 7: Запустите скрипт. Перейдите в игру VALORANT. Нажмите F1, чтобы включить триггер. Откройте окно визуализации FOV и убедитесь, что зеленый прямоугольник соответствует ожидаемой области видимости. Тестируйте и настраивайте диапазоны цвета и размеры FOV по мере необходимости. Это всё. Если столкнетесь с проблемой на каком-то из этапов, то пишите, помогу.
WalkMan, это не открытый код, а шаблон для тех, кто хочет написать. его нельзя просто вставить и нажать "запустить". просто приведен ряд функций для того, чтобы человек мог написать бота, если не знает, с чего начать и что ему для этого нужно. да и написано же, что прям для ультранубов, которым очень надо.
Ладно chatgpt тебе помог, но код ты так и не понял как вставлять, смешно что ты это вообще выложил, такая залупа, import cv2 import numpy as np import pyautogui import time import keyboard FOV_WIDTH = 640 FOV_HEIGHT = 480 NUM_SHOTS = 1 trigger_enabled = False def capture_screen(region=None): screenshot = pyautogui.screenshot(region=region) screenshot = np.array(screenshot) screenshot = cv2.cvtColor(screenshot, cv2.COLOR_BGR2RGB) return screenshot def detect_purple_contour(image): hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) lower_purple = np.array([125, 50, 50]) upper_purple = np.array([170, 255, 255]) mask = cv2.inRange(hsv, lower_purple, upper_purple) mask = cv2.GaussianBlur(mask, (5, 5), 0) contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) return contours def toggle_trigger(): global trigger_enabled trigger_enabled = not trigger_enabled status = "enabled" if trigger_enabled else "disabled" print(f"Trigger {status}") def main(): screen_width, screen_height = pyautogui.size() fov_x = (screen_width - FOV_WIDTH) // 2 fov_y = (screen_height - FOV_HEIGHT) // 2 keyboard.add_hotkey('F1', toggle_trigger) while True: if trigger_enabled: frame = capture_screen(region=(fov_x, fov_y, FOV_WIDTH, FOV_HEIGHT)) contours = detect_purple_contour(frame) if contours: for _ in range(NUM_SHOTS): pyautogui.click() time.sleep(0.05) cv2.rectangle(frame, (0, 0), (FOV_WIDTH, FOV_HEIGHT), (0, 255, 0), 2) cv2.imshow("FOV", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break time.sleep(0.01) cv2.destroyAllWindows() if __name__ == "__main__": main() Python import cv2 import numpy as np import pyautogui import time import keyboard FOV_WIDTH = 640 FOV_HEIGHT = 480 NUM_SHOTS = 1 trigger_enabled = False def capture_screen(region=None): screenshot = pyautogui.screenshot(region=region) screenshot = np.array(screenshot) screenshot = cv2.cvtColor(screenshot, cv2.COLOR_BGR2RGB) return screenshot def detect_purple_contour(image): hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) lower_purple = np.array([125, 50, 50]) upper_purple = np.array([170, 255, 255]) mask = cv2.inRange(hsv, lower_purple, upper_purple) mask = cv2.GaussianBlur(mask, (5, 5), 0) contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) return contours def toggle_trigger(): global trigger_enabled trigger_enabled = not trigger_enabled status = "enabled" if trigger_enabled else "disabled" print(f"Trigger {status}") def main(): screen_width, screen_height = pyautogui.size() fov_x = (screen_width - FOV_WIDTH) // 2 fov_y = (screen_height - FOV_HEIGHT) // 2 keyboard.add_hotkey('F1', toggle_trigger) while True: if trigger_enabled: frame = capture_screen(region=(fov_x, fov_y, FOV_WIDTH, FOV_HEIGHT)) contours = detect_purple_contour(frame) if contours: for _ in range(NUM_SHOTS): pyautogui.click() time.sleep(0.05) cv2.rectangle(frame, (0, 0), (FOV_WIDTH, FOV_HEIGHT), (0, 255, 0), 2) cv2.imshow("FOV", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break time.sleep(0.01) cv2.destroyAllWindows() if __name__ == "__main__": main()