Author Topic: Прошу ткнуть носом в SUB  (Read 1930 times)

0 Members and 1 Guest are viewing this topic.

Gamsa

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
Прошу ткнуть носом в SUB
« on: January 26, 2017, 02:26:08 PM »
Добрый день не могу понять почему срабатывает sub(крафт) не по вызову из sub(сборкрафт). Прошу потыкать носом где ошибка
Code: (clickermann) [Select]
//сбор ресурсов
sub(ресурсы)
   LCLICK(1886,173)
   WAIT(1)
   LCLICK(1886,215)
   WAIT(1)
   LCLICK(1886,265)
   WAIT(1)
   LCLICK(1886,313)
   WAIT(1)
   LCLICK(1886,360)
   WAIT(1)
   LCLICK(1886,400)
   WAIT(1)
   LCLICK(1886,445)
   WAIT(1)
   LCLICK(1886,500)
   WAIT(1)
   LCLICK(1886,540)
   WAIT(1)
   LCLICK(1886,600)
   WAIT(1)
end_sub

//крафт
sub(крафт)
   //первый крафт
   Getscreen
   Lclick(973,327) //координаты "1"  (779,322) - левый квадрат (973,327) - второй квадрат
   print("начинаем крафт 1")
   Wait(1)
   Getscreen //стандартное окно крафта
   If_pixel_in(1750,616,1770,640,9291559) //зеленый - можно крафтить
      lclick($_return1, $_return2)
      print("крафт с 1го окна зеленый")
      WAIT(1)
   else
      If_pixel_in(1749,619,1770,632,10004917) //серый - иди жать на крестик
         lclick($_return1, $_return2)
         WAIT(1)
      else
         Getscreen // ресурсы другого качества
         If_pixel_in(1410,570,1420,580,9291559) //зеленый - можно крафтить
            lclick($_return1, $_return2)
            WAIT(1)
         else
            Getscreen //проверим что там с окошком у нас может нужно перейти на крафт 2
            If_pixel_in(1858,69,1876,84,7305348) //проверка на крестик и стандартное окно
            else
               // второй крафт
               Getscreen
               Lclick(779,322) //координаты "1"  (779,322) - левый квадрат (973,327) - второй квадрат
               print("начинаем крафт 2")
               Wait(1)
               Getscreen //стандартное окно крафта
               If_pixel_in(1750,616,1770,640,9291559) //зеленый - можно крафтить
                  lclick($_return1, $_return2)
                  print("крафт с 1го окна зеленый")
                  WAIT(1)
               else
                  If_pixel_in(1749,619,1770,632,10004917) //серый - иди жать на крестик
                     lclick($_return1, $_return2)
                     WAIT(1)
                  else
                     Getscreen // ресурсы другого качества
                     If_pixel_in(1410,570,1420,580,9291559) //зеленый - можно крафтить
                        lclick($_return1, $_return2)
                        WAIT(1)
                     else
                        Getscreen //проверим что там с окошком у нас может нужно перейти на крафт 2
                        If_pixel_in(1858,69,1876,84,7305348) //проверка на крестик и стандартное окно
                        else
                           WAIT(1)
                           _if
                     End_if
                  End_if
               End_if
            End_if
         End_if
      End_if
   End_if
End_if
end_sub


sub(диалог)
//поиск цвета диалогового окна
$_xd=1052
$_yd=93
$_xd2=1834
$_yd2=489
$_colord=14146270
Getscreen($_xd,$_yd,$_xd2,$_yd2)
If_pixel_in($_xd,$_yd,$_xd2,$_yd2,$_colord)
   Lclick($_return1,$_return2)
   print("нашел кому продать")
   Wait(1)
   //окно торговли
   $ms=$_ms+30000
   While($ms>$_ms)
      Getscreen
      If_pixel_in(1601,524,1693,562,3355596)//отмена
         $check=1
         $otx=$_return1
         $oty=$_return2
         $ms=-1
      Else
         Waitms(100)
      End_if
   End_cyc
   If($ms=-1)
      Skip:
      Getscreen
      If_pixel_in(1581,298,1720,384,16531877)//наценка
         Lclick($_return1,$_return2)
         print("Больше денег")
         Wait(1)
         Getscreen
         If_pixel_in(1577,601,1753,705,9357352)//продать
            Lclick($_return1,$_return2)
            print("Продать")
            Wait(1)
         End_if
      Else
         //Кусок проверки замены
         //поиск цвета предложить/поменять товар
         $_xd=1407
         $_yd=335
         $_xd2=1414
         $_yd2=369
         $_colord=6538239
         Getscreen($_xd,$_yd,$_xd2,$_yd2)
         If_pixel_in($_xd,$_yd,$_xd2,$_yd2,$_colord)
            Lclick($_return1,$_return2)
            print("Поменяем")
            Wait(2)
            gosub(крафт)
         Else
            Waitms(100)
            Lclick($otx,$oty)
            print("Не купили")
            Wait(2)
         End_if
      End_if
   End_if
Else
   Waitms(100)
End_if

//диалоговые окна желтый цвет
Getscreen
If_pixel_in(1052,93,1834,489,7722472)
   Lclick($_return1,$_return2)
   Wait(2)
   $check2=0
   While($check2=0)
      Getscreen
      If_pixel_in(1576,554,1753,653,9357352)//продать
         $k_x=$_return1
         $k_y=$_return2
         $check2=1
         $check3=0
         While($check3=0)
            Getscreen
            If_pixel_in(1580,245,1713,329,16531877)//наценка
               Lclick($_return1,$_return2)
               Wait(1)
            Else
               $check3=1
            End_if
         End_cyc
         Lclick($k_x,$k_y)
         Wait(1)
      Else
         Waitms(300)
      End_if
   End_cyc
