Исходник Пиксельный триггер бот с конфигом

Главный Бот Югейма
Продавец
Статус
Оффлайн
Регистрация
15 Фев 2021
Сообщения
470
Реакции[?]
86
Поинты[?]
94K
Решил поделится триггером, который работает почти везде (И в Valorant'е тоже)

Конфиг, автопоиск окна игры, настройка биндов и чувствительности.

Python:
import os
os.system('mode con:cols=20 lines=9')
from mouse import click
import numpy as np
from mss import mss
sct = mss()
import keyboard
import win32gui
from time import sleep
import configparser as cfg
import winsound
import webbrowser
import win32api
import sys
"""если будете собирать pyinstaller'ом"""
#ProcName = os.path.basename(sys.argv[0])
#os.system('wmic process where name="' + ProcName + '" CALL setpriority "realtime"')
#os.system("cls")

config = cfg.ConfigParser()
def configinit():
    if os.path.exists("config.ini"):
        config.read("config.ini", 'UTF-8')
    else:
        #создаём конфиг
        config.add_section("AutoShot")
        config.set("AutoShot", "Sensitivity", "low")
        config.set("AutoShot", "Bind", "F")
        config.set("AutoShot", "AutoGameDetect", "Off")
        config.set("AutoShot", "GameName", "Counter-Strike: Global Offensive")
        config.set("AutoShot", "ResX", "auto")
        config.set("AutoShot", "ResY", "auto")

        with open("config.ini", "w") as config_file:
            config.write(config_file)

    try:
        #Если ошибка, значит конфиг сломали
        sens = config['AutoShot']['Sensitivity']
        Bind = config['AutoShot']['Bind']
        autores = config['AutoShot']['AutoGameDetect']
        GameName = config['AutoShot']['GameName']
        ResX = config['AutoShot']['ResX']
        ResY = config['AutoShot']['ResY']
    except KeyError:
      os.system('cls')
      print("           Warning:\n\n KeyError: check settings.ini\n\n    Check name variables\n\n      vk.com/neuralaim")
      sleep(999999)
    except ValueError:
        os.system('cls')
        print("           Warning:\n\n ValueError: check settings.ini\n\n    Check variable values\n\n      vk.com/neuralaim")
        sleep(999999)
    return sens, Bind, GameName, autores, ResX, ResY

#можно поставить и больше, но будет стрелять раньше чем противник попадёт под прицел
fov = 4

#функция поиска игры
def autoresolutiongame():
    print("Searching Game...")
    while True:
        sleep(0.1)
        hwnd = win32gui.GetForegroundWindow()
        if win32gui.GetWindowText(hwnd) == GameName:
            winsound.Beep(255, 255)
            winsound.PlaySound("On.wav", winsound.SND_ASYNC | winsound.SND_ALIAS )
            rect = win32gui.GetWindowRect(hwnd)
            sw = int((rect[2] + rect[0]) / 2 - (fov / 2))
            sh = int((rect[3] + rect[1]) / 2 - (fov / 2))
            xx = int(fov / 2)
            yy = int(fov / 2)
            print("Game Found!\n")
            break
    return sw,sh,xx,yy

#Тупо находим разрешение экрана
def autoresolutionscreen():
    sww = win32api.GetSystemMetrics(0)
    shh = win32api.GetSystemMetrics(1)
    sw = int(sww / 2 - (fov / 2))
    sh = int(shh / 2 - (fov / 2))
    xx = int(fov / 2)
    yy = int(fov / 2)
    print("mon:",sww,"x",shh)
    return sw,sh,xx,yy

#если играем 4 на 3, но игра не захватывается например у валоранта
def customresolutionscreen():
    sww = int(ResX)
    shh = int(ResY)
    sw = int(sww / 2 - (fov / 2))
    sh = int(shh / 2 - (fov / 2))
    xx = int(fov / 2)
    yy = int(fov / 2)
    print("mon:",sww,"x",shh)
    return sw,sh,xx,yy

#настройка сенсы в конфиге
def sense(sens):
    sens = str(sens).upper()
    if sens == "HIGH":
        redframe = 300
        blueframe = 30
        print("Sensitivity: HIGH")
    elif sens == "MEDIUM":
        redframe = 500
        blueframe = 40
        print("Sensitivity: MEDIUM")
    elif sens == "LOW":
        redframe = 600
        blueframe = 50
        print("Sensitivity: LOW")
    else:
        print("Sensitivity error")
        print("Default:")
        print("low Sensitivity")
        redframe = 750
        blueframe = 50
    return redframe, blueframe


if __name__ == '__main__':
    #ну тут моя реклама, можете удалить : )
    webbrowser.open('https://t.me/neuralaim', new=2)
    print("   vk.com/NeuralAIM\n")
    sens, Bind, GameName, autores, ResX, ResY = configinit()

    redframe, blueframe = sense(str(sens).upper())
    autores = autores.upper()

    if autores == "ON":
        sw,sh,xx,yy = autoresolutiongame()
        print("AutoRes - On")
    elif autores == "OFF" and ResX.upper() != "AUTO":
        sw,sh,xx,yy = customresolutionscreen()
        print("CustomRes - On")
    elif autores == "OFF":
        sw,sh,xx,yy = autoresolutionscreen()
        print("AutoRes - Off")
    else:
        print("Error AutoGameDetect")
        sw,sh,xx,yy = autoresolutionscreen()

    mon = {"top": sh, "left": sw, "width": fov, "height": fov}
    print('NShot working...')
    enabled = False

    while True:
        #что бы комп не помер
        sleep(0.05)
        if keyboard.is_pressed(Bind):
            #звук, если надо
            #winsound.PlaySound("On.wav", winsound.SND_ASYNC | winsound.SND_ALIAS )
            if enabled == True:
                enabled = False
            else:
                enabled = True
            sleep(0.1)

        # Если клавиша нажата
        if enabled == True:
            #для отладки
            #print(Bind + " pressed")
            img = np.asarray(sct.grab(mon))
            frame1 = np.asarray(img).sum()
            #основной код
            while True:
                frame = np.asarray(sct.grab(mon)).sum()
                if frame1 > (frame+redframe) or frame1 < (frame-redframe): # cs:go 1000, Valorant 500
                    click()
                    #звук, если надо
                    #winsound.PlaySound("On.wav", winsound.SND_ASYNC | winsound.SND_ALIAS )
                    os.system("cls")
                    enabled = False
                    break

                elif frame1 > (frame+blueframe) or frame1 < (frame-blueframe): # cs:go 100, Valorant 50
                    frame1 = frame

Конфиг создаётся сам, звук можно скачать здесь - On.wav

Тестировал в CS:GO и в Valorant - работает, банов нет. (Ответственности все равно не несу!)

Вот что по скорости:
1613644232450.png


Конфиг:
1613644384881.png

Чем выше sensetivity, тем чувствительнее к изменениям пикселей
Bind - клавиша, нажав на которую срабатывает триггербот.
AutoGameDetect - автоматический поиск окна, и ниже gamename - имя окна, в данном случае CS:GO
resx и resy, если игра не захватывается, или вы не меняете разрешение после запуска софта.

И не забудьте установить все используемые библиотеки : )
 
