Автокликер Clickermann :: Форум

Основной раздел => Использование => Topic started by: Konstantin on November 22, 2012, 12:39:15 PM

Title: Ребят очень надо помогите написать сценарий
Post by: Konstantin on November 22, 2012, 12:39:15 PM
Всем привет. Ребята помогите пожалуйста написать сценарий. Сижу 4 для голову себе уже сломал неполучается. Сценарий должен быть таким! В нижней части монитора картинки 12 штк. Из них мне надо выбрать определёную картинку(GETSCREEN IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a.bmp")).На её надо как бы поставить ставку .Ставку можно зделат обычным кликом( LCLICK(0,0)//ставка сделана). Но если кто то уже зделал на неё (картинку номер 1) ставку то программа должна игнорировать картинку (номера 1) и искать дальше, не возвращаясь к первой(тоесть искать такую же следующую картинку номер2).Из 12 картинок можыт быть 1, 2, 3,.. картинок которые мне нужны. А если никто неделал ставку программа должна поставить ставку,но сначала программа должна проверить была ли ставка на ету картинку (можно использовать (GETSCREEN IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp"), тоесть если картинка а1.бмп совпала то на неё можно делать ставку, (если несовпала то без ставки искать дальше). После того как Кликерманн проверил 12 картинок (или всю зону поиска) должен переити на следующую это можно зделать обычным кликом. ( LCLICK(0,0)//перейти на другую страницу) вот и всё со следующей странице всё сначало. Ребят очень надо помогите (чайнику :-)) Зарание спасибо.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Johnny on November 22, 2012, 01:24:14 PM
ты голову сломал а я глаза.
ты уже сам все расписал же, команды знаешь нужные. в чем проблема то? с чем помочь?
вызываешь 12 раз if_picture_in для каждой из 12 ячеек и смотришь что там - свободная или со ставкой.

вся сложность определить была ли ставка. но с этим ты сам разберешься, как оно там у вас отображается в игре (или что это). не хочется говорить эту фразу, но телепатов тут нет. ты даже скриншот не показал что за ставки что за картинки.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Konstantin on November 22, 2012, 02:13:38 PM
Я пытался написать сам. Команды смогу написать а связать команды вместе неполучается нехватает знаний. Получаетя примерно так!
Ячейка 1 из 12 .Это игра онлаин
1.GETSCREEN
2.IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a.bmp")   //здесь ищю картинку по всему экрану а.бмп (картинку находит 100% находит все нужные картинки из 12ти(ячеек) несмотря   где они стоят)
3.LCLICK($_return1,$_return2)     //здесь кликает на наиденую картинку (тоже Работает)
При условии если картинка нашлась (в ячейки номер 1.). Програма должна делать ещё одну проверку (тоесть пункт 4.)
4.IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp", //здесь тоже работает
Если все впорядке и картинка а1.бмп тоже найдена (если ставка незделана) программа должна делать действие номер 5.и 6.
5.LCLICK(200,200)
6.LCLICK(500,500)
Если все пункты зделаны( тоесть пункт 1.2.3.4.5.6.). То программа должна переходить в ячейку номер 2
Но если в пункте 2. или 4. картинка ненашлась, то она должна переходить в ячейку номер 2(тоесть искат 2ю картинку)
НУ ВОТ Я НЕМОГУ СВЕЗАТь КОМАНДы ВМЕСТЕ (с этими командами как if_end else......)
Зарание благодарю
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Konstantin on November 22, 2012, 02:39:33 PM
Kartinka!!!
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on November 22, 2012, 03:22:17 PM
Я пытался написать сам. Команды смогу написать а связать команды вместе неполучается нехватает знаний. Получаетя примерно так!
Ячейка 1 из 12 .Это игра онлаин
1.GETSCREEN
2.IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a.bmp")   //здесь ищю картинку по всему экрану а.бмп (картинку находит 100% находит все нужные картинки из 12ти(ячеек) несмотря   где они стоят)
3.LCLICK($_return1,$_return2)     //здесь кликает на наиденую картинку (тоже Работает)
При условии если картинка нашлась (в ячейки номер 1.). Програма должна делать ещё одну проверку (тоесть пункт 4.)
4.IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp", //здесь тоже работает
Если все впорядке и картинка а1.бмп тоже найдена (если ставка незделана) программа должна делать действие номер 5.и 6.
5.LCLICK(200,200)
6.LCLICK(500,500)
Если все пункты зделаны( тоесть пункт 1.2.3.4.5.6.). То программа должна переходить в ячейку номер 2
Но если в пункте 2. или 4. картинка ненашлась, то она должна переходить в ячейку номер 2(тоесть искат 2ю картинку)
НУ ВОТ Я НЕМОГУ СВЕЗАТь КОМАНДы ВМЕСТЕ (с этими командами как if_end else......)
Зарание благодарю

Здесь не только глаза, здесь мозг сломать можно.

Объясни не торопясь.
Пункт 2 ищешь в конкретном секторе или тебе по барабану где она найдётся, т.е. п.4 выполняется ТОЛЬКО если п.2 в секторе 1?

Искомая картинка на одном экране может быть только в 1 экземпляре или может быть одновременно несколько?

Если важно то, в каком секторе нашлась картинка, нужно знать ширину сектора в пикселях и... лучше скриншот полного экрана.

Title: Re: Ребят очень надо помогите написать сценарий
Post by: Oraven on November 22, 2012, 03:25:04 PM
Нужно писать отдельный код для каждого сектора
IF_PICTURE_IN(100,100,300,300, "a.bmp") // сектор 1 и тд

И они по очереди будут проверять каждую табличку и производить там действия
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on November 22, 2012, 03:47:39 PM
Нужно писать отдельный код для каждого сектора...
....по очереди будут проверять каждую табличку и производить там действия
или так:
Code: [Select]

$x = 0
$y = 0  здесь отрежь экран по высоте, чтобы не находил большую карточку.

next:
IF($x<$_xmax)
   GETSCREEN
   IF_PICTURE_IN($x,$y,$_xmax,$_ymax, "a.bmp")
      LCLICK($_return1,$_return2)
      WAITMS(300)
      GETSCREEN
      IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp"
         LCLICK(200,200)   //п.5
         WAITMS(200)
         LCLICK(500,500)   //п.6
         WAITMS(200)
      END_IF
      $x = $x+62
      GOTO(next)
   END_IF
END_IF

LCLICK(чегото-там) //переходим на след. страницу
WAIT(1)
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Konstantin on November 22, 2012, 04:14:10 PM
Картинку вообще видно???  Картинка разбита в паите снизу  зелёным цветом на 12 секторов.
Котэ  я понел (знаю) что надо будет писать для каждого сектора оделно. Мне главно сделать для сектора 1 и остальные 11 будут иметь аналогичный код. Толко изменятся сектор поиска.
1.  GETSCREEN
2.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a.bmp")     //здесь ищю картинку по всему экрану а.бмп (картинку находит 100% находит все нужные картинки из 12ти(ячеек) несмотря   где они стоят)
3.  LCLICK($_return1,$_return2)                              //здесь кликает на наиденую картинку (тоже Работает)
                                                                    При условии если картинка нашлась (в секторе номер 1.). Програма должна делать ещё одну проверку (тоесть пункт 4.)
4.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp",     //здесь тоже работает
                                                                   Если все впорядке и картинка а1.бмп тоже найдена (если ставка незделана) программа должна делать действие номер 5.и 6.
5.  LCLICK(200,200)
6.  LCLICK(500,500)

Винт понемаю тоже голова кипит. Но даваите разберём шаг за шагом. Давайте отбросим пока все кординаты.

СЕКТОР 1

1.  GETSCREEN
2.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a.bmp")   
3.  LCLICK($_return1,$_return2)                             
4.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp",     
5.  LCLICK(200,200)
6.  LCLICK(500,500)                       Так должно работать если картинка "а.бмп" найдена и картинка "а1.бмп" СЕКТОРЕ 1. После 6.  LCLICK(500,500) должно перехадить в СЕКТОР 2


 2ой Сценарий

СЕКТОР 1

1.  GETSCREEN
2.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a.bmp")  ______!!!!  "а.бмп" небыла найдена!!!!!!!!!_______
3.  LCLICK($_return1,$_return2)                             
4.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp",     
5.  LCLICK(200,200)
6.  LCLICK(500,500)                       В этом случии  программа должна перехадить сразу в СЕКТОР 2 Не делая  3.  LCLICK($_return1,$_return2)                             
                                                                                                                                                               4.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp",     
                                                                                                                                                               5.  LCLICK(200,200)
                                                                                                                                                               6.  LCLICK(500,500)
 3рий Сценарий

СЕКТОР 1

1.  GETSCREEN
2.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a.bmp") 
3.  LCLICK($_return1,$_return2)                             
4.  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a1.bmp",    ______!!!!  "а1.бмп" небыла найдена!!!!!!!!!_______
5.  LCLICK(200,200)
6.  LCLICK(500,500)                           В этом случии  программа должна перехадить сразу в СЕКТОР 2 Не делая                         
                                                                                                                                                               5.  LCLICK(200,200)
                                                                                                                                                               6.  LCLICK(500,500)

И эти три сценария должна знать программа,  тоесть делать все 6   если всё впорядке(если обе картинки найдены "а.бмп" и"а1.бмп" ), но перескакивать сразу если картинка "а.бмп" или "а1.бмп" была ненайдена. Сразу переходит в сектор 2.

Ребят если что-то нетак пишу извеняюс
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Konstantin on November 22, 2012, 04:15:40 PM
Ok Vint schjas poprobuu! spasibo
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on November 22, 2012, 05:03:54 PM
...
И эти три сценария должна знать программа,  тоесть делать все 6   если всё впорядке(если обе картинки найдены "а.бмп" и"а1.бмп" ), но перескакивать сразу если картинка "а.бмп" или "а1.бмп" была ненайдена. Сразу переходит в сектор 2.

Ну так я написал код. Тебе только настроить координаты кнопок, отсечь верхнюю карточку и всё.
Если хочешь допиши ещё проверку на определение последней страницы, чтобы скрипт останавливался.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Konstantin on November 22, 2012, 05:23:59 PM
Vint ja probuu esche  polovina rabotaet polovina  net, esli proverjau odelno  IF_PICTURE_IN(0,0,$_xmax,$_ymax, "a.bmp")
      dbLCLICK($_return1,$_return2) rabotaet wmeste necho4it!!! 4e delat ???????? ???
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on November 23, 2012, 07:51:05 AM
Сделай скриншот полного экрана в png, и вместе со своими a.bmp и a1.bmp пришли или выложи в сообщении.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on December 07, 2012, 10:17:08 AM
Что это за окно? Вылазит после ставки. Думал подтверждение, сделал его ожидание.
Но теперь иногда его нет????
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on December 07, 2012, 03:16:20 PM
Ну вот такой...
Проверяй. Если что-то не работает пиши.
ЦУ:
Версия Clickermann  -  v4.7.001
Окно с карточками должно быть загружено.
Перематывать не нужно, само перемотает.
Если страница первая перемотает чуть быстрее. (параметр $speed=20 можно менять, в "сезон" лучше выставить больше)
Идём вперёд до "часа", потом проверяем назад (58-59 минуты), после проверяем только 59-ю.
Балансируем туда-сюда.

Code: (clickermann) [Select]
#name "FIFA"
// Author: Vint
// Version: 2.0 (07.12.2012)

//--------------------------------
$speed=20 // количество страниц пропускаемых, от начала, быстро без проверки
//--------------------------------

//--------------------------------
$forward=1 // o-нет перемотки, 1-перемотка вперёд
//--------------------------------


WAIT(1)

//====  Находим Fifa
MOVE($_xmax, $_ymax)  //паркуемся
GETSCREEN
COLORMODE(5)
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "textures\home.bmp")
   LCLICK($_return1,$_return2+70)
   WAITMS(100)
   $vX=$_return1-16
   $vY=$_return2+51
   LOGWRITE("Fifa found")
   LOGWRITE("$vX = ", $vX, "  $vY = ", $vY)
   WAITMS(200)
