Author Topic: бот для вкприложения "мастер гитары 2"  (Read 27119 times)

0 Members and 1 Guest are viewing this topic.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #15 on: March 27, 2015, 01:56:48 PM »
Ввообще никакие кнопки не жмёт, ни далее, ни ладненько, ни повтор песни если провалился.
И да, в новой версии как задержку настраивать? Раньше окошко вылазило, сейчас нет.

может ты не тот включил SetThread? вот тебе версия каторая у меня переключает всё без проблем.
Code: (clickermann) [Select]
#name "мастер гитары 2 v1.2"

$hwnd_flash = HGET(INT($_xmax/2),INT($_ymax/2))
WNDGETINFO ($hwnd_flash,$v1,$v2,$v3,$v4)


$t = 20 // задержка
$a=$v1+343
$s=$v1+413
$d=$v1+484
$j=$v1+513
$k=$v1+585
$l=$v1+655

$r_a=$v1+358
$r_s=$v1+421
$r_d=$v1+485
$r_j=$v1+512
$r_k=$v1+583
$r_l=$v1+645

$all_y=$v2+541

$col_a = INIREAD("conf_mg2.ini", "col_a")
$col_s = INIREAD("conf_mg2.ini", "col_s")
$col_d = INIREAD("conf_mg2.ini", "col_d")
$col_j = INIREAD("conf_mg2.ini", "col_j")
$col_k = INIREAD("conf_mg2.ini", "col_k")
$col_l = INIREAD("conf_mg2.ini", "col_l")

IF($col_a="")
   $mr = dialogbox("Запись цветов! Игровое поле должно быть пустым, трек включенным. Для отката удалить conf_mg2.ini", 1,3)
   IF($mr = 2)
      halt
   END_IF
   GETSCREEN($a-1,$all_y-1,$l+1,$all_y+1)
   $col_a=PXL($a,$all_y)
   $col_s=PXL($s,$all_y)
   $col_d=PXL($d,$all_y)
   $col_j=PXL($j,$all_y)
   $col_k=PXL($k,$all_y)
   $col_l=PXL($l,$all_y)
   INIWRITE("conf_mg2.ini", "col_a", $col_a)
   INIWRITE("conf_mg2.ini", "col_s", $col_s)
   INIWRITE("conf_mg2.ini", "col_d", $col_d)
   INIWRITE("conf_mg2.ini", "col_j", $col_j)
   INIWRITE("conf_mg2.ini", "col_k", $col_k)
   INIWRITE("conf_mg2.ini", "col_l", $col_l)
END_IF

SetThread (thr_end, 1)// 1-включено переключение треков, 0 - выключено.
$x= $_xmouse
$y= $_ymouse
waitms(100)
LCLICK(INT($_xmax/2),INT($_ymax/2))
move($x,$y)
////////