Последнее редактирование:
Главный Бот Югейма
Продавец
Статус
Оффлайн
Регистрация
15 Фев 2021
Сообщения
470
Реакции[?]
86
Поинты[?]
94K
09-29-2022 Thu 18:48:59
Эксперт
Статус
Оффлайн
Регистрация
28 Ноя 2019
Сообщения
1,219
Реакции[?]
411
Поинты[?]
108K
Решил поделится триггером, который работает почти везде (И в Valorant'е тоже)

Конфиг, автопоиск окна игры, настройка биндов и чувствительности.

Python:
import os
os.system('mode con:cols=20 lines=9')
from mouse import click
import numpy as np
from mss import mss
sct = mss()
import keyboard
import win32gui
from time import sleep
import configparser as cfg
import winsound
import webbrowser
import win32api
import sys
"""если будете собирать pyinstaller'ом"""
#ProcName = os.path.basename(sys.argv[0])
#os.system('wmic process where name="' + ProcName + '" CALL setpriority "realtime"')
#os.system("cls")

config = cfg.ConfigParser()
def configinit():
    if os.path.exists("config.ini"):
        config.read("config.ini", 'UTF-8')
    else:
        #создаём конфиг
        config.add_section("AutoShot")
        config.set("AutoShot", "Sensitivity", "low")
        config.set("AutoShot", "Bind", "F")
        config.set("AutoShot", "AutoGameDetect", "Off")
        config.set("AutoShot", "GameName", "Counter-Strike: Global Offensive")
        config.set("AutoShot", "ResX", "auto")
        config.set("AutoShot", "ResY", "auto")

        with open("config.ini", "w") as config_file:
            config.write(config_file)

    try:
        #Если ошибка, значит конфиг сломали
        sens = config['AutoShot']['Sensitivity']
        Bind = config['AutoShot']['Bind']
        autores = config['AutoShot']['AutoGameDetect']
        GameName = config['AutoShot']['GameName']
        ResX = config['AutoShot']['ResX']
        ResY = config['AutoShot']['ResY']
    except KeyError:
      os.system('cls')
      print("           Warning:\n\n KeyError: check settings.ini\n\n    Check name variables\n\n      vk.com/neuralaim")
      sleep(999999)
    except ValueError:
        os.system('cls')
        print("           Warning:\n\n ValueError: check settings.ini\n\n    Check variable values\n\n      vk.com/neuralaim")
        sleep(999999)
    return sens, Bind, GameName, autores, ResX, ResY

#можно поставить и больше, но будет стрелять раньше чем противник попадёт под прицел
fov = 4

#функция поиска игры
def autoresolutiongame():
    print("Searching Game...")
    while True:
        sleep(0.1)
        hwnd = win32gui.GetForegroundWindow()
        if win32gui.GetWindowText(hwnd) == GameName:
            winsound.Beep(255, 255)
            winsound.PlaySound("On.wav", winsound.SND_ASYNC | winsound.SND_ALIAS )
            rect = win32gui.GetWindowRect(hwnd)
            sw = int((rect[2] + rect[0]) / 2 - (fov / 2))
            sh = int((rect[3] + rect[1]) / 2 - (fov / 2))
            xx = int(fov / 2)
            yy = int(fov / 2)
            print("Game Found!\n")
            break
    return sw,sh,xx,yy

#Тупо находим разрешение экрана
def autoresolutionscreen():
    sww = win32api.GetSystemMetrics(0)
    shh = win32api.GetSystemMetrics(1)
    sw = int(sww / 2 - (fov / 2))
    sh = int(shh / 2 - (fov / 2))
    xx = int(fov / 2)
    yy = int(fov / 2)
    print("mon:",sww,"x",shh)
    return sw,sh,xx,yy

#если играем 4 на 3, но игра не захватывается например у валоранта
def customresolutionscreen():
    sww = int(ResX)
    shh = int(ResY)
    sw = int(sww / 2 - (fov / 2))
    sh = int(shh / 2 - (fov / 2))
    xx = int(fov / 2)
    yy = int(fov / 2)
    print("mon:",sww,"x",shh)
    return sw,sh,xx,yy

#настройка сенсы в конфиге
def sense(sens):
    sens = str(sens).upper()
    if sens == "HIGH":
        redframe = 300
        blueframe = 30
        print("Sensitivity: HIGH")
    elif sens == "MEDIUM":
        redframe = 500
        blueframe = 40
        print("Sensitivity: MEDIUM")
    elif sens == "LOW":
        redframe = 600
        blueframe = 50
        print("Sensitivity: LOW")
    else:
        print("Sensitivity error")
        print("Default:")
        print("low Sensitivity")
        redframe = 750
        blueframe = 50
    return redframe, blueframe


if __name__ == '__main__':
    #ну тут моя реклама, можете удалить : )
    webbrowser.open('https://vk.com/neuralaim', new=2)
    print("   vk.com/NeuralAIM\n")
    sens, Bind, GameName, autores, ResX, ResY = configinit()

    redframe, blueframe = sense(str(sens).upper())
    autores = autores.upper()

    if autores == "ON":
        sw,sh,xx,yy = autoresolutiongame()
        print("AutoRes - On")
    elif autores == "OFF" and ResX.upper() != "AUTO":
        sw,sh,xx,yy = customresolutionscreen()
        print("CustomRes - On")
    elif autores == "OFF":
        sw,sh,xx,yy = autoresolutionscreen()
        print("AutoRes - Off")
    else:
        print("Error AutoGameDetect")
        sw,sh,xx,yy = autoresolutionscreen()

    mon = {"top": sh, "left": sw, "width": fov, "height": fov}
    print('NShot working...')
    enabled = False

    while True:
        #что бы комп не помер
        sleep(0.05)
        if keyboard.is_pressed(Bind):
            #звук, если надо
            #winsound.PlaySound("On.wav", winsound.SND_ASYNC | winsound.SND_ALIAS )
            if enabled == True:
                enabled = False
            else:
                enabled = True
            sleep(0.1)

        # Если клавиша нажата
        if enabled == True:
            #для отладки
            #print(Bind + " pressed")
            img = np.asarray(sct.grab(mon))
            frame1 = np.asarray(img).sum()
            #основной код
            while True:
                frame = np.asarray(sct.grab(mon)).sum()
                if frame1 > (frame+redframe) or frame1 < (frame-redframe): # cs:go 1000, Valorant 500
                    click()
                    #звук, если надо
                    #winsound.PlaySound("On.wav", winsound.SND_ASYNC | winsound.SND_ALIAS )
                    os.system("cls")
                    enabled = False
                    break

                elif frame1 > (frame+blueframe) or frame1 < (frame-blueframe): # cs:go 100, Valorant 50
                    frame1 = frame

Конфиг создаётся сам, звук можно скачать здесь -
Пожалуйста, авторизуйтесь для просмотра ссылки.


Тестировал в CS:GO и в Valorant - работает, банов нет. (Ответственности все равно не несу!)

Вот что по скорости:
Посмотреть вложение 132248


Конфиг:
Посмотреть вложение 132249

Чем выше sensetivity, тем чувствительнее к изменениям пикселей
Bind - клавиша, нажав на которую срабатывает триггербот.
AutoGameDetect - автоматический поиск окна, и ниже gamename - имя окна, в данном случае CS:GO
resx и resy, если игра не захватывается, или вы не меняете разрешение после запуска софта.

И не забудьте установить все используемые библиотеки : )
Добавь возможность бинда на мышку и будет заебись
 
Главный Бот Югейма
Продавец
Статус
Оффлайн
Регистрация
15 Фев 2021
Сообщения
470
Реакции[?]
86
Поинты[?]
94K
А на что он проверяет кадр? Можно пожалуйста код с объяснением
Он проверяет сумму пикселей прошлого кадра с суммой пикселей следующего кадра, и при определённой разнице, стреляет.
 
Забаненный
Статус
Оффлайн
Регистрация
7 Июн 2020
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
может готовый кто скинуть?
 
Начинающий
Статус
Оффлайн
Регистрация
23 Дек 2020
Сообщения
8
Реакции[?]
0
Поинты[?]
0
Как CsGo в скрипт прописать? А то все сделал, но реакции 0
 
Последнее редактирование:
Главный Бот Югейма
Продавец
Статус
Оффлайн
Регистрация
15 Фев 2021
Сообщения
470
Реакции[?]
86
Поинты[?]
94K
Привет ты настроил у тебя работает?
Возможна, эта тема уже не актуальна. Времени много прошло, в кс мб и работает но не уверен что валорант не исправил эту ситуацию сейчас : )
 
Сверху Снизу