ELSE
   LOGWRITE("Fifa not found")
   HINTPOPUP("Fifa not found")
   HALT
END_IF

//====  Инициализация
$first=1 // 1-перый проход, 0- не первый
$napr=2 // куда идём 1-влево, 2-вправо
$sdelano=0 // счётчик купленных карточек
$park_x=$vX+640 // парковка
$park_y=$vY+220
$page_Lx=$vX+405 // стрелка по страницам  влево
$page_Ly=$vY+220
$page_Rx=$vX+558 // стрелка по страницам  вправо
$page_Ry=$vY+220
$stavka_1x=$vX+540 //  поле stavka
$stavka_1y=$vY+122
$stavka_2x=$vX+600
$stavka_2y=$vY+140
$nostavka_1x=$vX+440 //  поле no_stavka
$nostavka_1y=$vY+90
$nostavka_2x=$vX+470
$nostavka_2y=$vY+102
$gebot_1x=$vX+390 //  поле gebot
$gebot_1y=$vY+120
$gebot_2x=$vX+435
$gebot_2y=$vY+142
$startmany_1x=$vX+460 //  поле startmany
$startmany_1y=$vY+50
$startmany_2x=$vX+480
$startmany_2y=$vY+70
$basik_1x=$vX+3 //  поле карточек
$basik_1y=$vY+248
$basik_2x=$vX+840
$basik_2y=$vY+266
$lx=$vX+40 //  левая карточка
$ly=$vY+275
$l_1x=$vX+140 //  поле левой карточки
$l_1y=$vY+140
$l_2x=$vX+222 //250 старое значение
$l_2y=$vY+158
$rx=$vX+820 //  правая карточка
$ry=$vY+275
$r_1x=$vX+850 //  поле правой карточки
$r_1y=$vY+140
$r_2x=$vX+920
$r_2y=$vY+158

