Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Undetected [Сурс] Overwatch 2 AHK Colorbot — Interception & Magenta-фикс

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
347
Реакции
7
Народ, кому не лень ковырять пиксельные боты в Овере — ловите модифицированную пасту на базе AHK и драйвера Interception.

Пожалуйста, авторизуйтесь для просмотра ссылки.

Это не очередной «бесполезный» скрипт, а допиленный вариант с фиксом наведения. Основная проблема колорботов в OW2 — это либо плохая реакция на стандартный красный, либо дикое прилипание к никнеймам врагов. Автор этого релиза перешел на Magenta (пурпурный) и добавил костыль для стабилизации по оси Y.

Что внутри:
  1. Юзает Interception Driver через либу AutoHotInterception. Это маст-хэв, так как обычный mouse_event в игре давно палится или просто игнорится.
  2. Цвет цели: Magenta (0xd925d5). В настройках игры нужно выставить соответствующий контур врагов.
  3. Фикс таргетинга: Скрипт усредняет координаты между верхним и нижним пикселем пурпурного цвета. Это сделано специально, чтобы аим не прыгал на полоску HP или никнейм персонажа.
  4. Prediction: В текущей версии предсказание вырезано, так как оно ломало наводку на углах (corners). Для открытых пространств работало норм, но в реальном замесе только мешало.
  5. GUI: Базовое меню на AHK для настройки FOV, Smooth и чувствительности.

Технические нюансы:
  1. Триггербот в этом билде отвалился, так как бинд стоит на LButton (левую кнопку мыши). Если нужно — переписывайте логику опроса клавиш.
  2. Не ставьте слишком большой FOV. Из-за алгоритма усреднения по Y, при огромном радиусе поиска бот может начать стрелять «между» прыгающим Гендзи и челом на земле.
  3. Нужно закинуть либу AutoHotInterception.ahk в папку Lib.

Код:
Expand Collapse Copy
#Persistent
#KeyHistory, 0
#NoEnv
#HotKeyInterval 1
#MaxHotkeysPerInterval 127
#InstallKeybdHook
#UseHook
#SingleInstance, Force
#Persistent ; (Interception hotkeys do not stop AHK from exiting, so use this)
#include Lib\AutoHotInterception.ahk
global AHI := new AutoHotInterception()
;Red Only Head
;EMCol := "0xd925d5"
 
;Red
EMCol := "0xd925d5"
 
