Пол года трудился над скриптом,боюсь бан получить. На подобии WoT. Отправил название личкой
#logfile "??????? LOG.txt"
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
$MOVE_SPEED = 1 // множитель скорости (отвечает за количество точек)
$MOVE_Start_X = $_xmouse
$MOVE_Start_Y = $_ymouse
$MOVE_X = $MOVE_Start_X
$MOVE_Y = $MOVE_Start_Y
$dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
$MOVE_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
IF($MOVE_SPEEDVAR < 1)
$MOVE_SPEEDVAR = 1
END_IF
$MOVE_step=($dist-1)/$MOVE_SPEEDVAR
$MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
$MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
FOR($MOVE_i=0, $MOVE_i<INT($MOVE_step))
$MOVE_X = $MOVE_X + $MOVE_X_step
$MOVE_Y = $MOVE_Y + $MOVE_Y_step
MOVE(ROUND($MOVE_X,0)+RND(-2,2), ROUND($MOVE_Y,0)+RND(-2,2)) // добавляем рандом
WAITMS($rnwait) // задержка при движении по точкам
END_CYC
END_SUB
SUB(m_move,$Mm_X,$Mm_Y)
$rnwait = RND(6,15) // случайная скорость
$MOVE_MID_X = ($_xmouse+$Mm_X)/2
$MOVE_MID_Y = ($_ymouse+$Mm_Y)/2
mouse_move($MOVE_MID_X+RND(-30,30),$MOVE_MID_Y+RND(-30,30))
mouse_move($Mm_X,$Mm_Y)
MOVE($Mm_X,$Mm_Y) //Передвинуть окончательно в заданную точку
END_SUB
//===================================================================
LOGSHOW(1,1618,0) // Лог и его позиция
waitms(50)
WNDSIZE ( wndfind("Лог"), 300, 1030) // Размер лога
waitms(50)
$win_x = 1616 // Ширина окна 1600
$win_y = 938 // Высота окна 900
FOR($wn, $wn < 1)
WNDSIZE ( wndfind("???????"), $win_x, $win_y)
waitms(250)
WNDPOS ( wndfind("???????"), 0, 0) // Центрировать окно по левому краю
waitms(150)
END_CYC
//==========================
$m_x = 1278 // Вся мини карта
$m_y = 600 // Вся мини карта
$m_max_x = 1574 // Вся мини карта
$m_max_y = 896 // Вся мини карта
$by_x = $m_c_x-10 // Враг близко
$by_y = $m_c_y-10 // Враг близко
$by_x1 = $m_c_x+10 // Враг близко
$by_y1 = $m_c_y+10 // Враг близко
$m_c_x = INT(($m_x+$m_max_x)/2) // Центр мини карты
$m_c_y = INT(($m_y+$m_max_y)/2) // Центр мини карты
$m_x2 = INT(($m_c_x+$m_x)/2) // X
$m_x1 = INT(($m_x2+$m_x)/2) // X
$m_x3 = INT(($m_c_x+$m_x2)/2) // X
$m_y2 = INT(($m_c_y+$m_y)/2) // Y
$m_y1 = INT(($m_y2+$m_y)/2) // Y
$m_y3 = INT(($m_c_y+$m_y2)/2) // Y
$m_x5 = INT(($m_c_x+$m_max_x)/2) // X
$m_x4 = INT(($m_c_x+$m_x5)/2) // X
$m_x6 = INT(($m_x5+$m_max_x)/2) // X
$m_y5 = INT(($m_c_y+$m_max_y)/2) // Y
$m_y4 = INT(($m_c_y+$m_y5)/2) // Y
$m_y6 = INT(($m_y5+$m_max_y)/2) // Y
FOR($print,$print < 1)
print ("=========== ВСЯ КАРТА ===========")
print ("$m_x:",$m_x," ","$m_c_x:",$m_c_x," ","$m_max_x:",$m_max_x)
print ("$m_y:",$m_y," ","$m_c_y:",$m_c_y," ","$m_max_y:",$m_max_y)
print ("=================================")
print ("$m_x1:",$m_x1, " ","$m_x2:",$m_x2," ","$m_x3:",$m_x3)
print ("$m_x4:",$m_x4, " ","$m_x5:",$m_x5," ","$m_x6:",$m_x6)
print ("=================================")
print ("$m_y1:",$m_y1, " ","$m_y2:",$m_y2," ","$m_y3:",$m_y3)
print ("$m_y4:",$m_y4, " ","$m_y5:",$m_y5," ","$m_y6:",$m_y6)
END_CYC
//===============================
SUB(key) // Проверить нажатые кнопки и отжать
if ( iskeydown(#W)=1 )
KEYUP(#W)
waitms(10)
end_if
if ( iskeydown(#A)=1 )
KEYUP(#A)
waitms(10)
end_if
if ( iskeydown(#S)=1 )
KEYUP(#S)
waitms(10)
end_if
if ( iskeydown(#D)=1 )
KEYUP(#D)
waitms(10)
end_if
if ( iskeydown(#Q)=1 )
KEYUP(#Q)
waitms(10)
end_if
if ( iskeydown(#E)=1 )
KEYUP(#E)
waitms(10)
end_if
END_SUB
//===============================
SUB(S,$t)
SETTHREAD (W, 2)
key()
KEYDOWN(#S)
waitms(rnd(500,1000)+$t)
KEYUP(#S)
waitms(rnd(50,100))
END_SUB
//===============================
SUB(A,$t)
IF($ta < $_ms)
waitms(rnd(50,150))
KEYDOWN(#A)
waitms(rnd(200,300)+$t)
KEYUP(#A)
$ta = $_ms+1800
END_IF
END_SUB
//===============================
SUB(D,$t)
IF($td < $_ms)
waitms(rnd(50,150))
KEYDOWN(#D)
waitms(rnd(200,300)+$t)
KEYUP(#D)
$td = $_ms+1800
END_IF
END_SUB
//===============================
THREAD(W, 0)
print("W")
KEYDOWN(#W)
waitms(rnd(4000,8000))
KEYUP(#W)
waitms(rnd(1000,1500))
END_THREAD
//===============================
THREAD(Ckey, 1) // Если АФК
DEFINE($tkey,$_ms+6000)
if ((iskeydown(#W)=1)|(iskeydown(#S)=1)|(iskeydown(#Q)=1)|(iskeydown(#E)=1)|(iskeydown(#A)=1)|(iskeydown(#D)=1)|(iskeydown(1)=1))
$tkey = $_ms+6000
End_IF
IF($tkey<$_ms)
$base=1
End_IF
waitms(50)
END_THREAD
//===============================
IF($scan=0)
$x=0
$y=0
GETSCREEN (0,0,$win_x,$win_y)
SCANPXL($arr,$m_x,$m_y,$m_max_x,$m_c_y,16230484) // Свой 16230484, бот 13997650
FOR($a=0,$a<ARRSIZE($arr),2)
IF(DIST($arr[$a],$arr[$a+1],$m_c_x,$m_c_y)<DIST($x,$y,$m_c_x,$m_c_y))
$x=$arr[$a]
$y=$arr[$a+1]
END_IF
END_CYC
IF(($x=0)&($y=0))
SCANPXL($orr,$m_x,$m_c_y,$m_max_x,$m_max_y,16230484)
FOR($b=0,$b<ARRSIZE($orr),2)
IF(DIST($orr[$b],$orr[$b+1],$m_c_x,$m_c_y)<DIST($x,$y,$m_c_x,$m_c_y))
$x=$orr[$b]
$y=$orr[$b+1]
END_IF
END_CYC
END_IF
IF((ARRSIZE($arr)>1)|(ARRSIZE($orr)>1))
$base=0
else
$base=1
END_IF
UNDEFINE($arr)
UNDEFINE($orr)
END_IF
//================================
GETSCREEN(0,0,$win_x,$win_y) // Застрял
$stuck1 = $stuck
$stuck = PXLCRC($m_x2,$m_y4,$m_x5,$m_y4)
IF (($stuck = $stuck1)&($stuck2 < $_ms))
print("ЗАСТРЯЛ")
S(500)
KEYDOWN(RNDFROM(81,69))
waitms(rnd(2500,4500))
key()
END_IF
waitms(20)
//================================
IF($base=1) // Ищем базы
GETSCREEN(0,0,$win_x,$win_y)
COLORMODE(7, $m_x,$m_y,$m_max_x,$m_max_y)
IF_PICTURE_IN ($m_x,$m_y, $m_max_x,$m_max_y, "В_ру.bmp", 255, 100)
print("Вижу базу В")
$x = $_return1+6
$y = $_return2+6
else
WAITMS(20)
print("Не вижу базу B")
GETSCREEN(0,0,$win_x,$win_y)
COLORMODE(7, $m_x,$m_y,$m_max_x,$m_max_y)
IF_PICTURE_IN ($m_x,$m_y, $m_max_x,$m_max_y, "А_ру.bmp", 255, 100)
print("Вижу базу А")
$x = $_return1+6
$y = $_return2+6
else
Waitms(20)
print("Не вижу базу А")
A(0)
END_IF
END_IF
waitms(20)
END_IF
//=================================
$go=1
IF (($m_x3<$x)&($m_x4>$x)&($m_y<$y)&($by_y>$y)&($go=1)) // W (a3-d4-18)
SETTHREAD (W, 1)
waitms(1000)
$go=0
else
$go=1
END_IF
//=====================
IF (($m_x<$x)&($by_x>$x)&($m_y3<$y)&($m_c_y>$y)&($go=1)) // A (d-d3-18)
print("A")
A(100)
$go=0
else
$go=1
END_IF
//=====================
IF (($m_x<$x)&($m_x3>$x)&($m_y<$y)&($m_y3>$y)&($go=1)) // Aa
print("Aa")
A(0)
$go=0
else
$go=1
END_IF
//=====================
IF (($by_x1<$x)&($m_max_x>$x)&($m_y3<$y)&($m_c_y>$y)&($go=1)) // D (d4+18-d7)
print("D")
D(100)
$go=0
else
$go=1
END_IF
//==========================
IF (($m_x4<$x)&($m_max_x>$x)&($m_y<$y)&($m_y3>$y)&($go=1))
print("Dd")
D(0)
$go=0
else
$go=1
END_IF
//===========================
IF (($m_x<$x)&($m_max_x>$x)&($m_c_y<$y)&($m_max_y>$y)&($go=1)) // Назад
print("Назад")
SETTHREAD (W, 2)
S(500)
D(500)
$go=0
else
$go=1
END_IF
//==========================
GETSCREEN (0,0,$win_x,$win_y)
COLORMODE(5,$win_x-933,$win_y-31,$win_x-875,$win_y-10) // 683,907,741,928
WHILE(PXLCOUNT($win_x-933,$win_y-31,$win_x-875,$win_y-10, 2072575)>50) // Ищем надпись "Space"
print("Вижу Space")
SETTHREAD (W, 2)
key()
waitms(10000)
$stuck2 = $_ms + 15000 // Задержка выполнения "ЗАСТРЯЛ"
GETSCREEN (0,0,$win_x,$win_y)
COLORMODE(5,$win_x-933,$win_y-31,$win_x-875,$win_y-10)
END_CYC
waitms(20)
GETSCREEN (0,0,$win_x,$win_y)
IF(PXLCOUNT($win_x-391,$win_y-133,$win_x-191,$win_y-58,17878)>30) // В_бой 1225,805,1425,880
$stuck2 = $_ms + 15000 // Задержка выполнения "ЗАСТРЯЛ"
$scan=1
SETTHREAD (W, 2)
key()
waitms(rnd(300,5000))
m_move ((rnd($win_x-373,$win_x-166)),(rnd($win_y-118,$win_y-74))) // 1243,1450:820,864
waitms(rnd(100,300))
LCLICK($_xmouse,$_ymouse)
print("В_бой нажато")
waitms(3000)
else
waitms(20)
GETSCREEN(0,0,$win_x,$win_y)
COLORMODE(7,660,130,950,190)
IF_PICTURE_IN (660,130,950,190, "В_БОЙ_7.bmp", 255, 100)
m_move($_return1+(rnd(-50,60)), $_return2+(rnd(-10,20)))
waitms(rnd(100,300))
LCLICK($_xmouse,$_ymouse)
print("В_БОЙ нажато")
else
$scan=0
END_IF
END_IF
waitms(20)
//==============================
GETSCREEN (0,0,$win_x,$win_y)
COLORMODE(5, $m_x3,$m_y3,$m_x4,$m_y4)
IF_PIXEL_IN($m_x3,$m_y3,$m_x4,$m_y4, 2039807) // Враги
print("Вижу_врага")
m_move(rnd($win_x/2-400,$win_x/2+400),(rnd($win_y/2-100,$win_y/2+100)))
$en=0
WHILE($en=0)
waitms(50)
IF_PIXEL_IN($by_x-8,$by_y-8,$by_x1+8,$by_y1+8, 2039807)
print("Враг_близко")
IF($time < $_time_t)
LDOWN($_xmouse,$_ymouse)
waitms(rnd(100,200))
LUP($_xmouse,$_ymouse)
$time = $time_t + (rnd(5,10))
END_IF
SETTHREAD (W, 1)
A(0)
waitms(rnd(600,1500))
SETTHREAD (W, 2)
key()
GETSCREEN (0,0,$win_x,$win_y)
COLORMODE(5,$by_x-8,$by_y-8,$by_x1+8,$by_y1+8)
else
print("Враг далеко")
$en=1
END_IF
END_CYC
WAITMS(20)
END_IF
//====================================
DEFINE($off,$_ms+rnd(1200000,1800000)) //вкл "СОН" через 20-30 минут
IF($off < $_ms)
print("Спим")
SETTHREAD (W, 2)
key()
m_move(rnd(0,$win_x),(rnd(0,$win_y)))
wait(rnd(180,420)) // ждать 3-7 минут
m_move(rnd(0,$win_x),(rnd(0,$win_y)))
waitms(rnd(3000,5000))
FOR($off1,$off1 < 2)
GETSCREEN(0,0,$win_x,$win_y)
COLORMODE(6,0,int($win_y/2), $win_x,$win_y)
IF_PICTURE_IN (0,int($win_y/2), $win_x,$win_y, "ОК_6_ру.bmp", 255, 100)
m_move($_return1+(rnd(-50,60)), $_return2+(rnd(-10,20)))
waitms(rnd(100,300))
LCLICK($_xmouse,$_ymouse)
waitms(rnd(1000,3000))
else
wait(2)
END_IF
GETSCREEN(0,0,$win_x,$win_y)
COLORMODE(6,0,int($win_y/2), $win_x,$win_y)
IF_PICTURE_IN (0,int($win_y/2), $win_x,$win_y, "Steam_6.bmp", 255, 100)
m_move($_return1+(rnd(-50,60)), $_return2+(rnd(-10,20)))
waitms(rnd(100,300))
LCLICK($_xmouse,$_ymouse)
waitms(rnd(10000,15000))
else
wait(2)
END_IF
GETSCREEN(0,0,$win_x,$win_y)
COLORMODE(6,0,int($win_y/2), $win_x,$win_y)
IF_PICTURE_IN (0,int($win_y/2), $win_x,$win_y, "Закрыть_6.bmp", 255, 100)
m_move($_return1+(rnd(-50,60)), $_return2+(rnd(-10,20)))
waitms(rnd(100,300))
LCLICK($_xmouse,$_ymouse)
waitms(rnd(1000,3000))
else
wait(2)
END_IF
END_CYC
UNDEFINE($off)
UNDEFINE($off1)
END_IF
//============================
DEFINE($OFF3, $_time_t + 7200) // 1800(30м) 3600(1ч) 7200(2ч)
If($OFF3 < $_time_t)
print("Выключаю Комп")
waitms(rnd(1000,3000))
m_move((rnd($win_x-44,$win_x-16)),(rnd($win_y-937,$win_y-924)))
waitms(rnd(100,300))
LCLICK($_xmouse,$_ymouse)
EXECUTE ("shutdown.exe", "/s /t 09")
HALT(1)
END_IF