Author Topic: Трофейная рыбалка  (Read 8268 times)

0 Members and 1 Guest are viewing this topic.

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Трофейная рыбалка
« on: May 30, 2018, 09:57:37 AM »
 ;D и снова здравствуйте... по прошествии многих дней решил снова трофейную рыбалку посетить но скрипт по чему то не робит может кто под правит... вернее робит все делает но не повторяет после последнего действия стоит как вкопанная  а должен снова сделать заброс и ждать поклевки
Code: (clickermann) [Select]
lDown(783,247)
waitms(1400)
lUp(783,247)
waitms(3835)// заброс донки полет нормальный

$check = 0
WHILE($check = 0) // цикл ожидания
   GETSCREEN
   IF_PIXEL_IN(688,308,759,355,2370797)   //определение пикселя  кивка донки в зоне поклевки
      LCLICK(783,247)    // подсечка
      WAIT(1)
      LDOWN(783,247)    // подтяжка
      WAIT(80)            // длинная пауза для того что бы дотянуть рыбу
      LUP(783,247)      // перестает мотать
      WAIT(4)
      LCLICK(955,588)    // продажа рыб
      WAIT(1)
      $check = 1
   ELSE
      WAITMS(50)
   END_IF
END_CYC
скрипт писал  Oraven
« Last Edit: May 30, 2018, 10:07:09 AM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Трофейная рыбалка
« Reply #1 on: May 30, 2018, 10:07:51 AM »
Если цвет 2370797 не найден то и цикл никогда не завершится. Вот поэтому и остановка.

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #2 on: May 30, 2018, 11:18:25 AM »
в том то и дело что цвет определяет иначе не подсекало бы и цикл доходит до конца иначе рыба бы не продавалась


если я правильно понимаю вот это

 не сработает если не сработает это

 и если можно объясните назначение этой фунции
« Last Edit: May 30, 2018, 11:59:28 AM by Karabas »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Трофейная рыбалка
« Reply #3 on: May 30, 2018, 11:57:10 AM »
Чтобы понять как работает скрипт нужно вставить запись в лог
Открой лог и смотри ход выполнения.

Code: (clickermann) [Select]
LOGWRITE ("Начало")

lDown(783,247)
waitms(1400)
lUp(783,247)
waitms(3835)// заброс донки полет нормальный

LOGWRITE ("Начинаю цикл")
$check = 0
WHILE($check = 0) // цикл ожидания
   GETSCREEN
   IF_PIXEL_IN(688,308,759,355,2370797)   //определение пикселя  кивка донки в зоне поклевки
      LOGWRITE ("Пиксел найден")
      LCLICK(783,247)    // подсечка
      WAIT(1)
      LDOWN(783,247)    // подтяжка
      WAIT(80)            // длинная пауза для того что бы дотянуть рыбу
      LUP(783,247)      // перестает мотать
      WAIT(4)
      LCLICK(955,588)    // продажа рыб
      WAIT(1)
      $check = 1
   ELSE
      WAITMS(50)
   END_IF
END_CYC

LOGWRITE ("Конец")


Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #4 on: May 30, 2018, 12:25:24 PM »
ок спс попробую

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #5 on: May 30, 2018, 12:55:03 PM »
12:51:31 Начало
12:51:36 Начинаю цикл
12:51:53 Пиксел найден
12:53:19 Конец
12:53:19 Начало
12:53:24 Начинаю цикл

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Трофейная рыбалка
« Reply #6 on: May 30, 2018, 02:02:21 PM »
$check = 0 // присваиваем переменной $check значение 0
WHILE($check = 0) // цикл выполняется если переменная равна 0

$check = 1 // в условии нахождения пиксела меняем значение переменной, при следующей проверке условие цикла станет неверным и цикл завершится.

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #7 on: May 31, 2018, 08:10:51 AM »
спасибо увеличил паузу так как после продажи рыбы идет соединение с сервером а это 2-х секундный провис поставил 3 и все начало работать

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #8 on: June 04, 2018, 10:18:39 AM »
Добрый день. есть ещё вопрос. В принципе скрипт работает безупречно, но есть одно "НО" если попадается большая рыба рвется леска и прерывается процесс подтяжки. Удочка становится в положении "начало"  лог. но
Code: (clickermann) [Select]
LUP(783,247)      // перестает мотать
      WAIT(4)
      LCLICK(955,588)    // продажа рыб вот тут засада удочка реагирует на этот клик
      WAIT(1)
      $check = 1
   ELSE
      WAITMS(50)
   END_IF
END_CYC
и на момент начало уже находится в воде

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #9 on: June 04, 2018, 11:00:52 AM »
вопрос решил так
Code: (clickermann) [Select]
lDown(783,247)
waitms(1400)
lUp(783,247)
waitms(3835)// заброс донки полет нормальный
вот эту часть вставил туда где прерывается подтяжка рыбы

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #10 on: June 08, 2018, 01:57:45 AM »
Code: (clickermann) [Select]
/ 2699234

