[spoiler]
#name "кликер баннеров и ссылок"
// названия рисунков
$bmp_1 = "banner.bmp"
$bmp_2 = "textlink.bmp"
$bmp_3 = "line.bmp"
//названия набора текста
$txt_1 = "клики баннеров"
$txt_2 = "клики выигрышных баннеров"
$txt_3 = "клики текстовых ссылок"
//======переменные=============================
$V = 20 // количество вкладок
$Z =0 // переменная срабатывания ошибки, при отсутствии нахождения картинок
$S_CORR = 0 // коррекция времени
$P = 0
$a=0
$t_r=60 //максимальное время отработки скрипта времени баннера
$t_v = 3 //время просмотра вкладок
//$t_z =0 // время задержки игнорирования
//===Подпрограмма плавного передвижения мыши===
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
$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_step = ($dist-1)/INT(SQRT($dist))
$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(INT($MOVE_X) + RND(-2,2), INT($MOVE_Y) + RND(-2,2))
WAITMS(RND(3,9)) // задержка при движении по точкам случайная скорость
END_CYC
END_SUB
SUB(m_move,$M_X,$M_Y)
$MOVE_MID_X = INT(($_xmouse+$M_X)/2)
$MOVE_MID_Y = INT(($_ymouse+$M_Y)/2)
$otx = INT(ABS($_xmouse - $M_X) * 0.12)
$oty = INT(ABS($_ymouse - $M_Y) * 0.12)
mouse_move($MOVE_MID_X+RND(-$otx,$otx), $MOVE_MID_Y+RND(-$oty,$oty))
mouse_move($M_X,$M_Y)
MOVE($M_X,$M_Y)
END_SUB
//=============================================
//=Подпрограмма поиска текстовых ссылок========
SUB(KST, $n_txt)
waitms(100 + $S_CORR)
KEYDOWN (#CTRL)
WAITMS (50+ $S_CORR)
KEYDOWN (#F)
WAITMS (50+ $S_CORR)
KEYUP (#F)
KEYUP (#CTRL)
KEYSTRING($n_txt)
KEYDOWN(#ESC)
WAITMS (50+ $S_CORR)
KEYUP(#ESC)
KEYDOWN(#ENTER)
WAITMS (50+ $S_CORR)
KEYUP(#ENTER)
UNDEFINE($n_txt)
END_SUB
//=============================================
//=Подпрограмма копирования в буфер, времени задержки
SUB(mysub)
waitms(50 + $S_CORR)
KEYDOWN (#CTRL)
WAITMS (50+ $S_CORR)
KEYDOWN (#F)
WAITMS (50+ $S_CORR)
KEYUP (#F)
KEYUP (#CTRL)
KEYSTRING("баннеры появятся через ")
KEYDOWN(#ESC)
WAITMS (50+ $S_CORR)
KEYUP(#ESC)
waitms(50 + $S_CORR)
FOR($a=0,$a<3) // повторяем 3 раза, произвёл работу над ошибками задал значение переменной $a=0
waitms(50 + $S_CORR)
KEYDOWN (#CTRL)
WAITMS (50+ $S_CORR)
KEYDOWN (#SHIFT)
KEYPRESS(#RIGHT)
KEYDOWN(#RIGHT)
WAITMS (50+ $S_CORR)
KEYUP (#SHIFT)
KEYUP(#RIGHT)
KEYUP (#CTRL)
END_CYC
KEYDOWN (#CTRL)
WAITMS (50+ $S_CORR)
KEYDOWN (#C)
WAITMS (50+ $S_CORR)
KEYUP (#C)
KEYUP (#CTRL)
$str = FROMCLIP()
$t_z = strfilter($str, "0123456789", 1 )
END_SUB
//=============================================
//=Подпрограмма поиска картинок================
SUB(FIND, $name_image,$startcoord_X,$startcoord_Y)
SCANPICTURE($ARR_SCAN, $startcoord_X,$startcoord_Y, $_xmax,$_ymax, $name_image, -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
WAITMS(500+ $S_CORR)
$Z = $X
HINTPOPUP($name_image, "Picture")
END_CYC
END_SUB
//=============================================
DEFINE($time, $_time_t + $t_z*60) // объявляю задержку
//=============================================
//Баннеры
waitms(100 + $S_CORR)
lDown(1533,749)
waitms(50 + $S_CORR)
lUp(1533,749)
waitms(50 + $S_CORR)
//=====вызов текстовой ссылки======
KST($txt_1)
//=============================================
WAIT(RND(15,17)+ $S_CORR) // ждём загрузку
//=============================================
GETSCREEN
FIND ($bmp_1,0,0)
$X1 = $X
$Y1 = $Y
m_move($X+30, $Y)
RDOWN($X+30, $Y)
//=============================================
FIND ($bmp_3,619,567)
//=============================================
LOGWRITE ("Найдено: ", ARRSIZE($ARR_SCAN)/2)
IF(ARRSIZE($ARR_SCAN)/2=2 )
$X2 = $X
$Y2 = $Y
m_move($X+100, $Y)
RUP($X+100, $Y)
ELSE
WHEELDOWN (25) //>>>>
GETSCREEN
FIND ($bmp_3,0,0)
WAITMS (700+ $S_CORR)
IF(ARRSIZE($ARR_SCAN)/2=2 )
m_move($X+100, $Y)
RUP($X+100, $Y)
WAIT(RND(3,4)+ $S_CORR)
$X2 = $X
$Y2 = $Y
WHEELUP(25) //<<<
ELSE
m_move(692,1015)
RUP(692,1015)
$X2 = 692
$Y2 = 1015
END_IF
END_IF
WAITMS (200+ $S_CORR)
//===Вычисление дистанции======================
$distance=dist($X1,$Y1,$X2,$Y2)
LOGWRITE ("distance1=",$distance)
UNDEFINE($X1) //если не сбросить переменные, значение будет ложным
UNDEFINE($Y1)
UNDEFINE($X2)
UNDEFINE($Y2)
UNDEFINE($ARR_SCAN)
//==Проверка времени===========================
IF($time < $_time_t)
//=====вызов текстовой ссылки======
KST($txt_3)
//=============================================
WAIT(rnd (6,9)+ $S_CORR) // ждём загрузку
//=вызов=поиск картинок========================
GETSCREEN
FIND($bmp_2,0,0)
m_move($X+30, $Y)
RDOWN($X+30, $Y)
$X1 = $X
$Y1 = $Y
$P=$Z
//=============================================
WAIT(RND(2,5)+ $S_CORR)
//вызов=поиск картинок===========================
FIND ($bmp_3,619,567)
LOGWRITE ("Найдено: ", ARRSIZE($ARR_SCAN)/2)
IF(ARRSIZE($ARR_SCAN)/2=2 )
m_move($X+100, $Y)
RUP($X+100, $Y)
$X2 = $X
$Y2 = $Y
$distance1=dist($X1,$Y1,$X2,$Y2)
LOGWRITE ("distance2=",$distance1)
IF($distance1>58)
$t_z=0 //спасибо ребятам и само собой как-то получилось
WAITMS (200+ $S_CORR)
ELSE
mysub() //вызов подпрограммы копирования
LOGWRITE ("Найдено время задержки: ", $t_z) // Если не верно
END_IF
ELSE
WHEELDOWN (15)//>>>>
WAITMS (700+ $S_CORR)
WHEELDOWN (15)//>>>>
WAITMS (700+ $S_CORR)
GETSCREEN
FIND ($bmp_3,0,0)
IF(ARRSIZE($ARR_SCAN)/2=2 )
m_move($X+100, $Y)
RUP($X+100, $Y)
$X2 = $X
$Y2 = $Y
WHEELUP(30)
ELSE
m_move(692,1015)
RUP(692,1015)
$X2 = 692
$Y2 = 1015
END_IF
END_IF
$time = $_time_t + $t_z*60 //
INIWRITE ("time.ini", "Time1", $time1, "TIME")
UNDEFINE($X1) //если не сбросить переменные, значение будет ложным
UNDEFINE($Y1)
UNDEFINE($X2)
UNDEFINE($Y2)
UNDEFINE($ARR_SCAN)
$time = $_time_t + $t_z*60
END_IF //конец проверки времени
//=============================================
// коррекция окна
m_move(128,49)
lDown(128,49)
waitms(50 + $S_CORR)
lUp(128,49)
waitms(50 + $S_CORR)
KEYDOWN (#CTRL)
WAITMS (50+ $S_CORR)
KEYDOWN (#1)
WAITMS (50+ $S_CORR)
KEYUP (#1)
KEYUP (#CTRL)
WAIT(rnd(10,15))
//=============================================
//======вычисление количества баннеров и ссылок (вкладок)============
IF(82!ROUND(($distance+$distance1),0), $V!0, $t_v!0)
$V= ROUND(($distance/105)+($distance1/105),0)
$t_v = ROUND($t_r/$V, 0)
LOGWRITE ("v:",$V)
LOGWRITE ("t_v:",$t_v)
ELSE
$V=1
$t_v=60
END_IF
//=============================================
//<<<<
//WAIT(RND(5,11)+ $S_CORR)
//=============================================
IF($Z!0 )
//перемещение по вкладкам
FOR($a=0,$a<$V) // повторяем 12 раза добавил значения переменных хотя хз и без этого работает
// тело
KEYDOWN (#CTRL)
WAITMS (50+ $S_CORR)
KEYDOWN (#PAGEDOWN)
WAITMS (50+ $S_CORR)
KEYUP (#PAGEDOWN)
KEYUP (#CTRL)
//=============================================
// нажатие 5
//KEYDOWN (#CTRL)
//WAITMS (50+ $S_CORR)
//KEYDOWN (#F)
//WAITMS (50+ $S_CORR)
//KEYUP (#F)
//KEYUP (#CTRL)
//KEYSTRING("5")
//GETSCREEN ( 885,125, 1049,153)
//IF_PIXEL_IN(885,125, 1049,153, 8117049)
// KEYDOWN(#ESC)
//WAITMS (500+ $S_CORR)
//KEYUP(#ESC)
//KEYDOWN(#ENTER)
//WAITMS (50+ $S_CORR)
//KEYUP(#ENTER)
// WAITMS(100)
// 8117049
//END_IF
WAIT ($t_v+ $S_CORR)
END_CYC
KEYDOWN (#CTRL)
WAITMS (50+ $S_CORR)
KEYDOWN (#1)
WAITMS (50+ $S_CORR)
KEYUP (#1)
KEYUP (#CTRL)
//=============================================
WAIT(2+ $S_CORR) //ожидаем отработку скрипта
//=============================================
m_move(42,38)
RCLICK(42,38) // закрытие вкладок
WAIT(2+ $S_CORR)
m_move(131,172)
LCLICK(131,172) // вкладка "закрыть вкладки справа"
WAIT(2+ $S_CORR)
WAIT(rnd(2,4)+ $S_CORR)
m_move(914,550)
LCLICK(914,550)
WAIT(6+ $S_CORR)
//=============================================
//LCLICK(290,12) //очистка мышкой
//WAIT(1+ $S_CORR)
//LCLICK(319,155)
//WAIT(2+ $S_CORR)
//LCLICK(110,439)
//WAIT(2+ $S_CORR)
//LCLICK(968,400)
//WAITMS(730+ $S_CORR)
//LCLICK(968,400)
//WAIT(3+ $S_CORR)
//LCLICK(418,44)
KEYDOWN (#CTRL) //clear клавиатурой
WAITMS (50+ $S_CORR)
KEYDOWN (#SHIFT)
WAITMS (50+ $S_CORR)
KEYDOWN(#DELETE)
WAITMS (50+ $S_CORR)
KEYUP (#SHIFT)
KEYUP (#CTRL)
KEYUP (#DELETE)
WAITMS (2500+ $S_CORR)
KEYDOWN(#ENTER)
WAITMS (50+ $S_CORR)
KEYUP(#ENTER)
WAITMS(300+ $S_CORR)
//=============================================
// закрытие лишних вкладок
//WAIT(5+ $S_CORR)
//RCLICK(78,42)
//WAIT(2+ $S_CORR)
//LCLICK(180,172)
//WAIT(3+ $S_CORR)
//LCLICK(910,553)
//WAIT(3 + $S_CORR)
// коррекция окна
waitms(50 + $S_CORR)
KEYDOWN (#CTRL)
WAITMS (50+ $S_CORR)
KEYDOWN (#1)
WAITMS (50+ $S_CORR)
KEYUP (#1)
KEYUP (#CTRL)
WAIT(RND(3,4)+ $S_CORR)
ELSE
LOGWRITE ("ERROR")
EXECUTE("cmd.exe","/C taskkill /F /IM firefox.exe /T")
WAIT(60+ $S_CORR)
EXECUTE("firefox.exe","http://www.сайт с баннерами и ссылками")
WAIT(60+ $S_CORR)
END_IF
//=============================================
// полная очистка
//IF($time1 < $_time_t)
//$time1 = $_time_t + $t_z*60
//INIWRITE ("time.ini", "Time1", $time1, "TIME")
//запись в файл time.ini времени следующего срабатывания условия
// здесь пишутся необходимые действия
//=============================================
//=============================================
//KEYDOWN (#CTRL) //clear
//WAITMS (50+ $S_CORR)
//KEYDOWN (#SHIFT)
//WAITMS (50+ $S_CORR)
//KEYDOWN(#DELETE)
// WAITMS (50+ $S_CORR)
//KEYUP (#SHIFT)
//KEYUP (#CTRL)
// KEYUP (#DELETE)
//WAITMS (2500+ $S_CORR)
//KEYDOWN(#ENTER)
//WAITMS (50+ $S_CORR)
//KEYUP(#ENTER)
//WAITMS(300+ $S_CORR)
//=============================================
UNDEFINE($Z)
//конец цикла
[/spoiler]