Author Topic: Ребят очень надо помогите написать сценарий  (Read 21946 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Устранение пропущенных моментов.
Версия 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]


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
C перезагрузкой через заданное время
+ Поставил 5 сек. не найденные серые поля.
rebut.bmp в FIFA\textures


ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
FIFA\textures
Что за игра? Я так и не понял.
По фото которые тут в  ветке висят   гугль нашел только этот сайт
http://fifaonline2.iahgames.com/Site/Index.aspx
« Last Edit: December 18, 2012, 10:20:44 AM by ЦИТРИН »
Бабочки полёт будит тихую поляну в солнечном свету...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Поспешил и в 17-ой накосячил. Зато быстро :)


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
 FIFA ver.2.8
Добавлен режим простого поиска при достижении 836 страницы и возврат в нормальный режим.
Пришлось перекомпоновать связь блоков программы. Может где и сломал то, что работало как часы.
Не проверял. Ну это понятно, т.к. не было возможности дойти до нового режима.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Да, чуть не углядел.
В 135 строке поменяй
Code: (clickermann) [Select]
IF($forward=0)на
Code: (clickermann) [Select]
IF($forward=1)


mberka

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
 Прошу помощи
 Помогите создать скрипт для игры
 В одном и томже месте появляется молоток,по нему требуется кликнуть мышкой,
 через 5-10 секунд молоток появляется сново,опять по нему клик,и тд
 x-150.y-155.цвет 87654321,
                   цвет молотка 12345678,
                   цвет указан символически
 CM V4.5 или 4.7 SE
 ЗАРАНЕЕ СПОСИБО

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Скриншот экрана   сделай,  чтобы вслепую не советовать.
Выложи его сюда.
Задача не сложная  на первый взгляд.
Бабочки полёт будит тихую поляну в солнечном свету...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Версия 2.9
// добавлена повторная перезагрузка F5 если aksi не загрузился в течении 60 сек
// отчёт в файле FIFA_log.txt  сам файл кинь в папку со скриптом или создай пустой с таким именем
// добавил проверки на время где углядел из-за чего в скрипте сам начал плутать (ещё одно такое добавление и ппц)

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

Замеченные опечатки  :D
Перезалил
« Last Edit: January 10, 2013, 08:40:48 AM by Vint »


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
3.0
Добавлены новые пожелания.
Я вот сейчас подумал, а 8 чёрное это не "совсем чёрное" в смысле на чёрном фоне? А то я обычные искал, как 75.
// добавлена покупка чёрной восьмёрки за 300
// оптимизирован поиск OK
// раздельный отчёт о купленных карточках 75 и 8 в файле FIFA_log.txt

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

Перезалил исправленную.
« Last Edit: January 22, 2013, 12:30:07 PM by Vint »


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
v. 3.1
выбор стандартный/упрощённый режим для всего поиска