Author Topic: Скрипт для рыбалки  (Read 21175 times)

0 Members and 1 Guest are viewing this topic.

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: Скрипт для рыбалки
« Reply #15 on: February 27, 2020, 12:42:39 PM »
только  что    скрипт работал  кое  как   и сам спрашивал   де  картинка  тянуть а теперь  чет  не рабоатет и не  спрашует картунку  я  хз  что  с  ним делать  знающие    подключайтесь  тут  капец
если  есть  возможность  объясни  по  скайпу  что  да  как

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Скрипт для рыбалки
« Reply #16 on: February 27, 2020, 02:55:21 PM »
и тут я сел на  попу  столько  нового  буду разбератся  дядя КОСМИЧ сказал тут скрипта на  5 строк )  не   ребят я тут  без силен   тут  правильно но  коряво  много  нового  написано и  мне не понятного

Ну конкретно слежением за полосой здесь занимается 14 строк (если хочешь в строках считать) с 118-131. Всё остальное это поиск окна игры, ожидание начала рыбалки, заброс, проверка на улов с забиранием или на срыв поклёвки.
А, ну ещё для спиннинга какие-то свои действия для выуживания.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Скрипт для рыбалки
« Reply #17 on: February 27, 2020, 03:32:44 PM »
Распишу какой кусок кода чем занимается.

стр. 11 - 28    Диалоговое окно выбор удочки/спиннинга. Если будет только удочка заменить на $spinning = 0
стр. 30 - 31    Убираем мышь, чтоб не мешала и не подсвечивала кнопки наведением
стр. 32 - 44    Поиск окна игры, определение опорных координат $vX/$vY и клик по заголовку для активации окна (если запускали скрипт кнопкой кликера).

Остальной блок крутится по кругу, это сама рыбалка разделённая на циклы ловли.
стр. 47 - 52    Ожидание готовности новой игры - появление кнопки "забросить"
стр. 54 - 58    Забрасываем
стр. 61 - 90    Ловля на удочку. Ожидаем клёва
        стр. 61 - 66    Ждём появления кнопки "Вытащить"
        стр. 68 - 77    Если в течении 20 секунд кнопка не пропала, нужно перезабросить удочку
        стр. 79 - 83    Перезабрасываем
        стр. 85 - 87    Если кнопка пропала значит началась поклёвка. Жмём #SPACE (тяним удочку)

стр. 92 - 116    Ловля на спиннинг. Ожидаем клёва. Заброс - вытаскивание. Там по своему. Используется только для спиннинга
        ...
стр. 118 - 131    Сами "качели" тянуть/отпустить ориентируемся на фон в двух точках шкалы. Если фон перекрылся - сюда дошла шкала. Точки примерно в позициях 1/3 и 2/3 шкалы.
                           Попутно проверяя не закончился ли клёв стр. 119
клёв закончился
стр. 133 - 135    Если остался нажатым пробел - отпускаем его.
стр. 137 - 153    В течении 10 секунд ждём появления окна "поймали" или "сорвалась" и закрываем их крестиком
стр. 155 - 156    Наверно нажимаем OK
стр. 157 - 158    Убираем мышь, чтоб не мешала и не подсвечивала кнопки наведением
стр. 159             Пауза 3 секунды для учёта результатов сервером и раздупления
стр. 160             Чешем на старт для нового цикла ловли
PROFIT!


JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: Скрипт для рыбалки
« Reply #18 on: February 27, 2020, 03:53:21 PM »
ПИШУ ЗДЕСЬ  НЕСКОЛЬКО  РАЗ ЧТОБ   НЕ   ЗАСРАТЬ  ТЕМУ
о есть тут   идет все  по  пикселям ?   без  поиска  картинки ?      то есть   мне  нужно  сейчас найти   нужные  пиксели  ?  правильно я  понял?

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

пробывал   просто удалить ненужные  куски   с  скрипта  который скачал  но  нифига  не  работает

голова трещит зачем  столько  переменных

