Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Gamsa

Pages: [1] 2
1
Хм, скрипт подвис, по таймеру перегрузился, но продолжал висеть ... как такое может быть?
Во, еще вешает что-то таймер на перезапуск скрипта о-О.

2
quant13, мне кажется в данной вариации работать не будет т.к. вызов скрипта просто из файла не дает его запуска.
У всех даёт, почему у тебя не должно давать.

В том виде в котором дал quant13 файл открывался вообще пустым.
С вашим решением, но без Halt все работает как часы, Halt вырубает все после 1го цикла.

3
kiril, большое спасибо, но в вашем скрипте нормально разобраться мне не позволяет опыт, он сбивается причем я не могу понять почему.
quant13, мне кажется в данной вариации работать не будет т.к. вызов скрипта просто из файла не дает его запуска.

4
Спс пойду изучать новую вариацию скрипта))) как раз разберусь почему алгоритм отличается от моего скрипта.

5
Подпрограммы выполняющиеся один раз, это не подпрограммы вовсе, а даже не знаю как назвать.
Вот для примера пишу ваш код с нормальными подпрограммами, полностью не изменяю, чтоб могли внести изменения самостоятельно.

Вылезает ошибка POP()
Можно ее как-то понять сразу где она? Я просто только начинаю осваивать Clickermann, поэтому такие корявые коды.

Vint

А в $ms не может возникать ошибки?

6
Спасибо, щас посмотрю. Я сам не могу понять как возникает, просто по тому что отследил могу судить в каком месте они возникают.

7
Последняя версия программы

Что за "else" в строках 38, 77, 117?

В GETSCREEN желательно указывать область.


Зачем лишние GETSCREEN?
Спс else лишние убрал. Области тоже указал (для чего кстати указывать их так явно?). Все GETSCREEN сделаны только на смене картинки.