//====

IF($forward=0)
   //GOTO(poisk)    //для отладки
   GOTO(start)
END_IF

GETSCREEN        // если 1-я стр. мотаем на ~30 страниц без проверки
IF_PICTURE_IN ($vX+420,$vY+210,$vX+510,$vY+228, "textures\seite1von.bmp")
   LOGWRITE("1 page, forward ~30")
   $i=0
   FOR($i, $i < $speed)     // мотаем вправо на N страниц
      LCLICK($page_Rx,$page_Ry)
      WAITMS(100)
      GOSUB(zagruzka)
   END_CYC
END_IF

$pic = 1          // перелистывание вправо по 5 страниц
WHILE($pic = 1)
   MOVE($lx, $ly)  //  левая карточка
   WAITMS(150)
   
   $fon = 1
   WHILE($fon = 1)
      GETSCREEN
      IF (PXL($lx+60, $ly-137)=6643283)
         $fon = 0
      END_IF
      WAITMS(100)
   END_CYC
   
   GETSCREEN
   IF_PICTURE_IN ($l_1x,$l_1y,$l_2x,$l_2y, "textures\stunden.bmp")
      $pic = 0
      LCLICK($page_Lx,$page_Ly)   // на 1 страницу назад
      WAITMS(100)
      GOSUB(zagruzka)
   ELSE
      $i=0
      FOR($i, $i < 5)    // 5 раз вправо
         LCLICK($page_Rx,$page_Ry)
         WAITMS(100)
         GOSUB(zagruzka)
      END_CYC
      $pic = 1
   END_IF
   //LOGWRITE("$pic ",$pic)