End_if
end_sub

//сбор крафта
sub(сборкрафт)
//поиск законченного крафта
getscreen
if_pixel_in(875,710,885,720,15335166)       
   lclick($_return1, $_return2)
   wait(1)
   lclick(1090,675)
   print("Крафт 1 готов")
   WAIT(1)
   lclick($_return1, $_return2)
gosub(крафт)
   WAIT(1)
else
   if_pixel_in(985,710,995,720,15335166)
      lclick($_return1, $_return2)
      wait(1)
      lclick(1090,675)
      print("Крафт 2 готов")
      WAIT(1)
      lclick($_return1, $_return2)
      gosub(крафт)
      WAIT(1)
   else
      if_pixel_in(1095,710,1105,720,15335166)
         lclick($_return1, $_return2)
         wait(1)
         lclick(1090,675)
         print("Крафт 3 готов")
         WAIT(1)
         lclick($_return1, $_return2)
         gosub(крафт)
         WAIT(1)
      else
         if_pixel_in(1205,710,1215,720,15335166)
            lclick($_return1, $_return2)
            wait(1)
            lclick(1090,675)
            print("Крафт 4 готов")
            WAIT(1)
            lclick($_return1, $_return2)
            gosub(крафт)
            WAIT(1)
         else
            if_pixel_in(1315,710,1325,720,15335166)
               lclick($_return1, $_return2)
               wait(1)
               lclick(1090,675)
               print("Крафт 5 готов")
               WAIT(1)
               lclick($_return1, $_return2)
               gosub(крафт)
               WAIT(1)
            else
               if_pixel_in(1425,710,1435,715,9894398)
                  lclick($_return1, $_return2)
                  wait(1)
                  lclick(1090,675)
                  print("Крафт 6 готов")
                  WAIT(1)
                  lclick($_return1, $_return2)
                  gosub(крафт)
                  WAIT(1)
               else
                  if_pixel_in(1535,710,1545,720,15335166)
                     lclick($_return1, $_return2)
                     wait(1)
                     lclick(1090,675)
                     print("Крафт 7 готов")
                     WAIT(1)
                     lclick($_return1, $_return2)
                     gosub(крафт)
                     WAIT(1)
                  else
                     if_pixel_in(1645,710,1655,720,15335166)
                        lclick($_return1, $_return2)
                        wait(1)
                        lclick(1090,675)
                        print("Крафт 8 готов")
                        WAIT(1)
                        lclick($_return1, $_return2)
                        gosub(крафт)
                        WAIT(1)
                     else
                        if_pixel_in(1755,710,1765,720,15335166)
                           lclick($_return1, $_return2)
                           wait(1)
                           lclick(1090,675)
                           print("Крафт 9 готов")
                           WAIT(1)
                           lclick($_return1, $_return2)
                           gosub(крафт)
                           wait(1)
                        end_if
                     end_if
                  end_if
               end_if
            end_if
         end_if
      end_if
   end_if
end_if
end_sub


if($_ms>$ms1)
ресурсы()
$ms1=$_ms+100000
end_if
if($kraft=0)
$kraft=1
крафт()
$ms2=$_ms+1100000
end_if
if($_ms>$ms2)
$kraft=0
if($_ms>$ms3)
сборкрафт()
$ms3=$1ms+10000
end_if
диалог()
Wait(3)

Gamsa

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
Re: Прошу ткнуть носом в SUB
« Reply #1 on: January 26, 2017, 02:40:07 PM »
Изначально скрипт делал не я, щас стало интересно дописать его самому. В чем моя ошибка покажите пожалуйста конкретно.

loki

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
Re: Прошу ткнуть носом в SUB
« Reply #2 on: January 26, 2017, 03:58:13 PM »
в старой сборке надо писать gosub в новой просто названия sub а пишется

Gamsa

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
Re: Прошу ткнуть носом в SUB
« Reply #3 on: January 26, 2017, 04:41:26 PM »
Большое спасибо разобрался.

Gamsa

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
Re: Прошу ткнуть носом в SUB
« Reply #4 on: January 26, 2017, 05:46:05 PM »
Чтобы не плодить новые темы спрошу в этой.
Можно как-то ограничить запуск SUB только запросом? Если да как это сделать?

Решено
Не добавил WAIT поэтому срабатывало криво
« Last Edit: January 26, 2017, 06:12:31 PM by Gamsa »

loki

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
Re: Прошу ткнуть носом в SUB
« Reply #5 on: January 26, 2017, 06:36:08 PM »
а по вопросу я даже и не понял что посоветовать  ;D

Gamsa

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
Re: Прошу ткнуть носом в SUB
« Reply #6 on: January 26, 2017, 07:11:59 PM »
а по вопросу я даже и не понял что посоветовать  ;D
Заиметь мозг))) И мануалы)))

kiril огромное спасибо за оперативный ответ, про сборку не подумал (последняя)
loki добил понимание своим ответом )))

раньше не писал скрипты, а так че-то понравилось и решил сделать все как сам хочу и вижу))) в итоге сделал примитивный) теперь буду оптимизировать его чтоли)