;Purple
;EMCol := "0xd925d5"
 
 
 
 
SetKeyDelay,-1, 8
SetControlDelay, -1
SetMouseDelay, -1
SetWinDelay,-1
SendMode, InputThenPlay
SetBatchLines,-1
ListLines, Off
CoordMode, Pixel, Screen, RGB
CoordMode, Mouse, Screen
PID := DllCall("GetCurrentProcessId")
Process, Priority, %PID%, High
autoadjustedwidth := (A_ScreenWidth // 2)
autoadjustedheight := (A_ScreenHeight // 2)
TriggerBotON = "false"
AimBotON = "true"
Loop, 10
{
ConfigFile2 = Config%A_Index%.ini
if (FileExist(ConfigFile2))
{
}
Else
{
IniWrite, 38, %ConfigFile2%, main, ColVn
IniWrite, %autoadjustedwidth%, %ConfigFile2%, main, ZeroX
IniWrite, %autoadjustedheight%, %ConfigFile2%, main, ZeroY
IniWrite, 0, %ConfigFile2%, main, CFovX
IniWrite, 0, %ConfigFile2%, main, CFovY
IniWrite, 0, %ConfigFile2%, main, CSmoothX
IniWrite, 0, %ConfigFile2%, main, CSmoothY
IniWrite, 0, %ConfigFile2%, main, Ingamesensitivity
IniWrite, 0, %ConfigFile2%, main, BustSpeed
}
}
 
 
Gui, Color, FFFFFF
Gui, Font, s10, Arial
 
 
Gui, Add, Text, x20 y20 w290 h30, Configuration Settings
Gui, Add, Text, x20 y50 w290 h1,
 
Gui, Add, Text, x20 y70 w120 h20, ColVn:
Gui, Add, Text, x20 y100 w120 h20, ZeroX:
Gui, Add, Text, x20 y130 w120 h20, ZeroY:
Gui, Add, Text, x20 y160 w120 h20, CFovX:
Gui, Add, Text, x20 y190 w120 h20, CFovY:
Gui, Add, Text, x20 y220 w120 h20, CSmoothX:
Gui, Add, Text, x20 y250 w120 h20, CSmoothY:
Gui, Add, Text, x20 y280 w120 h20, In-game Sensitivity:
Gui, Add, Text, x20 y310 w120 h20, Bust Speed:
Gui, Add, Edit, x150 y70 w140 h20 +VColVn, 38
Gui, Add, Edit, x150 y100 w140 h20 +VZeroX, %autoadjustedwidth%
Gui, Add, Edit, x150 y130 w140 h20 +VZeroY, %autoadjustedheight%
Gui, Add, Edit, x150 y160 w140 h20 +VCFovX, 45
Gui, Add, Edit, x150 y190 w140 h20 +VCFovY, 45
Gui, Add, Edit, x150 y220 w140 h20 +VCSmoothX, 1
Gui, Add, Edit, x150 y250 w140 h20 +VCSmoothY, 1
Gui, Add, Edit, x150 y280 w140 h20 +VIngamesensitivity, 10
Gui, Add, Edit, x150 y310 w140 h20 +VBustSpeed, 0.14
 
Gui, Add, Button, x20 y360 w130 h32 gsub3, TriggerBot ON
Gui, Add, Button, x160 y360 w130 h32 gsub4, TriggerBot OFF
Gui, Add, Button, x20 y400 w130 h32 gsub6, AimBot ON
Gui, Add, Button, x160 y400 w130 h32 gsub7, AimBot OFF
Gui, Add, Button, x160 y13 w130 h35 gsub5, Auto-Adjust Resolution
Gui, Add, Button, x20 y440 w130 h32 gsub8, Widow ON ; 1350ms delay between shots to allow scope to be charged
Gui, Add, Button, x160 y440 w130 h32 gsub9, Widow OFF ; normal 250ms between shots
Gui, Add, Button, x160 y480 w130 h32 gsub1, Save
Gui, Add, Button, x20 y480 w130 h32 gsub2, Load
 
 
Gui, Add, DropDownList, x20 y520 w270 h24 +Vchoice, Config1|Config2|Config3|Config4|Config5|Config6|Config7|Config8|Config9|Config10
 
 
Gui, +Resize
Gui, Show,
 
Winset, Alwaysontop, On, A
Return
 
sub1:
{
gui,submit,nohide
configfile = %choice%.ini
IniWrite, %ColVn%, %configfile%, main, ColVn
IniWrite, %ZeroX%, %configfile%, main, ZeroX
IniWrite, %ZeroY%, %configfile%, main, ZeroY
IniWrite, %CFovX%, %configfile%, main, CFovX
IniWrite, %CFovY%, %configfile%, main, CFovY
IniWrite, %CSmoothX%, %configfile%, main, CSmoothX
IniWrite, %CSmoothY%, %configfile%, main, CSmoothY
IniWrite, %Ingamesensitivity%, %configfile%, main, Ingamesensitivity
IniWrite, %BustSpeed%, %configfile%, main, BustSpeed
gui,submit,nohide
return
}
sub2:
{
gui,submit,nohide
configfile = %choice%.ini
IniRead, ColVn, %configfile%, main, ColVn
IniRead, CFovX, %configfile%, main, CFovX
IniRead, CFovY, %configfile%, main, CFovY
IniRead, ZeroX, %configfile%, main, ZeroX
IniRead, ZeroY, %configfile%, main, ZeroY
IniRead, CSmoothX, %configfile%, main, CSmoothX
IniRead, CSmoothY, %configfile%, main, CSmoothY
IniRead, Ingamesensitivity, %configfile%, main, Ingamesensitivity
IniRead, BustSpeed, %configfile%, main, BustSpeed
GuiControl,, ColVn, %ColVn%
GuiControl,, CFovX, %CFovX%
GuiControl,, CFovY, %CFovY%
GuiControl,, ZeroX, %ZeroX%
GuiControl,, ZeroY, %ZeroY%
GuiControl,, CSmoothX, %CSmoothX%
GuiControl,, CSmoothY, %CSmoothY%
GuiControl,, Ingamesensitivity, %Ingamesensitivity%
GuiControl,, BustSpeed, %BustSpeed%
gui,submit,nohide
return
}
sub3:
{
gui,submit,nohide
TriggerBotON = "true"
gui,submit,nohide
return
}
 
sub4:
{
gui,submit,nohide
TriggerBotON = "false"
gui,submit,nohide
return
}
 
sub5:
{
GuiControl,, ZeroX, %autoadjustedwidth%
GuiControl,, ZeroY, %autoadjustedheight%
return
}
 
sub6:
{
gui,submit,nohide
AimBotON = "true"
gui,submit,nohide
return
}
 
sub7:
{
gui,submit,nohide
AimBotON = "false"
gui,submit,nohide
return
}
 
sub8:
{
GuiControl,, WidowStatus, Widow ON
GuiControl, Disable, gsub8
GuiControl, Enable, gsub9
TriggerDelay := 1350
return
}
 
sub9:
{
GuiControl,, WidowStatus, Widow OFF
GuiControl, Disable, gsub9
GuiControl, Enable, gsub8
TriggerDelay := 250
return
}
 
 
Loop, {
~LButton::
Start := A_TickCount
while GetKeyState("LButton") && A_TickCount - Start < 600000
{
if AimBotON = "True"
{
Gui, Submit, NoHide
ScanL := ZeroX - CFovX
ScanR := ZeroX + CFovX
ScanT := ZeroY - CFovY
ScanB := ZeroY + CFovY
ColVn2 := 44
ScanL2 := ZeroX - 3
ScanR2 := ZeroX + 3
ScanT2 := ZeroY - 3
ScanB2 := ZeroY + 3
PixelSearch, AimPixelX, AimPixelY, ScanL, ScanT, ScanR, ScanB, EMCol, ColVn, Fast RGB
PixelSearch, AimPixelX2, AimPixelY2, ScanR, ScanB, ScanL, ScanT, EMCol, ColVn, Fast RGB
GoSub GetAimOffset
GoSub GetAimMoves
GoSub MouseMoves
}
if TriggerBotON = "true"
{
if GetKeyState("XButton2")
PixelSearch, AimPixelX, AimPixelY, ScanL2, ScanT2, ScanR2, ScanB2, EMCol, ColVn2, Fast RGB
if (ErrorLevel=0) {
PixelSearch, AimPixelX, AimPixelY, ScanL2, ScanT2, ScanR2, ScanB2, EMCol, ColVn2, Fast RGB
Loop , 1{
AHI.SendMouseButtonEvent(11, 0, 1)
AHI.SendMouseButtonEvent(11, 0, 0)
sleep, %TriggerDelay%
}
}
}
}
 
GetAimOffset:
AimX := AimPixelX2 - ZeroX
AimY := ((AimPixelY + AimPixelY2) / 2) - ZeroY
 
If ( AimX > 0 ) {
DirX := 1
}
If ( AimX < 0 ) {
DirX := -1
}
If ( AimY > 0 ) {
DirY := 1
}
If ( AimY < 0 ) {
DirY := -1
}
AimOffsetX := AimX * DirX
AimOffsetY := AimY * DirY
Return
 
 
GetAimMoves:
RootX := Ceil(( AimOffsetX ** 1))
RootY := Ceil(( AimOffsetY ** 1))
MoveX := (RootX * DirX) / CSmoothX
MoveY := (RootY * DirY) / CSmoothY
Return
 
 
MouseMoves:
MoveMultipler := ((0.0066 * Ingamesensitivity * 1) / BustSpeed)
AHI.SendMouseMove(11, MoveX * MoveMultipler, MoveY * MoveMultipler)
return
}
return

Важно: Это база под допил. Колорботы — штука капризная, зависят от вашего разрешения и настроек графики. Если аим трясет, крутите Smooth и In-game Sensitivity в конфиге.

Кто пробовал юзать Interception в последних патчах, как сейчас со статусом детекта у драйвера?
 
Назад
Сверху Снизу