END_CYC



//====
start:

// проверка stunden слева
MOVE($lx, $ly)  //  левая карточка
WAITMS(150)

$fon = 1
WHILE($fon = 1)
   GETSCREEN
   IF (PXL($lx+60, $ly-137)=6643283)
      $fon = 0
   END_IF
   WAITMS(100)
END_CYC

GETSCREEN
IF_PICTURE_IN ($l_1x,$l_1y,$l_2x,$l_2y, "textures\stunden.bmp")
   LCLICK($page_Lx,$page_Ly)
   WAITMS(200)
   GOSUB(zagruzka)
   $napr=1
   GOTO(start)
END_IF

// проверка меньше 58-59 справа
MOVE($rx, $ry)  //  правая карточка
WAITMS(150)

$fon = 1
WHILE($fon = 1)
   GETSCREEN
   IF (PXL($rx+60, $ry-137)=6643283)
      $fon = 0
   END_IF
   WAITMS(100)
END_CYC
WAITMS(100)

$nichego=0
$poisk=0
GETSCREEN
IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\stunden.bmp")
   $poisk=1
   $napr=1
   INC($nichego)
END_IF

IF($first=1)
   IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\58_1sm.bmp")
      $poisk=1
      $napr=2
      INC($nichego)
   END_IF
   
   IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\58_2sm.bmp")
      $poisk=1
      INC($nichego)
   END_IF
END_IF

IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\59_1sm.bmp")
   $poisk=1
   INC($nichego)
END_IF

IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\59_2sm.bmp")
   $poisk=1
   INC($nichego)
END_IF

IF(($nichego=0) & ($first=1)) // проверка первого прохода, оптимизация
   $first=0
END_IF

IF($poisk=0)
   LCLICK($page_Rx,$page_Ry)
   WAITMS(200)
   GOSUB(zagruzka)
   $napr=2
   GOTO(start)
END_IF

poisk:
$basik_temp=$basik_1x

WHILE($basik_temp<$basik_2x)
   MOVE($lx, $ly)
   WAITMS(100)
   
   $fon = 1
   WHILE($fon = 1)
      GETSCREEN
      IF (PXL($lx+60, $ly-137)=6643283)
         $fon = 0
      END_IF
      WAITMS(100)
   END_CYC
   
   MOVE($park_x, $park_y)  //паркуемся
   WAITMS(300)
   
   GETSCREEN
   //LOGWRITE("ищу 75")
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75_1sm.bmp")
      $basik_temp=$_return1+60
      LOGWRITE("nashli 75")
      GOSUB(nashli_75)
   ELSE
      IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75_2sm.bmp")
         $basik_temp=$_return1+60
         LOGWRITE("nashli 75")
         GOSUB(nashli_75)
      ELSE
         $basik_temp=$basik_2x+1
         LOGWRITE("нет 75")
         //HINTPOPUP("нет 75")
      END_IF
   END_IF
END_CYC

//HALT

IF($napr=1)
   LCLICK($page_Lx,$page_Ly)
   WAITMS(300)
ELSE
   LCLICK($page_Rx,$page_Ry)
   WAITMS(300)
END_IF
GOSUB(zagruzka)

//LOGWRITE("На старт")
GOTO(start)
HALT


//==============================================================================
SUB(nashli_75) //======== nashli_75  ===========================================
   LCLICK($_return1,$_return2)
   WAITMS(300)
   $picgdem= "textures\start_many.bmp"
   $picgd_1x=$startmany_1x
   $picgd_1y=$startmany_1y
   $picgd_2x=$startmany_2x
   $picgd_2y=$startmany_2y
   GOSUB(gdem_kartinku)
   
   GETSCREEN
   IF_PICTURE_IN ($vX+350,$vY+19,$vX+380,$vY+35, "textures\stunden_kart.bmp")
      $basik_temp=$basik_temp+62
      $napr=1
      LOGWRITE("проверку stunden не прошла, время stunden")
      GOTO(end_nashli)
   END_IF
   WAITMS(500)
   IF_PICTURE_IN ($nostavka_1x,$nostavka_1y,$nostavka_2x,$nostavka_2y, "textures\no_stavka.bmp")
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_150.bmp")
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         GOSUB(stavka)
         GOTO(end_nashli)
      END_IF
     
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_200.bmp")
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         GOSUB(stavka)
         GOTO(end_nashli)
      END_IF
     
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_250.bmp")
         WAITMS(200)
         GOSUB(stavka)
      END_IF
   ELSE
      LOGWRITE("уже есть ставка")
   END_IF