так  вот  код   его  просто  надо  подправить 
Code: (clickermann) [Select]
GETSCREEN
WHILE(PXL($vX+299,$vY+490) = 7249604)
   IF(PXL($vX+407,$vY+243) ! 8872765)
      KEYUP(#SPACE)
      $sp = 0
   ELSE
      IF(PXL($vX+305,$vY+243) = 8872765)
         KEYDOWN(#SPACE)
         $sp = 1
      END_IF
   END_IF
   WAITMS(30)
   GETSCREEN
END_CYC
конкретно вотетот  кусочек
Code: (clickermann) [Select]
(PXL($vX+299,$vY+490) = 7249604)
   IF(PXL($vX+407,$vY+243)
я  так  понимаю $vX   и  $vY     берется с  етих строк  32-44 ниже пример
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "base.bmp",-1,90)
    LOGWRITE("Найден в координатах X=", $_return1, ", Y=", $_return2)
    $vX = $_return1-655
    $vY = $_return2+19
    LCLICK($vX+330,$vY+300)
    WAITMS(300)
    MOVE(0, ($_ymax+1)/2)
    WAITMS(50)
ELSE
    LOGWRITE("Игра не найдена")
    HALT
END_IF
все   я   сдаюсь  все   мысли  которые  думал  они  просто провальны  пытаюсь просто реализовать  бегунок  ничерта  не  получается немогу у понять как  ето  реализовывается   целый  день   сижу  с  1  предложением  разбираюсь...

и вообще  для  чего  в  графе
Code: (clickermann) [Select]
WHILE(PXL($vX+299,$vY+490) = 7249604) прописано  постоянно +299 +490   и  т  д  и  всегда  разные  значения тоже  не понимаю  етого  что  нельзя  было просто сделать  координаты   без  етого  плюса с  цифрой  Вопросов  больше  чем  ответов
« Last Edit: February 27, 2020, 07:31:40 PM by JacsoN »
если  есть  возможность  объясни  по  скайпу  что  да  как

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: Скрипт для рыбалки
« Reply #19 on: February 28, 2020, 12:27:55 AM »
Вот  добился  наконецто  вот  рабочая  версия   только  теперь  надо  придумать  кнопки  когда подсекать   то вытаскывает  автоматом  а вот  надо  рукой  подсечь )
Code: (clickermann) [Select]
GETSCREEN
(PXL(844,643) = 8958677)
    IF(PXL(910,398) ! 8872765)
        KEYUP(#SPACE)
        $sp = 0
    ELSE
        IF(PXL(910,398) = 8872765)
            KEYDOWN(#SPACE)
            $sp = 1
        END_IF
    END_IF
    WAITMS(30)
    GETSCREEN

если  есть  возможность  объясни  по  скайпу  что  да  как

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скрипт для рыбалки
« Reply #20 on: February 28, 2020, 04:43:08 PM »
Вот  добился  наконецто  вот  рабочая  версия   только  теперь  надо  придумать  кнопки  когда подсекать   то вытаскывает  автоматом  а вот  надо  рукой  подсечь )
Code: (clickermann) [Select]
GETSCREEN
(PXL(844,643) = 8958677)
    IF(PXL(910,398) ! 8872765)
        KEYUP(#SPACE)
        $sp = 0
    ELSE
        IF(PXL(910,398) = 8872765)
            KEYDOWN(#SPACE)
            $sp = 1
        END_IF
    END_IF
    WAITMS(30)
    GETSCREEN

Ничего се рабочая. Это что? (PXL(844,643) = 8958677)

Вот без ошибок
Code: (clickermann) [Select]
GETSCREEN(910,398,910,398)
IF(PXL(910,398) = 8872765)
   KEYDOWN(#SPACE)
ELSE
   KEYUP(#SPACE)
END_IF
WAITMS(30)


Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Скрипт для рыбалки
« Reply #21 on: February 28, 2020, 07:26:24 PM »
тоже самое, но только с возможностью удобной настройки и расширения 
Code: (clickermann) [Select]
GETSCREEN
SCANPICTURE ($arr_segment, $_xmin, $_ymin, $_xmax, $_ymax, "hborder_line.bmp", - 1, 100)

$HX = $arr_segment[0] - 128 + 3
$HY = $arr_segment[1] - 232

$OX = $arr_segment[0]
$OY = $arr_segment[1] - 314 + 3

$KX = $arr_segment[0] + 128 - 3
$KY = $arr_segment[1] - 232

#define SEGMENT_HEIGHT: ($HY - $OY)
#define CHORD_LENGTH:   ($KX - $HX)

$radius = INT(POW(CHORD_LENGTH, 2) / (8 * SEGMENT_HEIGHT) + SEGMENT_HEIGHT / 2)

$center_X = $HX + CHORD_LENGTH / 2
$center_Y = $OY + $radius

// По Пикселю
$angle_x = ROUND($center_X - $radius * COS(95), 0)
$angle_y = ROUND($center_Y - $radius * SIN(95), 0)

WHILE(#TRUE)
   GETSCREEN($HX, $OY, $KX, $KY)
   IF(PXL($angle_x, $angle_y) = 8872765)
      KEYDOWN(#SPACE)
   ELSE
      KEYUP(#SPACE)
   END_IF
END_CYC

// По картинке
WHILE(#TRUE)
   GETSCREEN($HX, $OY, $KX, $KY)
   IF_PICTURE_IN ($HX, $OY, $KX, $KY, "pointer.bmp", -1, 100)
      IF(180 - ROUND(ARCCOS(($_return1 - $center_X) / DIST($_return1, $_return2, $center_X, $center_Y)), 0) < 90)
         KEYDOWN(#SPACE)
      ELSE
         KEYUP(#SPACE)
      END_IF
   END_IF
END_CYC
« Last Edit: March 01, 2020, 10:48:48 AM by Космич »
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Скрипт для рыбалки
« Reply #22 on: February 28, 2020, 09:22:31 PM »
тоже самое, но только с возможностью удобной настройки и расширения 
Code: (clickermann) [Select]
GETSCREEN
SCANPICTURE ($arr_segment, $_xmin, $_ymin, $_xmax, $_ymax, "hborder_line.bmp", - 1, 100)

$HX = $arr_segment[0] - 128
$HY = $arr_segment[1] - 232

$OX = $arr_segment[0]
$OY = $arr_segment[1] - 314

$KX = $arr_segment[0] + 128
$KY = $arr_segment[1] - 232

#define SEGMENT_HEIGHT: ($HY - $OY)
#define CHORD_LENGTH:   ($KX - $HX)

$radius = INT(POW(CHORD_LENGTH, 2) / (8 * SEGMENT_HEIGHT) + SEGMENT_HEIGHT / 2)

$center_X = $HX + CHORD_LENGTH / 2
$center_Y = $OY + $radius

// По Пикселю
$angle_x = ROUND($center_X - $radius * COS(95), 0)
$angle_y = ROUND($center_Y - $radius * SIN(95), 0) + 3

WHILE(#TRUE)
   GETSCREEN($HX, $OY, $KX, $KY)
   IF(PXL($angle_x, $angle_y) = 8872765)
      KEYDOWN(#SPACE)
   ELSE
      KEYUP(#SPACE)
   END_IF
END_CYC

// По картинке
WHILE(#TRUE)
   GETSCREEN($HX, $OY, $KX, $KY)
   IF_PICTURE_IN ($HX, $OY, $KX, $KY, "pointer.bmp", -1, 100)
      IF(180 - ROUND(ARCCOS(($_return1 - $center_X) / DIST($_return1, $_return2, $center_X, $center_Y)), 0) < 90)
         KEYDOWN(#SPACE)
      ELSE
         KEYUP(#SPACE)
      END_IF
   END_IF
END_CYC

Ты человека совсем в угол решил посадить...?  ;D
Я не ду... Потому и не бу...

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Скрипт для рыбалки
« Reply #23 on: February 28, 2020, 11:07:14 PM »
Может, кто-то что-то более путное додумает из этого. Например, человекоподобный рандом или что то еще
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: Скрипт для рыбалки
« Reply #24 on: February 28, 2020, 11:47:06 PM »
Ты человека совсем в угол решил посадить...?  ;D
тут   да  я  сел  полностью  на  срандель)))  есть  над  чем  подумать   сегодня  новая  проблема    разбил  телефон   и  теперь  выбираю  аппарат новый  то голова  забита а   пока  телефонам
« Last Edit: March 02, 2020, 09:44:32 AM by Vint »
если  есть  возможность  объясни  по  скайпу  что  да  как

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Скрипт для рыбалки
« Reply #25 on: March 01, 2020, 10:14:47 AM »
Подсел я вчера вечером на рыбалку твою... На коленке скрипт накидал - за ночь апнул 16 левл. Сегодня до ума доводить буду. Я только не пойму - для чего там пробел вообще жать...?
« Last Edit: March 01, 2020, 10:16:32 AM by Hito »
Я не ду... Потому и не бу...

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Скрипт для рыбалки
« Reply #26 on: March 01, 2020, 10:56:31 AM »
для чего там пробел?
Хоткей на действия забросить/тянуть
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Скрипт для рыбалки
« Reply #27 on: March 01, 2020, 02:00:14 PM »
для чего там пробел?
Хоткей на действия забросить/тянуть
Я что-то не вижу в настройках такой функции... Игра-то браузерная...
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Скрипт для рыбалки
« Reply #28 on: March 01, 2020, 02:06:59 PM »
Вот он у меня пока так керачит...
https://www.youtube.com/watch?v=9r7ymVrRm9A
Это в виртуалке. По этому подтормаживает.
Я не ду... Потому и не бу...

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: Скрипт для рыбалки
« Reply #29 on: March 01, 2020, 02:28:33 PM »
Вот он у меня пока так керачит...
https://www.youtube.com/watch?v=9r7ymVrRm9A
Это в виртуалке. По этому подтормаживает.
Видео  не  доступно  приват  не   проплачен )))
если  есть  возможность  объясни  по  скайпу  что  да  как