MOVE(567,289)
WAIT(1)
lDown(783,247)
waitms(1400)
lUp(783,247)
waitms(3835)// заброс донки полет нормальный

LOGWRITE ("Начинаю цикл")
$check = 0
WHILE($check = 0) // цикл ожидания
   GETSCREEN
   IF_PICTURE_IN (629,418,694,478, "ввв.bmp", -1, 100)   //определение   кивка донки в зоне поклевки
      LOGWRITE ("Пиксел найден")
      LCLICK(783,247)    // подсечка
      WAIT(1)
      KEYDOWN(#space)//Энергия
      LDOWN(783,247)    // подтяжка
      WAIT(120)            // длинная пауза для того что бы дотянуть рыбу ну очень длинная
      LUP(783,247)      // перестает мотать
      WAIT(4)
      MOVE(567,289)
      WAIT(1)
      lDown(783,247)
      GETSCREEN
      IF_PICTURE_IN (871,681, $_xmax,$_ymax, "sell.bmp", -1, 100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      END_IF
      // продажа рыб
      WAIT(10)
      $check = 1
   ELSE
      WAITMS(50)
   END_IF
END_CYC

LOGWRITE ("Конец")
но немного не удобно большая пауза на подтяжке рыбы все портит... тратится много времени
вопрос; можно ли подтяжку сделать с условием  что то типа такого
Code: (clickermann) [Select]
GETSCREEN
   IF_PICTURE_IN (629,418,694,478, "ввв.bmp", -1, 100)   //определение   кивка донки в зоне поклевки
      LOGWRITE ("Пиксел найден")
      LCLICK(783,247)    // подсечка
      WAIT(1)
      KEYDOWN(#space)//Энергия
      LDOWN(783,247)    // подтяжка
убрать длинную паузу а вместо нее поставить  вот это
Code: (clickermann) [Select]
GETSCREEN
      IF_PICTURE_IN (871,681, $_xmax,$_ymax, "sell.bmp", -1, 100)
         LCLICK($_return1, $_return2)
         WAITMS(100)
      END_IF
      // продажа рыб
т.е. удочка тянет (зажата ЛКМ) до тех пор пока не появится окно продажи с кнопкой продать

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #11 on: June 08, 2018, 02:07:39 AM »
по пробовал сам сделать не получилось удочка мотает и останавливается
Code: (clickermann) [Select]
LOGWRITE ("Начало")
MOVE(567,289)
WAIT(1)
lDown(783,247)
waitms(1400)
lUp(783,247)
waitms(3835)// заброс донки полет нормальный

LOGWRITE ("Начинаю цикл")
$check = 0
WHILE($check = 0) // цикл ожидания
   GETSCREEN
   IF_PICTURE_IN (629,418,694,478, "ввв.bmp", -1, 100)   //определение пикселя  кивка донки в зоне поклевки
      LOGWRITE ("Пиксел найден")
      LCLICK(783,247)    // подсечка
      WAIT(1)
      KEYDOWN(#space)
      LDOWN(783,247)
      waitms(50)
      MOVE(1214,509)// вывожу курсор за границы экрана игры
      waitms(250)
      lUp(1214,509)// перестаю зажимать ЛКМ
      waitms(3835)
      GETSCREEN
      IF_PICTURE_IN (871,681, $_xmax,$_ymax, "sell.bmp", -1, 100)// ожидаю окно продажи с кнопкой продать НО чтото не выходит.
         LCLICK($_return1, $_return2)
         WAITMS(100)
      END_IF
      // продажа рыб
      WAIT(10)
      $check = 1
   ELSE
      waitms(50)
     
   END_IF
END_CYC

LOGWRITE ("Конец")

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #12 on: June 09, 2018, 01:45:14 AM »
спс работает ;D

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #13 on: June 09, 2018, 09:56:51 AM »
есть ещё проблема скрипт работает идеально. но если попадает большая рыба леска  обрывается и удочка становится в положение до заброса и так стоит. Вопрос: можно ли поставить условие если например в течении 5 минут не появится окно продажи
Code: (clickermann) [Select]
$check1 = 0
      WHILE($check1 = 0) // цикл ожидания // ожидаю окно продажи с кнопкой продать
         GETSCREEN (871,681, $_xmax,$_ymax)
         IF_PICTURE_IN (871,681, $_xmax,$_ymax, "sell.bmp", -1, 100)
            LOGWRITE ("Продать")
            LCLICK($_return1, $_return2)
            WAITMS(100)
то тогда цикл прерывается и возвращается на начало

Karabas

  • Освоившийся
  • **
  • Posts: 90
    • View Profile
Re: Трофейная рыбалка
« Reply #14 on: June 10, 2018, 10:13:59 AM »
прошло 7 минут и ни какой реакции
вот лог
9:55:50 Начало
9:55:56 Начинаю цикл
9:56:23 Пиксел найден
10:01:25 леска оборвалась