end_nashli:
GOSUB(zagruzka)
END_SUB


//==============================================================================
SUB(stavka) //=========== stavka  ==============================================

WAITMS(200)
GETSCREEN
IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_250.bmp")
   IF_PICTURE_IN ($stavka_1x,$stavka_1y,$stavka_2x,$stavka_2y, "textures\stavka.bmp")
      LOGWRITE("НАШЁЛ!!! СТАВЛЮ!!!")
      //HINTPOPUP("НАШЁЛ!!! СТАВЛЮ!!!") //заглушка для отладки
      //HALT                          //заглушка для отладки
      LCLICK($_return1,$_return2)
      WAITMS(1500) // задержка на проверку успел-нет
      GOSUB(oblom)
   END_IF
   WAITMS(300)
   GOSUB(zagruzka)
END_IF
END_SUB


//==============================================================================
SUB(oblom) //=========== опоздал, хе-хе  =======================================

GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "textures\ok.bmp")
   LCLICK($_return1,$_return2)
   LOGWRITE("Опоздали. Hi-hi.")
ELSE
   INC($sdelano)
   LOGWRITE("Подтвердил ставку")
   LOGWRITE("Куплено карточек всего: ", $sdelano)
   WAITMS(200)
END_IF

END_SUB


//==============================================================================
SUB(zagruzka) //=========== zagruzka  ==========================================

MOVE($park_x, $park_y)  //паркуемся
WAITMS(150)

$gknb_sch=0
$pic = 1
WHILE($pic = 1)
   INC ($gknb_sch)
   IF($gknb_sch = 30)
      LOGWRITE("Не дождался загрузки")
   END_IF
   
   GETSCREEN
   IF ((PXL($vX+182,$vY+11)=15658217) & (PXL($vX+170,$vY+20)=15657960))
      $pic = 0
   END_IF
   WAITMS(100)
END_CYC
END_SUB


//==============================================================================
SUB(gdem_kartinku) //======== gdem_kartinku  ===================================

MOVE($park_x, $park_y)  //паркуемся
WAITMS(300)

$gknb_sch=0
$pic = 1
WHILE($pic = 1)
   INC ($gknb_sch)
   IF($gknb_sch = 30)
      LOGWRITE("Не дождался картинки")
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN ($picgd_1x,$picgd_1y, $picgd_2x, $picgd_2y, $picgdem)
      $pic = 0
   END_IF
   WAITMS(100)
END_CYC
END_SUB


//==============================================================================

За оформление,... $vX,... $vY,... и др. спасибо Oraven.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on December 07, 2012, 10:57:19 PM
Вот как дома работает:
http://youtu.be/XXXXXXXXXX
Домотал только после 2:10 примерно.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on December 14, 2012, 01:06:22 PM
Устранение пропущенных моментов.
Версия 2.4
[spoiler]
Code: (clickermann) [Select]

#name "FIFA ver.2.4"
// Author: Vint
// Version: 2.4 (14.12.2012)
// под версию Clickermann 4.7 SE

//--------------------------------
$speed=20 // количество страниц пропускаемых, от начала, быстро без проверки
//--------------------------------

//--------------------------------
$forward=1 // o-нет перемотки, 1-перемотка вперёд
//--------------------------------


WAIT(1)

//====  Находим Fifa
MOVE($_xmax, $_ymax)  //паркуемся
GETSCREEN
COLORMODE(5)
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "textures\home.bmp")
   LCLICK($_return1,$_return2+70)
   WAITMS(100)
   $vX=$_return1-16
   $vY=$_return2+51
   LOGWRITE("Fifa found")
   LOGWRITE("vX = ", $vX, "  vY = ", $vY)
   WAITMS(200)
ELSE
   LOGWRITE("Fifa not found")
   HINTPOPUP("Fifa not found")
   HALT
END_IF

//====  Инициализация
$first=1 // 1-перый проход, 0- не первый
$napr=2 // куда идём 1-влево, 2-вправо
$sdelano=0 // счётчик купленных карточек
$park_x=$vX+640 // парковка
$park_y=$vY+220
$page_Lx=$vX+405 // стрелка по страницам  влево
$page_Ly=$vY+220
$page_Rx=$vX+558 // стрелка по страницам  вправо
$page_Ry=$vY+220
$stavka_1x=$vX+540 //  поле stavka
$stavka_1y=$vY+122
$stavka_2x=$vX+600
$stavka_2y=$vY+140
$nostavka_1x=$vX+440 //  поле no_stavka
$nostavka_1y=$vY+90
$nostavka_2x=$vX+470
$nostavka_2y=$vY+102
$gebot_1x=$vX+390 //  поле gebot
$gebot_1y=$vY+120
$gebot_2x=$vX+435
$gebot_2y=$vY+142
$startmany_1x=$vX+460 //  поле startmany
$startmany_1y=$vY+50
$startmany_2x=$vX+480
$startmany_2y=$vY+70
$basik_1x=$vX+13 //  поле карточек
$basik_1y=$vY+246
$basik_2x=$vX+840
$basik_2y=$vY+262
$lx=$vX+40 //  левая карточка
$ly=$vY+275
$l_1x=$vX+140 //  поле левой карточки
$l_1y=$vY+140
$l_2x=$vX+222 //250 старое значение
$l_2y=$vY+158
$rx=$vX+820 //  правая карточка
$ry=$vY+275
$r_1x=$vX+850 //  поле правой карточки
$r_1y=$vY+140
$r_2x=$vX+920
$r_2y=$vY+158