Но в данной части скрипта зависаний замечено не было.
Всегда виснет когда связанно с:
Code: (clickermann) [Select]
sub(диалог)
   //поиск цвета диалогового окна
   $_xd=1052
   $_yd=100
   $_xd2=1834
   $_yd2=500
   $_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(1601,550,1693,585)
         If_pixel_in(1601,550,1693,585,3355596)//отмена
            $check=1
            $otx=$_return1
            $oty=$_return2
            $ms=-1
         Else
            Waitms(100)
         End_if
      End_cyc
      If($ms=-1)
         Skip:
         Getscreen(1581,325,1720,410)
         If_pixel_in(1581,325,1720,410,16531877)//наценка
            Lclick($_return1,$_return2)
            print("Больше денег")
            Wait(1)
            Getscreen(1577,640,1753,730)
            If_pixel_in(1577,640,1753,730,9357352)//продать
               Lclick($_return1,$_return2)
               print("Продать")
               Wait(1)
            End_if
         Else
            //Кусок проверки замены
            //поиск цвета предложить/поменять товар
            $_xd=1404
            $_yd=375
            $_xd2=1414
            $_yd2=403
            $_colord=6931710
            Getscreen($_xd,$_yd,$_xd2,$_yd2)
            If_pixel_in($_xd,$_yd,$_xd2,$_yd2,$_colord)
               Lclick($_return1,$_return2)
               print("Поменяем")
               Wait(2)
               goto(skip)
            Else
               Waitms(100)
               Lclick($otx,$oty)
               print("Не купили")
               Wait(2)
            End_if
         End_if
      End_if
   Else
      Waitms(100)
   End_if
   //диалоговые окна желтый цвет
   Getscreen(1052,100,1834,500)
   If_pixel_in(1052,100,1834,500,7195610)
      Lclick($_return1,$_return2)
      Wait(2)
      $check2=0
      While($check2=0)
         Getscreen(1577,640,1753,730)
         If_pixel_in(1577,640,1753,730,9357352)//продать
            $k_x=$_return1
            $k_y=$_return2
            $check2=1
            $check3=0
            While($check3=0)
               Getscreen(1580,287,1713,349)
               If_pixel_in(1580,287,1713,349,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

8
Хм ... неа, сразу подвис на первом же запуске, протупил 13 минут и не ушел на перезапуск потока.

9
Спс щас поставлю, а из-за чего скрипт так виснуть может?

10
Последняя версия программы

Code: (clickermann) [Select]
THREAD(main, 1)

//=============================================
//=============================================
//=============================================
//сбор ресурсов
sub(ресурсы)
   LCLICK(1886,205)
   WAIT(1)
   LCLICK(1886,245)
   WAIT(1)
   LCLICK(1886,295)
   WAIT(1)
   LCLICK(1886,340)
   WAIT(1)
   LCLICK(1886,385)
   WAIT(1)
   LCLICK(1886,430)
   WAIT(1)
   LCLICK(1886,475)
   WAIT(1)
   LCLICK(1886,535)
   WAIT(1)
   LCLICK(1886,590)
   WAIT(1)
   LCLICK(1886,620)
   WAIT(1)
end_sub
//=============================================
//=============================================
//=============================================
//крафт
//третий крафт
sub(крафт3)
   Lclick(779,400) //координаты "1"  (779,400) - левый квадрат (973,327) - второй квадрат
   print("начинаем крафт 3")
   Wait(1)
else
   Getscreen //стандартное окно крафта
   If_pixel_in(1749,650,1770,670,10004917) //серый - иди жать на крестик
      lclick(1774,190)
      print ("хочу крафт 2")
      WAIT(1)
   else
      If_pixel_in(1749,646,1778,690,9357352) //зеленый - можно крафтить
         lclick($_return1, $_return2)
         print("крафт с 1го окна зеленый")
         WAIT(1)
      else
         Getscreen // ресурсы другого качества
         If_pixel_in(1484,560,1510,605,9357352) //зеленый - можно крафтить
            lclick($_return1, $_return2)
            WAIT(2)
            //проверим может нужно закрыть окно вообще т.к. часто глюки возникают
         else
            Getscreen
            If_pixel_in(766,707,775,725,12378352)
               lclick($_return1, $_return2)
               WAIT(2)
            else
               Getscreen
               If_pixel_in(1859,59,1876,73,7370883)
                  lclick($_return1, $_return2)
                  WAIT(1)
               End_if
            End_if
         End_if
      End_if
   End_if
end_sub
//=============================================
//второй крафт
sub(крафт2)
   Lclick(973,400) //координаты "2"
   print("начинаем крафт 2")
   Wait(1)
else
   Getscreen //стандартное окно крафта
   If_pixel_in(1749,650,1770,670,10004917) //серый - иди жать на крестик
      lclick(1774,190)
      print ("хочу крафт 2")
      WAIT(1)
 крафт3()
   else
      If_pixel_in(1749,646,1778,690,9357352) //зеленый - можно крафтить
         lclick($_return1, $_return2)
         print("крафт с 1го окна зеленый")
         WAIT(1)
      else
         Getscreen // ресурсы другого качества
         If_pixel_in(1484,560,1510,605,9357352) //зеленый - можно крафтить
            lclick($_return1, $_return2)
            WAIT(1)
            //проверим может нужно закрыть окно вообще т.к. часто глюки возникают
         else
            Getscreen
            If_pixel_in(766,707,775,725,12378352)
               lclick($_return1, $_return2)
               WAIT(2)
            else
               Getscreen
               If_pixel_in(1859,59,1876,73,7370883)
                  lclick($_return1, $_return2)
                  WAIT(1)
               End_if
            End_if
         End_if
      End_if
   End_if
end_sub
//=============================================
//первый крафт
sub(крафт)
   Lclick(1196,400) //координаты "1"  (779,400) - левый квадрат (973,400) - второй квадрат (1196,400) - 3ий Квадрат   (1420,400) - 4ый квадрат
   print("начинаем крафт 1")
   Wait(1)
else
   Getscreen //стандартное окно крафта
   If_pixel_in(1749,650,1770,670,10004917) //серый - иди жать на крестик
      lclick(1774,190)
      print ("хочу крафт 2")
      WAIT(1)
     крафт2()
   else
      If_pixel_in(1749,646,1778,690,9357352) //зеленый - можно крафтить
         lclick($_return1, $_return2)
         print("крафт с 1го окна зеленый")
         WAIT(1)
      else
         Getscreen // ресурсы другого качества
         If_pixel_in(1484,560,1510,605,9357352) //зеленый - можно крафтить
            lclick($_return1, $_return2)
            WAIT(1)
            //проверим может нужно закрыть окно вообще т.к. часто глюки возникают
         else
            Getscreen
            If_pixel_in(766,707,775,725,12378352)
               lclick($_return1, $_return2)
               WAIT(2)
            else
               Getscreen
               If_pixel_in(1859,59,1876,73,7370883)
                  lclick($_return1, $_return2)
                  WAIT(1)
               End_if
            End_if
         End_if
      End_if
   End_if
end_sub
//=============================================
//=============================================
//=============================================
// торговля
// торговля
// торговля
sub(диалог)
   //поиск цвета диалогового окна
   $_xd=1052
   $_yd=100
   $_xd2=1834
   $_yd2=500
   $_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,550,1693,585,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,325,1720,410,16531877)//наценка
            Lclick($_return1,$_return2)
            print("Больше денег")
            Wait(1)
            Getscreen
            If_pixel_in(1577,640,1753,730,9357352)//продать
               Lclick($_return1,$_return2)
               print("Продать")
               Wait(1)
            End_if
         Else
            //Кусок проверки замены
            //поиск цвета предложить/поменять товар
            $_xd=1404
            $_yd=375
            $_xd2=1414
            $_yd2=403
            $_colord=6931710
            Getscreen($_xd,$_yd,$_xd2,$_yd2)
            If_pixel_in($_xd,$_yd,$_xd2,$_yd2,$_colord)
               Lclick($_return1,$_return2)
               print("Поменяем")
               Wait(2)
               goto(skip)
            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,100,1834,500,7195610)
      Lclick($_return1,$_return2)
      Wait(2)
      $check2=0
      While($check2=0)
         Getscreen
         If_pixel_in(1577,640,1753,730,9357352)//продать
            $k_x=$_return1
            $k_y=$_return2
            $check2=1
            $check3=0
            While($check3=0)
               Getscreen
               If_pixel_in(1580,287,1713,349,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(790,700,1764,820,7401471)
      lclick($_return1, $_return2)
      print("Снял крафт")
      wait(1)
else
      //проверка на необходимость кликнуть по крафту
   GETSCREEN
  if_pixel_in(1068,728,1086,751,9357352)
        lclick(1188,728)
        WAIT(1)
      else
         GETSCREEN
         //поиск возможности покрафтить
         if_pixel_in(790,715,1764,730,16777215)
            lclick($_return1, $_return2)
            print ("нашел пустую ячейку")
            WAIT(1)
            крафт()
         end_if
      end_if
   end_if
end_sub


if($_ms>$ms1)
   ресурсы()
   Print("Собираем ресурсы")
   $ms1=$_ms+100000
end_if

сборкрафт()

диалог()

END_THREAD
WAIT(600) //
SETTHREAD(main, 2)
WAIT(5)
SETTHREAD(main, 1)


11
Скрипт работает в потоке, в какой-то момент повисает и на перезапуск потока не реагирует.

12
Большое спасибо.

13
Добрый день. Есть скрипт который иногда глючит. Т.к. я совсем начинающий в данных вопросах человек прощу помощи у более опытных.
Скрипт спокойно себе работает и его не трогают, в какой-то момент (отловить не могу пока, но вижу что проблема где-то вот тут)
Code: (clickermann) [Select]
sub(диалог)
   //поиск цвета диалогового окна
   $_xd=1052
   $_yd=100
   $_xd2=1834
   $_yd2=500
   $_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,550,1693,585,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,325,1720,410,16531877)//наценка
            Lclick($_return1,$_return2)
            print("Больше денег")
            Wait(1)
            Getscreen
            If_pixel_in(1577,640,1753,730,9357352)//продать
               Lclick($_return1,$_return2)
               print("Продать")
               Wait(1)
            End_if
         Else
            //Кусок проверки замены
            //поиск цвета предложить/поменять товар
            $_xd=1404
            $_yd=375
            $_xd2=1414
            $_yd2=403
            $_colord=6931710
            Getscreen($_xd,$_yd,$_xd2,$_yd2)
            If_pixel_in($_xd,$_yd,$_xd2,$_yd2,$_colord)
               Lclick($_return1,$_return2)
               print("Поменяем")
               Wait(2)
               goto(skip)
            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,100,1834,500,7722472)
      Lclick($_return1,$_return2)
      Wait(2)
      $check2=0
      While($check2=0)
         Getscreen
         If_pixel_in(1577,640,1753,730,9357352)//продать
            $k_x=$_return1
            $k_y=$_return2
            $check2=1
            $check3=0
            While($check3=0)
               Getscreen
               If_pixel_in(1580,287,1713,349,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 запускаются они все просто вызовом в конце, можно как-то сделать чтобы к примеру раз в пол часа все останавливалось и запускалось независимо от основного скрипта?

14
Общие вопросы / Re: Прошу ткнуть носом в SUB
« on: January 26, 2017, 07:11:59 PM »
а по вопросу я даже и не понял что посоветовать  ;D
Заиметь мозг))) И мануалы)))

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

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

15
Общие вопросы / Re: Прошу ткнуть носом в SUB
« on: January 26, 2017, 05:46:05 PM »
Чтобы не плодить новые темы спрошу в этой.
Можно как-то ограничить запуск SUB только запросом? Если да как это сделать?

Решено
Не добавил WAIT поэтому срабатывало криво

Pages: [1] 2