WHILE(1)
   
   waitms(5)
   
   GETSCREEN($a,$all_y,$l+1,$all_y+1)
   waitms($t)
   SetThread (thr_1, 1)
   SetThread (thr_2, 1)
   
   //ярость
   IF(iskeydown(#space)=1)
      $r_col_a = INIREAD("conf_mg2.ini", "r_col_a")
      $r_col_s = INIREAD("conf_mg2.ini", "r_col_s")
      $r_col_d = INIREAD("conf_mg2.ini", "r_col_d")
      $r_col_j = INIREAD("conf_mg2.ini", "r_col_j")
      $r_col_k = INIREAD("conf_mg2.ini", "r_col_k")
      $r_col_l = INIREAD("conf_mg2.ini", "r_col_l")
     
      IF($r_col_a="")
         $mr = dialogbox("Запись цветов для режима ярость! Ярость действительно должна быть включена. Нажать на OK в момент, когда нижняя часть поля без фишек. Для отката удалить conf_mg2.ini", 1,3)
         IF($mr = 2)
            halt
         END_IF
         GETSCREEN($r_a,$all_y,$r_l+1,$all_y+1)
         $r_col_a=PXL($r_a,$all_y)
         $r_col_s=PXL($r_s,$all_y)
         $r_col_d=PXL($r_d,$all_y)
         $r_col_j=PXL($r_j,$all_y)
         $r_col_k=PXL($r_k,$all_y)
         $r_col_l=PXL($r_l,$all_y)
         INIWRITE("conf_mg2.ini", "r_col_a", $r_col_a)
         INIWRITE("conf_mg2.ini", "r_col_s", $r_col_s)
         INIWRITE("conf_mg2.ini", "r_col_d", $r_col_d)
         INIWRITE("conf_mg2.ini", "r_col_j", $r_col_j)
         INIWRITE("conf_mg2.ini", "r_col_k", $r_col_k)
         INIWRITE("conf_mg2.ini", "r_col_l", $r_col_l)
         $x= $_xmouse
         $y= $_ymouse
         waitms(100)
         LCLICK(INT($_xmax/2),INT($_ymax/2))
         move($x,$y)
      END_IF
     
      HINTPOPUP("Для отключения нажмите ENTER.", "Включена ярость!!!")
      $rage=1
      WHILE($rage=1)
         waitms(5)
         GETSCREEN($r_a,$all_y,$r_l+1,$all_y+1)
         waitms($t)
         SetThread (rage_1, 1)
         SetThread (rage_2, 1)
         
         IF(iskeydown(#enter)=1)
            $rage=0
            HINTPOPUP(" ","Ярость выключена!!!")
         END_IF
      END_CYC
   END_IF
   
END_CYC

THREAD(Speed, 1)
   IF(ISKEYDOWN(#1)=1)
      $t = 10
      HINTPOPUP(STRCONCAT("Задержка: ", $t), "Задержка изменена")
   ELSE
      IF(ISKEYDOWN(#2)=1)
         $t = 20
         HINTPOPUP(STRCONCAT("Задержка: ", $t), "Задержка изменена")
      ELSE
         IF(ISKEYDOWN(#3)=1)
            $t = 30
            HINTPOPUP(STRCONCAT("Задержка: ", $t), "Задержка изменена")
         ELSE
            IF(ISKEYDOWN(#4)=1)
               $t = 40
               HINTPOPUP(STRCONCAT("Задержка: ", $t), "Задержка изменена")
            ELSE
               IF(ISKEYDOWN(#5)=1)
                  $t = 50
                  HINTPOPUP(STRCONCAT("Задержка: ", $t), "Задержка изменена")
               ELSE
                  WAITMS(100)
               END_IF
            END_IF
         END_IF
      END_IF
   END_IF
END_THREAD

THREAD(thr_1,0)
   IF(PXL($d,$all_y)=$col_d)
      IF(iskeydown(#d)=1)
         KEYUP(#d)
      END_IF
   else
      IF(iskeydown(#d)=0)
         KEYDOWN(#d)
      END_IF
   END_IF
   
   IF(PXL($s,$all_y)=$col_s)
      IF(iskeydown(#s)=1)
         KEYUP(#s)
      END_IF
   else
      IF(iskeydown(#s)=0)
         KEYDOWN(#s)
      END_IF
   END_IF
   
   IF(PXL($a,$all_y)=$col_a)
      IF(iskeydown(#a)=1)
         KEYUP(#a)
      END_IF
   else
      IF(iskeydown(#a)=0)
         KEYDOWN(#a)
      END_IF
   END_IF
   
   SetThread (thr_1, 0)
END_THREAD


THREAD(thr_2,0)
   IF(PXL($j,$all_y)=$col_j)
      IF(iskeydown(#j)=1)
         KEYUP(#j)
      END_IF
   else
      IF(iskeydown(#j)=0)
         KEYDOWN(#j)
      END_IF
   END_IF
   
   IF(PXL($k,$all_y)=$col_k)
      IF(iskeydown(#k)=1)
         KEYUP(#k)
      END_IF
   else
      IF(iskeydown(#k)=0)
         KEYDOWN(#k)
      END_IF
   END_IF
   
   IF(PXL($l,$all_y)=$col_l)
      IF(iskeydown(#l)=1)
         KEYUP(#l)
      END_IF
   else
      IF(iskeydown(#l)=0)
         KEYDOWN(#l)
      END_IF
   END_IF
   
   SetThread (thr_2, 0)
END_THREAD

THREAD(rage_1,0)
   IF(PXL($r_d,$all_y)=$r_col_d)
      IF(iskeydown(#d)=1)
         KEYUP(#d)
      END_IF
   else
      IF(iskeydown(#d)=0)
         KEYDOWN(#d)
      END_IF
   END_IF
   
   IF(PXL($r_s,$all_y)=$r_col_s)
      IF(iskeydown(#s)=1)
         KEYUP(#s)
      END_IF
   else
      IF(iskeydown(#s)=0)
         KEYDOWN(#s)
      END_IF
   END_IF
   
   IF(PXL($r_a,$all_y)=$r_col_a)
      IF(iskeydown(#a)=1)
         KEYUP(#a)
      END_IF
   else
      IF(iskeydown(#a)=0)
         KEYDOWN(#a)
      END_IF
   END_IF
   
   SetThread (rage_1, 0)
END_THREAD


THREAD(rage_2,0)
   IF(PXL($r_j,$all_y)=$r_col_j)
      IF(iskeydown(#j)=1)
         KEYUP(#j)
      END_IF
   else
      IF(iskeydown(#j)=0)
         KEYDOWN(#j)
      END_IF
   END_IF
   
   IF(PXL($r_k,$all_y)=$r_col_k)
      IF(iskeydown(#k)=1)
         KEYUP(#k)
      END_IF
   else
      IF(iskeydown(#k)=0)
         KEYDOWN(#k)
      END_IF
   END_IF
   
   IF(PXL($r_l,$all_y)=$r_col_l)
      IF(iskeydown(#l)=1)
         KEYUP(#l)
      END_IF
   else
      IF(iskeydown(#l)=0)
         KEYDOWN(#l)
      END_IF
   END_IF
   
   SetThread (rage_2, 0)
END_THREAD




//-------------------------

THREAD(thr_end,0)
   GETSCREEN($v1+323,$v2+386,$v1+934,$v2+556)
   IF_PIXEL_IN($v1+323,$v2+386,$v1+717,$v2+556, 42578, 42586, 12416272)
      LCLICK($_return1+3, $_return2+3)
      move($v1+883,$v2+582)
   END_IF
   IF(PXL($v1+819,$v2+466)=12451839)
      LCLICK($v1+819,$v2+466)
      move($v1+883,$v2+582)
      inc($n)
      print("next ",$n)
      wait(25)
      LCLICK($v1+496,$v2+463)
      move($v1+883,$v2+582)
   END_IF
   wait(5)
END_THREAD

смена скорости на кнопки "1"=10мс, "2"=20мс и так до "5"=50мс
« Last Edit: March 27, 2015, 08:39:32 PM by dramster »

San4eZ_93

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #16 on: March 27, 2015, 02:14:19 PM »
Ваш работает, странно, код один и тот же, а разница есть. Ладно, спасибо ;D
Ошибочка, работает только включение песни, нажатие на далее по прежнему не происходит =(
Может надо маштаб окна определённый, позицию, или как?
« Last Edit: March 27, 2015, 02:23:13 PM by San4eZ_93 »

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #17 on: March 27, 2015, 04:05:02 PM »
Ошибочка, работает только включение песни, нажатие на далее по прежнему не происходит =(
Может надо маштаб окна определённый, позицию, или как?
Покажи скриншот игры в момент, когда кнопка далее видна. Посмотрим, что там у тебя.
Чудес не бывает.  Кусок кода
Code: (clickermann) [Select]
   GETSCREEN($v1+323,$v2+386,$v1+934,$v2+556)
   IF_PIXEL_IN($v1+323,$v2+386,$v1+717,$v2+556, 42578,12416272)
      LCLICK($_return1+3, $_return2+3)
      move($v1+883,$v2+582)
   END_IF
каждые 5сек ищет в облости зеленый 42578 (кнопка "далее"и "ладненько") и синий 12416272(кнопка повтора) цвета. И, если находит, то кликает по ним.
И никаких масштабов и позиций, координаты расчитаны относительно положения окна самой игры.
« Last Edit: March 27, 2015, 04:26:59 PM by dramster »

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #18 on: March 27, 2015, 05:28:21 PM »
чудеса случаются, некоторые игры по разному отображаются, на разных мониторах и разрешениях, даже если в пикселях окна формально одинаковы.
Монитор и разрешение тут вообще не причем. Игра и кликер и без монитора неплохо работать будут, и на чернобелом мониторе ничего не изменится. Игра браузерная, флеш. Какое разрешение рабочего стола не поставиш, разрешение игрули останется неизменным, и цвета также не сменятся.
 Другое дело что флеш плеер либо браузер както меняют цвета, вот поэтому я попросил скриншот. Но тут у нас 16бит, это всегото 65к цветов. Даже если флеш чето там сделает, это возможно чтото изменит на 32бит, но если смотреть на этот цвет в 16бит, то врядли что то изменится.
 У меня есть подозрения, что у San4eZ_93 попрежнему стоит 32бит, так как кнопка старта IF(PXL($v1+819,$v2+466)=12451839) работает, а при смене глубины цвета, цвет этого пикселя не меняется. А цвета остальных кнопок меняются.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #19 on: March 27, 2015, 05:40:05 PM »
В таких ситуациях вероятнее всего изменён масштаб в браузере (или в винде).
Даже если он его специально не менял можно случайно сбить корячими клавишами SHIFT + Колесо. Мотаешь ты себе страницы туда-сюда и иногда текст вводишь. Запарился и не сразу отпустил шифт, или нажал случайно.

Получите гранату. Можно долго провозиться ища причину.

Полезно в начале работы скрипта, если он не для себя, а для публики, сделать активным браузер, сбросить масштаб на 100% Ctrl+0. И дальше по распорядку.
« Last Edit: March 27, 2015, 05:49:15 PM by Vint »


dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #20 on: March 27, 2015, 05:54:50 PM »
В таких ситуациях вероятнее всего изменён масштаб в браузере (или в винде).
Даже если он его специально не менял можно случайно сбить корячими клавишами SHIFT + Колесо. Мотаешь ты себе страницы туда-сюда и иногда текст вводишь. Запарился и не сразу отпустил шифт, или нажал случайно.

Получите гранату.
Полезно в начале работы скрипта, если он не для себя, а для публики, сделать активным браузер, сбросить масштаб на 100% Ctrl+0. И дальше по распорядку.
Бляхамуха, в трех браузерах крутил калесо с шифтам, ниче не меняется  ??? . Если сменить масштаб в самом флеш, то игра становится неиграбельной, картинки смещаются в разные стороны. Ну да ладно, допстим сменил я масштаб (в опере вручную), но в таком случае,если уменьшить, то перестанут срабатывать первые три кнопки(игровые A  S D), если увеличить, то последние три(J K L). А скорее всего, то вообще ничего работать не будет. Пиксели брались не с центров дорожек (там мешает эффект огня), а по самым краям. Причем первые три дорожки - справа от центров, а остальные - слева от центров. Плюс - пиксель IF(PXL($v1+819,$v2+466)=12451839) срабатывает. Дело точно не в масштабе.

А во, не шифт+калесо,а ктрл+калесо, никагда не пользовался  :D.
« Last Edit: March 27, 2015, 06:17:41 PM by dramster »

San4eZ_93

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #21 on: March 27, 2015, 07:26:04 PM »
Ох, сча по порядку всё буду)
Качество цветопередачи
[spoiler][/spoiler]
Маштаб браузера
[spoiler][/spoiler]
Цвета
[spoiler]
Кнопка запуска песни
[spoiler][/spoiler]
Цвет кнопки Далее
[spoiler][/spoiler]
[/spoiler]
Он нажимает кнопки "Повтор" и "Начать песню" но упорно не замечает "Далее" Плак-Плак :D
« Last Edit: March 27, 2015, 07:35:37 PM by San4eZ_93 »

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #22 on: March 27, 2015, 07:51:53 PM »
Ох, сча по порядку всё буду)
Качество цветопередачи
[spoiler][/spoiler]
Маштаб браузера
[spoiler][/spoiler]
Цвета
[spoiler]
Кнопка запуска песни
[spoiler][/spoiler]
Цвет кнопки Далее
[spoiler][/spoiler]
[/spoiler]
Ну вот всё стало понятно, вернее непонятно - почему у меня один цвет, а у тебя другой.
мой
[spoiler][/spoiler]
твой
[spoiler][/spoiler]

Тебе в строке 295  -    IF_PIXEL_IN($v1+323,$v2+386,$v1+717,$v2+556, 42578,12416272) вместо 42578 нужно поставить 42586
если хочеш чтоб нажимало повтор (синюю кнопку), сделай скрин ее,  проверь код цвета этого синего и замени в этой же строке 12416272 на свой повтор я так понял у тебя работает, недочитал пост твой до конца.
Действительно чудеса    :-\, или браузер или флеш, или сама видеокарта поразнаму отображают цвета, никогда бы не подумал ???  :D

Может кто нибудь бьяснит происходящее :).
« Last Edit: March 27, 2015, 08:00:24 PM by dramster »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #23 on: March 27, 2015, 08:01:26 PM »
Видеокарта не причем, кликер работает на уровне системы, до видеокарты.
Все просто, у кнопки есть три состояния: не нажата, курсор наведен (выделена), нажата.
Ничто не мешает указать несколько цветов для проверки.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #24 on: March 27, 2015, 08:04:46 PM »
Видеокарта не причем, кликер работает на уровне системы, до видеокарты.
Все просто, у кнопки есть три состояния: не нажата, курсор наведен (выделена), нажата.
Ничто не мешает указать несколько цветов для проверки.
Да, всё верно, 3 состояния, но для этого я специально увожу курсор в угол move($v1+883,$v2+582) чтоб курсор небыл наведен на кнопку, да и на скрине отчетвливо видно, что курсора нет.

проверил:
курсор не наведен
[spoiler][/spoiler]

курсор наведен
[spoiler][/spoiler]
Quote
и на скрине отчетвливо видно, что курсора нет.
да, курсор не скринится

кнопка зажата
[spoiler][/spoiler]


как видим, ниодин цвет не совпадает с цветом San4eZ - 42586
« Last Edit: March 27, 2015, 08:20:35 PM by dramster »

San4eZ_93

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #25 on: March 27, 2015, 08:21:49 PM »
Вобщем спасибо, все работает, я и подозревал цвет судя по коду, но хотел что бы вы сами помогли)
Кстати ярость работает на ура, так что спасибо вам)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #26 on: March 27, 2015, 09:35:03 PM »
А и необязательно чтобы курсор был на кнопке чтобы она была выделенной. Просто такой глюк с самой игре, не раз такое видел. Кнопка просто появляется уже выделенной.

MasterGitari229

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #27 on: March 28, 2015, 01:20:56 PM »
Окей, буду ждать обновлений)
Готово.
Quote
Подскажите бот работает, но после окончания песни не жмет "ладненько" (в Set_Thread стоит 1)

Глубина цвета рабочего стола 16бит? Только что проверял, работает, нажимает Извиняюсь, я просто давно этой кнопки не видел. может там поменялось что?. раньше нажималась.
Спасибо большое за скрипт. Прошёл 4-ую локу полностью благодаря ему. Буду ждать улучшений/добавлений)

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #28 on: April 01, 2015, 11:58:34 PM »
Quote
Я настроил кое как и он работает ,но не жмет длинные ноты.Приходятся зажимать пробел и ентер ,чтоб бот работал.Помогите пожалуйста если не трудно.
неправильно настроен бот. попробуй произвести запись повторно. для этого удали файл conf_mg2.ini (находится в папке со скриптом). подробно о том как настроить в первом посте этой темы. для начала воздержись от использования ярости (пробел интер). запиши правильно номера цветов для стандартнгой игры.
 используй кнопки от 1 до 5 для изменения задержек чтобы добиться лучших результатов. только после этого произведи запись цветов для режима ярости. подробно об этом в первом посте этой темы.
 если же невыйдет с записью, пробуй еще раз с начала. 

вот тебе видео настройки
https://youtu.be/90AANcLiZ7I

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: бот для вкприложения "мастер гитары 2"
« Reply #29 on: April 03, 2015, 11:17:26 AM »
Все сделал как было написано и в видео , я думал цвет записывается в conf_mg2.ini.Я просто в первый раз с кликером работаю.Тогда куда записывать цвета ,а как узнать цвет я знаю.
цвета записываются автоматически при нажатии на кнопку "ок" диологового окна. и всё верно они записываются в conf_mg2.ini. для чего это было сделано?... для того, что во время написания и тестирования скрипта, в течении двух недель два раза эти точки меняли цвет. такчто для упрощения настройки, было сделано автоматическое определение цветов нужных точек и запись их в ини. как только новая обнова, удаляем conf_mg2.ini, производим запись повторно и далее наслаждаемся отличной работой бота.

Quote
Все сделал как было написано и в видео
так работает бот или остались проблемы?