//====

IF($forward=0)
   //GOTO(poisk)    //для отладки
   GOTO(start)
END_IF

GETSCREEN        // если 1-я стр. мотаем на ~30 страниц без проверки
IF_PICTURE_IN ($vX+420,$vY+210,$vX+510,$vY+228, "textures\seite1von.bmp")
   LOGWRITE("1 page, forward ~30")
   $i=0
   FOR($i, $i < $speed)     // мотаем вправо на N страниц
      LCLICK($page_Rx,$page_Ry)
      WAITMS(100)
      GOSUB(zagruzka)
   END_CYC
END_IF

$pic = 1          // перелистывание вправо по 5 страниц
WHILE($pic = 1)
   MOVE($lx, $ly)  //  левая карточка
   WAITMS(150)
   $many_time=$_time_t+30
   
   $fon = 1
   WHILE($fon = 1)
     
      IF($_time_t>$many_time)
         LCLICK($lx+128, $ly)
         WAITMS(100)
         MOVE($lx, $ly)
         WAITMS(400)
         $many_time=$_time_t+30
      END_IF
     
      GETSCREEN
      IF (PXL($lx+60, $ly-137)=6643283)
         $fon = 0
      END_IF
      WAITMS(100)
   END_CYC
   
   GETSCREEN
   IF_PICTURE_IN ($l_1x,$l_1y,$l_2x,$l_2y, "textures\stunden.bmp")
      $pic = 0
      LCLICK($page_Lx,$page_Ly)   // на 1 страницу назад
      WAITMS(100)
      GOSUB(zagruzka)
   ELSE
      $i=0
      FOR($i, $i < 5)    // 5 раз вправо
         LCLICK($page_Rx,$page_Ry)
         WAITMS(100)
         GOSUB(zagruzka)
      END_CYC
      $pic = 1
   END_IF
   //LOGWRITE("$pic ",$pic)
END_CYC



//====
start:

// проверка stunden слева
MOVE($lx, $ly)  //  левая карточка
WAITMS(150)
$many_time=$_time_t+30

$fon = 1
WHILE($fon = 1)
   
   IF($_time_t>$many_time)
      LCLICK($lx+128, $ly)
      WAITMS(100)
      MOVE($lx, $ly)
      WAITMS(400)
      $many_time=$_time_t+30
   END_IF
   
   GETSCREEN
   IF (PXL($lx+60, $ly-137)=6643283)
      $fon = 0
   END_IF
   WAITMS(100)
END_CYC

GETSCREEN
IF_PICTURE_IN ($l_1x,$l_1y,$l_2x,$l_2y, "textures\stunden.bmp")
   LCLICK($page_Lx,$page_Ly)
   WAITMS(200)
   GOSUB(zagruzka)
   $napr=1
   GOTO(start)
END_IF

// проверка меньше 58-59 справа
MOVE($rx, $ry)  //  правая карточка
WAITMS(150)
$many_time=$_time_t+30

$fon = 1
WHILE($fon = 1)
   
   IF($_time_t>$many_time)
      LCLICK($rx-128, $ry)
      WAITMS(100)
      MOVE($rx, $ry)
      WAITMS(400)
      $many_time=$_time_t+30
   END_IF
   
   GETSCREEN
   IF (PXL($rx+60, $ry-137)=6643283)
      $fon = 0
   END_IF
   WAITMS(100)
END_CYC
WAITMS(100)

$nichego=0
$poisk=0
GETSCREEN
IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\stunden.bmp")
   $poisk=1
   $napr=1
   INC($nichego)
END_IF

IF($first=1)
   IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\58_1sm.bmp")
      $poisk=1
      $napr=2
      INC($nichego)
   END_IF
   
   IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\58_2sm.bmp")
      $poisk=1
      INC($nichego)
   END_IF
END_IF

IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\59_1sm.bmp")
   $poisk=1
   INC($nichego)
END_IF

IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\59_2sm.bmp")
   $poisk=1
   INC($nichego)
END_IF

IF(($nichego=0) & ($first=1)) // проверка первого прохода, оптимизация
   $first=0
END_IF

IF($poisk=0)
   LCLICK($page_Rx,$page_Ry)
   WAITMS(200)
   GOSUB(zagruzka)
   $napr=2
   GOTO(start)
END_IF

poisk:
$basik_temp=$basik_1x
$kart2=0

