Author Topic: [Нужна помощь] Бот для Fishing Planet  (Read 18186 times)

0 Members and 14 Guests are viewing this topic.

Ksaliman

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #15 on: December 27, 2015, 11:26:11 PM »
Я тоже об этом подумал, но нет, стоит неограниченно.  Ошибка пропала, вроде. Картинку переснял и поменял название на zero.bmp



[spoiler]
Code: (clickermann) [Select]
// Заброс удилища
wait(1)
keyDown(32)
waitms(2060)  // 2060
keyUp(32)
LOGWRITE ("Забросили")
wait (5)
 
// Индикатор натяжание лески, подтягиваем пока не натянется леска
$var=0
WHILE($var=0) // подтягиваем пока не дотянул-ли снасть до берега или не натянется леска
   KEYDOWN(#SPACE)
   wait (1)  //  время пожтяжки лески
   KEYUP(#SPACE)
   GETSCREEN
   COLORMODE(7, 1505,689,1610,980)
   IF_PICTURE_IN (1562,686,1601,719, "nekl2.bmp", -1, 90) //Индикатор натяжание лески, подтягиваем пока не натянется леска
      wait (2)  // пауза между подтяжками лески
   Else
      // натянулась - подсекаем зажимая энтер на 0.7 секунд
      KEYDOWN(#enter)
      WAITMS(700)
      KEYUP(#enter)
      BEEP(800,200) // звук при подсечке
      WAITMS(700) // пауза после подсечки
      IF_PICTURE_IN (1543,946,1576,982, "nekl.bmp", -1, 90) //Проверяем подсеклас-ли рыба, если да переходим к вываживанию
         WAITMS(10)
      Else
         LOGWRITE ("Клюет")
         LOGWRITE ("Тянем")
         $var=777// выход из цикла "натяжание лески", переходим к вываживанию
      END_IF
   END_IF
 
   GETSCREEN
   COLORMODE(7, 1427,825,1466,882)
   IF_PICTURE_IN (1427,825,1466,882, "zero.bmp", -1, 90) // Проверяем не дотянул-ли снасть до берега без поклевки.
      $var=555
      waitms(10)
      LOGWRITE ("Берег без поклевке")
   END_IF
END_CYC

IF($var=777)  // Если верно Тянем
   $var=0
   WHILE($var=0)
      GETSCREEN
      COLORMODE(7, 1427,825,1466,882)
      IF_PICTURE_IN (1427,825,1466,882, "zero.bmp", -1, 90) // Проверяем не вытянулась-ли рыба
         INC($var,1)  // если вытянулась
         LOGWRITE ("Вытащили")
         $c = 0
         WHILE ($c = 0)
            GETSCREEN
            COLORMODE(7, 600,935,629,965)
            IF_PICTURE_IN (600,935,629,965, "zabr.bmp", -1, 90)
               $c = 1
               wait (3)
               KEYDOWN(#space) // Доп подтяжка в случаии если бот не дотянул
               WAITMS(100)
               KEYUP(#space)
               wait (5)
               LCLICK(908,911)   // Нажимаем на кнопку забрать.
               wait (8)   // пауза после нажатия  забрать
            END_IF
         END_CYC
         INC($fish,1)
         LOGWRITE ("Забрали рыбу")
         HINTPOPUP("Забрали рыбу", ,$fish)         
      Else
         KEYDOWN(#space)
         WAITMS(68)
         KEYDOWN(#enter)
         WAITMS(32)
         KEYUP(#enter)
         WAITMS(32)
         KEYUP(#space)
         waitms (5)  //  пауза после подтягивания рыбы
      END_IF
   END_IF
END_CYC
[/spoiler]
« Last Edit: December 27, 2015, 11:31:11 PM by Ksaliman »

Ksaliman

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #16 on: December 28, 2015, 12:02:28 AM »
Вот кривые мои руки. Спасибо большое, все работает как надо. осталось прикрутить проверку садка и можно пускать в производство. Как думаешь в какую часть его запихнуть? Если он заполняется то в верхнем левом углу цифры веса в желтый окрашиваются.

Ksaliman

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #17 on: December 28, 2015, 12:28:01 AM »
Спасибочки за наводку. Сейчас буду пробовать что-то стряпать. Если что как всегда опишу проблему в подробностях.

Ksaliman

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #18 on: December 28, 2015, 06:16:35 AM »
Что-то не выходит у меня. Не проверяет картинку и после заполнения садка продолжает закидывать.

[spoiler]
Code: (clickermann) [Select]

// Заброс удилища
wait(2)
LCLICK(908,911)
wait(5)
keyDown(32)
waitms(2060)  // 2060
keyUp(32)
LOGWRITE ("Забросили")
wait (5)

// Индикатор натяжание лески, подтягиваем пока не натянется леска
$var=0
WHILE($var=0) // подтягиваем пока не дотянул-ли снасть до берега или не натянется леска
   KEYDOWN(#SPACE)
   waitms (RND(1000,1100))  //  пауза между подтяжками лески
   KEYUP(#SPACE)
   GETSCREEN
   COLORMODE(7, 1505,762,1610,980)
   IF_PICTURE_IN (1569,802,1607,821, "nekl2.bmp", -1, 90) //764Индикатор натяжание лески, подтягиваем пока не натянется
      waitms (RND(1700,1800))  //  время подтяжки лески
   Else
      // натянулась - подсекаем зажимая энтер на 0.7 секунд
      KEYDOWN(#enter)
      WAITMS(800)
      KEYUP(#enter)
      BEEP(800,200) // звук при подсечке
      WAITMS(1000) // пауза после подсечки
      IF_PICTURE_IN (1543,946,1576,982, "nekl.bmp", -1, 90) //Проверяем подсеклас-ли рыба, если да переходим к вываживанию
         WAITMS(10)
      Else
         LOGWRITE ("Клюет")
         LOGWRITE ("Тянем")
         $var=777// выход из цикла "натяжание лески", переходим к вываживанию
      END_IF
   END_IF
   
   GETSCREEN
   COLORMODE(7, 1427,825,1466,882)
   IF_PICTURE_IN (1427,825,1466,882, "zero.bmp", -1, 90) // Проверяем не дотянул-ли снасть до берега без поклевки.
      $var=555
      waitms(10)
      LOGWRITE ("Без поклевки")
   END_IF
END_CYC

IF($var=777)  // Если верно Тянем
   $var=0
   WHILE($var=0)
      GETSCREEN
      COLORMODE(7, 1427,825,1466,882)
      IF_PICTURE_IN (1427,825,1466,882, "zero.bmp", -1, 90) // Проверяем не вытянулась-ли рыба
         INC($var,1)  // если вытянулась
         LOGWRITE ("Вытащили")
         $c = 0
         WHILE ($c = 0)
            GETSCREEN
            COLORMODE(7, 600,935,629,965)
            IF_PICTURE_IN (600,935,629,965, "zabr.bmp", -1, 90)
               $c = 1
               wait (3)
               KEYDOWN(#space) // Доп подтяжка в случаии если бот не дотянул
               WAITMS(100)
               KEYUP(#space)
               wait (5)
               LCLICK(908,911)   // Нажимаем на кнопку забрать.
               wait (2)   // пауза после нажатия  забрать
            END_IF
         END_CYC
         INC($fish,1)
         LOGWRITE ("Забрали рыбу")
         HINTPOPUP("Забрали рыбу", ,$fish)
      Else
         keyDown(32)
         waitms(40)
         waitms(176)
         keyDown(13)
         waitms(56)
         keyUp(13)
         waitms(161)
         keyDown(13)
         waitms(72)
         keyUp(13)
         waitms(143)
         keyDown(13)
         waitms(80)
         keyUp(13)
         waitms(129)
         keyDown(13)
         waitms(71)
         keyUp(13)
         waitms(137)
         keyDown(13)
         waitms(63)
         keyUp(13)
         waitms(144)
         keyUp(32)
         waitms(240)  //  пауза после подтягивания рыбы
      END_IF
   END_CYC
   // Проверка садка
   
   IF($b = 1)
      GETSCREEN
      COLORMODE(7, 42,127,94,143)
      IF_PICTURE_IN (42,127,94,143, "sadok2.bmp", -1, 70) //Если изменился цвет то садок полный (70% совпадений так-как время суток меняется и с ними меняются цвета пикселей.)
         LOGWRITE ("Садок еще не наполнился")
         WAIT (0.5)
      ELSE
         $b = 0
         WAIT (2)
         LOGWRITE ("Садок полный")
         KEYPRESS (#T)  //Вызываем перемотку времени
         WAIT (1)
         $a = 0
         WHILE ($a = 0)
            GETSCREEN
            COLORMODE(7, 800,491,840,517)
            IF_PICTURE_IN (800,491,840,517, "time.bmp", -1, 90)  // Нужная картинка
               LCLICK(947,502)  //Кликаем в точку пока не совпадет картинка.
               waitms (RND(700,500)
               $a = 1
            ELSE
               wait (1)
               LCLICK(768,592)  //Картинка совпала? Кликаем в эту точку.
               wait (10)
            END_CYC
         END_IF
      END_IF
   END_IF
END_IF
[/spoiler]

Пробовал через поиск пикселей, такая же беда. 99% в коде проблемы.

Code: (clickermann) [Select]
IF_PIXEL_IN (42,127,94,143, 3582651, 3844800, 5948388, 6599108, 4964041, 6538711, 8571859, 5883612)

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #19 on: December 28, 2015, 03:43:42 PM »
а ссылочку на рабочий бот в целях рекламы можно увидеть?

Ksaliman

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #20 on: December 29, 2015, 07:59:52 AM »
а ссылочку на рабочий бот в целях рекламы можно увидеть?

Почему нет? Но учти там не выставлены тайминги и возможно придется переделать картинку проверки садка т.к. если меняется время в игре, следовательно и освещение, то бывает не срабатывает проверка.

https://yadi.sk/d/FeFshGR7mZUiR

Ksaliman

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #21 on: December 29, 2015, 11:32:05 AM »
С чего ты взял что его кто-то будет продавать? И насчет кривого бота, полностью согласен.

Ksaliman

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #22 on: December 30, 2015, 02:39:32 AM »
Строки 59-63. Должен кликать в определенную точку, но курсор не двигает в ту точку и он кликает просто в центр. Пробовал использовать плавное движение курсором, та-же байда. Такое началось как перевел код на окно. В полный экран все работает.

[spoiler]
Code: (clickermann) [Select]
#name "Fishing Planet"
#ps2_keyboard


$x1 = 0
$y1 = 1286
$x2 = 0
$y2 = 829

SUB(MOUSE_MOVE, $MOVE_END_X, $MOVE_END_Y)
   $MOVE_SPEED = 25  // множитель скорости, вносим вручную
   
   $MOVE_Start_X = $_xmouse
   $MOVE_Start_Y = $_ymouse
   $MOVE_X = $MOVE_Start_X
   $MOVE_Y = $MOVE_Start_Y
   $dist = DIST($MOVE_END_X, $MOVE_END_Y, $MOVE_Start_X, $MOVE_Start_Y)
   $MOVE_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
   IF ($MOVE_SPEEDVAR < 1)
      $MOVE_SPEEDVAR = 1
   END_IF
   $MOVE_step = ($dist-1)/$MOVE_SPEEDVAR
   $MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
   $MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
   FOR ($MOVE_i=0, $MOVE_i<INT($MOVE_step))
      $MOVE_X = $MOVE_X + $MOVE_X_step
      $MOVE_Y = $MOVE_Y + $MOVE_Y_step
      MOVE   (ROUND($MOVE_X, 0), ROUND($MOVE_Y, 0))
      WAITMS (1)
   END_CYC
   MOVE ($MOVE_END_X, $MOVE_END_Y)
   $LC1 = $MOVE_END_X
   $LC2 = $MOVE_END_Y
END_SUB

==Часть кода===

IF($var=777)  // Если верно Тянем
   $var=0
   WHILE($var=0)
      GETSCREEN
      COLORMODE(8, 1090,652,1125,699)
      IF_PICTURE_IN (1090,652,1125,699, "zero.bmp", -1, 90) // Проверяем не вытянулась-ли рыба
         INC($var,1)  // если вытянулась
         LOGWRITE ("Вытащили")
         $c = 0
         WHILE ($c = 0)
            GETSCREEN
            COLORMODE(8, 543,706,633,736)
            IF_PICTURE_IN (543,706,633,736, "zabr.bmp", -1, 90)
               $c = 1
               wait (3)
               LDOWN(497,438) // Доп подтяжка в случаии если бот не дотянул
               WAITMS(100)
               LUP(497,438)
               wait (5)
               RCLICK(697,722)
               WAITMS(1000)
               MOUSE_MOVE (RND(697, 722))
               WAIT       (RND(0.3, 1))
               LCLICK     ($LC1, $LC2)
               WAIT       (2)
               //LCLICK(697,722) // Нажимаем на кнопку забрать.
               wait (2)   // пауза после нажатия  забрать
            END_IF
         END_CYC
         INC($fish,1)
         LOGWRITE ("Забрали рыбу")
         LCLICK(697,722) // Нажимаем на кнопку забрать.
         HINTPOPUP("Забрали рыбу", ,$fish)
      Else
         LDOWN(497,438) // зажимаем пробел
         WAITMS(60)
         FOR($count=0,$count<20) // пять раз нажимаем Энтер
            RDOWN(497,438)
            WAITMS(RND(130,160)) // задержка между зажал=отжал
            RUP(497,438)
            WAITMS(RND(100,180)) // задержка после нажатия
         END_CYC
         LUP(497,438) // отпускаем пробел
      END_IF
   END_CYC

==Часть кода==
[/spoiler]
« Last Edit: December 30, 2015, 02:59:33 AM by Ksaliman »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #23 on: December 30, 2015, 08:40:52 AM »
Ты что написал вообще?
Code: (clickermann) [Select]
MOUSE_MOVE (RND(697, 722))
WAIT       (RND(0.3, 1))

верно так
Code: (clickermann) [Select]
MOUSE_MOVE (697, 722)
WAITMS       (RND(300, 1000))

Ksaliman

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #24 on: December 30, 2015, 05:35:11 PM »
Я так понимаю двигать курсор в окне его не заставить?

Svarog

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #25 on: December 30, 2015, 07:53:57 PM »
С окнами лучше не связывайся (имеется ввиду привязка окна к кликеру) - там сам дядя Билл ногу сломить, делай как работает.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: [Нужна помощь] Бот для Fishing Planet
« Reply #26 on: December 30, 2015, 10:52:04 PM »
С окнами лучше не связывайся (имеется ввиду привязка окна к кликеру) - там сам дядя Билл ногу сломить, делай как работает.