WHILE($basik_temp<$basik_2x)
   
   IF($kart2=1)
      $kart2=0
      MOVE($lx, $ly)
      WAITMS(300)
   ELSE
      MOVE($lx, $ly)
      WAITMS(100)
      $many_time=$_time_t+30
     
      $fon = 1
      WHILE($fon = 1)
         
         IF($_time_t>$many_time)
            LCLICK($lx+128, $ly)
            WAITMS(100)
            MOVE($lx, $ly)
            WAITMS(400)
            $many_time=$_time_t+30
         END_IF
         
         GETSCREEN
         IF (PXL($lx+60, $ly-137)=6643283)
            $fon = 0
         END_IF
         WAITMS(100)
      END_CYC
   END_IF
   
   MOVE($park_x, $park_y)  //паркуемся
   WAITMS(500)
   
   $img1=5000
   $img2=5000
   $img3=5000
   $img4=5000
   
   GETSCREEN
   COLORMODE(7,$basik_temp,$basik_1y,$basik_2x,$basik_2y)
   //LOGWRITE("ищу 75")
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75cm7_01.bmp")
      $img1=$_return1
   END_IF
   
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75cm7_02.bmp")
      $img2=$_return1
   END_IF
   
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75cm7_03.bmp")
      $img3=$_return1
   END_IF
   
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75cm7_04.bmp")
      $img4=$_return1
   END_IF
   
   IF(($img1=5000) & ($img2=5000) & ($img3=5000) & ($img4=5000))
      $basik_temp=$basik_2x+1
      //LOGWRITE("нет 75")
      //HINTPOPUP("нет 75")
   ELSE
      GOSUB(nashli_75)
   END_IF
   
END_CYC

//HALT

GETSCREEN
IF_PICTURE_IN ($vX+420,$vY+210,$vX+510,$vY+228, "textures\seite1von.bmp")
   $napr=2
END_IF

IF($napr=1)
   LCLICK($page_Lx,$page_Ly)
   WAITMS(300)
ELSE
   LCLICK($page_Rx,$page_Ry)
   WAITMS(300)
END_IF
GOSUB(zagruzka)

//LOGWRITE("На старт")
GOTO(start)
HALT


//==============================================================================
SUB(nashli_75) //======== nashli_75  ===========================================
   
   $pos=0
   $min=0
   IF($img2 < $img1)
      $pos=2
      $min=$img2
   ELSE
      $pos=1
      $min=$img1
   END_IF
   
   IF($img3 < $min)
      $pos=3
      $min=$img3
   END_IF
   
   IF($img4 < $min)
      $pos=4
      $min=$img4
   END_IF
   
   LOGWRITE("nashli 75 image:  ",$pos)
   $basik_temp=$min+60
   IF($min<$vX+60)
      $kart2=1
      //LOGWRITE ("kart2  ",$kart2)
   END_IF
   
   MOVE($min,$_return2)
   WAITMS(100)
   LDOWN($min,$_return2)
   WAITMS(100)
   LUP($min,$_return2)
   WAITMS(300)
   $kart2=0
   //LCLICK($_return1,$_return2)
   //WAITMS(300)
   
   $picgdem= "textures\start_many.bmp"
   $picgd_1x=$startmany_1x
   $picgd_1y=$startmany_1y
   $picgd_2x=$startmany_2x
   $picgd_2y=$startmany_2y
   GOSUB(gdem_kartinku)
   
   GETSCREEN
   IF_PICTURE_IN ($vX+350,$vY+19,$vX+380,$vY+35, "textures\stunden_kart.bmp")
      $napr=1
      LOGWRITE("проверку stunden не прошла, время stunden")
      GOTO(end_nashli)
   END_IF
   WAITMS(500)
   IF_PICTURE_IN ($nostavka_1x,$nostavka_1y,$nostavka_2x,$nostavka_2y, "textures\no_stavka.bmp")
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_150.bmp")
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         GOSUB(stavka)
         GOTO(end_nashli)
      END_IF
     
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_200.bmp")
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         GOSUB(stavka)
         GOTO(end_nashli)
      END_IF
     
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_250.bmp")
         WAITMS(200)
         GOSUB(stavka)
      END_IF
   ELSE
      LOGWRITE("уже есть ставка")
   END_IF
end_nashli:
GOSUB(zagruzka)
END_SUB


//==============================================================================
SUB(stavka) //=========== stavka  ==============================================

WAITMS(200)
GETSCREEN
IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_250.bmp")
   IF_PICTURE_IN ($stavka_1x,$stavka_1y,$stavka_2x,$stavka_2y, "textures\stavka.bmp")
      LOGWRITE("НАШЁЛ!!! СТАВЛЮ!!!")
      //HINTPOPUP("НАШЁЛ!!! СТАВЛЮ!!!") //заглушка для отладки
      //HALT                          //заглушка для отладки
      LCLICK($_return1,$_return2)
      WAITMS(1500) // задержка на проверку успел-нет
      GOSUB(oblom)
   END_IF
   WAITMS(300)
   GOSUB(zagruzka)
END_IF
END_SUB


//==============================================================================
SUB(oblom) //=========== опоздал, хе-хе  =======================================

GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "textures\ok.bmp")
   LCLICK($_return1,$_return2)
   LOGWRITE("Опоздали. Hi-hi.")
ELSE
   INC($sdelano)
   LOGWRITE("Подтвердил ставку")
   LOGWRITE("Куплено карточек всего: ", $sdelano)
   WAITMS(200)
END_IF

END_SUB


//==============================================================================
SUB(zagruzka) //=========== zagruzka  ==========================================

MOVE($park_x, $park_y)  //паркуемся
WAITMS(150)

$gknb_sch=0
$pic = 1
WHILE($pic = 1)
   INC ($gknb_sch)
   IF($gknb_sch = 30)
      LOGWRITE("Не дождался загрузки")
   END_IF
   
   GETSCREEN
   IF ((PXL($vX+182,$vY+11)=15658217) & (PXL($vX+170,$vY+20)=15657960))
      $pic = 0
   END_IF
   WAITMS(150)
END_CYC
END_SUB


//==============================================================================
SUB(gdem_kartinku) //======== gdem_kartinku  ===================================

MOVE($park_x, $park_y)  //паркуемся
WAITMS(300)

$gknb_sch=0
$pic = 1
WHILE($pic = 1)
   INC ($gknb_sch)
   IF($gknb_sch = 30)
      LOGWRITE("Не дождался картинки")
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN ($picgd_1x,$picgd_1y, $picgd_2x, $picgd_2y, $picgdem)
      $pic = 0
   END_IF
   WAITMS(100)
END_CYC
END_SUB


//==============================================================================
[/spoiler]
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on December 17, 2012, 04:17:46 PM
C перезагрузкой через заданное время
+ Поставил 5 сек. не найденные серые поля.
rebut.bmp в FIFA\textures
Title: Re: Ребят очень надо помогите написать сценарий
Post by: ЦИТРИН on December 17, 2012, 06:37:22 PM
FIFA\textures
Что за игра? Я так и не понял.
По фото которые тут в  ветке висят   гугль нашел только этот сайт
http://fifaonline2.iahgames.com/Site/Index.aspx
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on December 18, 2012, 05:12:53 PM
Поспешил и в 17-ой накосячил. Зато быстро :)
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on December 21, 2012, 02:41:16 PM
 FIFA ver.2.8
Добавлен режим простого поиска при достижении 836 страницы и возврат в нормальный режим.
Пришлось перекомпоновать связь блоков программы. Может где и сломал то, что работало как часы.
Не проверял. Ну это понятно, т.к. не было возможности дойти до нового режима.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on December 24, 2012, 09:03:53 AM
Да, чуть не углядел.
В 135 строке поменяй
Code: (clickermann) [Select]
IF($forward=0)на
Code: (clickermann) [Select]
IF($forward=1)
Title: Re: Ребят очень надо помогите написать сценарий
Post by: mberka on December 24, 2012, 09:23:46 PM
 Прошу помощи
 Помогите создать скрипт для игры
 В одном и томже месте появляется молоток,по нему требуется кликнуть мышкой,
 через 5-10 секунд молоток появляется сново,опять по нему клик,и тд
 x-150.y-155.цвет 87654321,
                   цвет молотка 12345678,
                   цвет указан символически
 CM V4.5 или 4.7 SE
 ЗАРАНЕЕ СПОСИБО
Title: Re: Ребят очень надо помогите написать сценарий
Post by: ЦИТРИН on December 25, 2012, 01:23:49 AM
Скриншот экрана   сделай,  чтобы вслепую не советовать.
Выложи его сюда.
Задача не сложная  на первый взгляд.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on January 09, 2013, 05:01:02 PM
Версия 2.9
// добавлена повторная перезагрузка F5 если aksi не загрузился в течении 60 сек
// отчёт в файле FIFA_log.txt  сам файл кинь в папку со скриптом или создай пустой с таким именем
// добавил проверки на время где углядел из-за чего в скрипте сам начал плутать (ещё одно такое добавление и ппц)

Проверяй, всё интуитивно ничего не проверял  :)

Замеченные опечатки  :D
Перезалил
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on January 21, 2013, 03:45:46 PM
3.0
Добавлены новые пожелания.
Я вот сейчас подумал, а 8 чёрное это не "совсем чёрное" в смысле на чёрном фоне? А то я обычные искал, как 75.
// добавлена покупка чёрной восьмёрки за 300
// оптимизирован поиск OK
// раздельный отчёт о купленных карточках 75 и 8 в файле FIFA_log.txt

OK при достижении 83х какой-то стр., скриншота у меня нет, делал как и первое. Если не будет ловить заскриншоть окно.

Перезалил исправленную.
Title: Re: Ребят очень надо помогите написать сценарий
Post by: Vint on February 01, 2013, 03:11:30 PM
v. 3.1
выбор стандартный/упрощённый режим для всего поиска