Author Topic: Гнев Богов  (Read 33304 times)

0 Members and 2 Guests are viewing this topic.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Гнев Богов
« Reply #30 on: October 26, 2012, 10:17:46 PM »
Почему у тебя COLORMODE без параметров?

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Гнев Богов
« Reply #31 on: October 26, 2012, 10:57:01 PM »
Почему у тебя COLORMODE без параметров?
Ставилс я параметр и  колормод (4), и (7) . Ничего не меняется.  Подложка ( фон  страницы)  под текстом упорно меняют сумму пикселей.
Бабочки полёт будит тихую поляну в солнечном свету...

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Re: Гнев Богов
« Reply #32 on: October 27, 2012, 07:22:11 AM »
Цитрин, возможно тебе стоит чётко описать чего ты хочешь от скрипта. Тогда станет ясно какими функциями тебе надо пользоваться.
Целесообразно ли применение стилей и колормода? Если надо определять текущий цвет одного пикселя на экране? Функция поиска пикселя в координатах весьма гибка.
добрый смех равняет всех

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Гнев Богов
« Reply #33 on: October 27, 2012, 11:35:20 AM »
Сергей,  если  не затруднит, нельзя ли подробнее описать этот интересный процесс?
Для чего, почему, как меняется игровое поле , почему кликерману так проще опознавать предметы на экране  итп
Ну и поместить сабж , скажем в новую  тему "Секреты кликермана" .
Куда проще различить черный и белый цвет, разве нет? В игре цвета специально мешают, чтобы их сложнее было различить автоматическими средствами.

И PXLCRC не поиск, а контрольная сумма всех пикселов. Если хоть один пиксел будет отличаться, то эта функция вернет уже другой результат.
Отсутствую.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Гнев Богов
« Reply #34 on: October 27, 2012, 12:01:08 PM »
1. возможно тебе стоит чётко описать чего ты хочешь от скрипта.
Целесообразно ли применение стилей и колормода? 
2.  Функция поиска пикселя в координатах весьма гибка.
1. Откровенно говоря,  я вообще не понимаю,  когда нужен колормод , а когда нет.
 В моих задачах он никакой пользы пока не принес.
 Ставлю его, или нет -  без разницы.
Зато лишний ступор  очевидно появился.
Возможно вопросов поубавится, если будет четко описаны моменты , когда он нужен , а когда нет.
2. Степень гибкости? Что ещё, кроме поиска пикселя нужного цвета  , эта функция делает?
Бабочки полёт будит тихую поляну в солнечном свету...

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Re: Гнев Богов
« Reply #35 on: October 27, 2012, 02:32:46 PM »
1. Откровенно говоря,  я вообще не понимаю,  когда нужен колормод , а когда нет.
 В моих задачах он никакой пользы пока не принес.
 Ставлю его, или нет -  без разницы.
Зато лишний ступор  очевидно появился.
Возможно вопросов поубавится, если будет четко описаны моменты , когда он нужен , а когда нет.
2. Степень гибкости? Что ещё, кроме поиска пикселя нужного цвета  , эта функция делает?

Значит он тебе не нужен вообще. Пробовал использовать не зная, как он работает?
Пробовал пункт первый осуществить?
Давайте, дорогой друже, наметим путь достижения цели.
1. Словами опишите, что конкретно хотите зделать с помощью скрипта.
2. Выпишите чёткую последовательность простых действий мышью и клавой, которая приведёт к нужному результату.
3. Замените каждый элемент вашей последовательности на операторы программы. Переведите ваш язык на язык кликера.

Гибкость в применении лежит.
Можно расставить приоритеты в какой области экрана искать сначала в какой потом.
Можно искать комбинацию пикселей с относительной площадью поиска.
добрый смех равняет всех

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Гнев Богов
« Reply #36 on: October 27, 2012, 06:04:34 PM »
Пробовал использовать не зная, как он работает?
Пробовал пункт первый осуществить?
  Много раз пробовал. Стабильной работы не получил в сложных случаях , несмотря на колормод от 0 до 7.
 В простых случаях колоромод ( и даже гетскрин ) мне показались не нужными.
Поэтому и возник вопрос о отдельном описании смысла применения колормода.
Бабочки полёт будит тихую поляну в солнечном свету...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Гнев Богов
« Reply #37 on: October 27, 2012, 06:11:00 PM »
  Много раз пробовал. Стабильной работы не получил в сложных случаях , несмотря на колормод от 0 до 7.
 В простых случаях колоромод ( и даже гетскрин ) мне показались не нужными.
Поэтому и возник вопрос о отдельном описании смысла применения колормода.

GETSCREEN - всегда используется с функциями анализа экрана. COLORMODE - нужен для уменьшения количества цветов на экране.
Лупой можно посмотреть как выглядит цветокоррекция на разных режимах.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Гнев Богов
« Reply #38 on: October 27, 2012, 06:33:05 PM »
  Лупой можно посмотреть как выглядит цветокоррекция на разных режимах.
Отлично все работает.
И цвет меняет и экран захватывает.
 НО!
Как это помогает в сложных случаях ?
 Пока примеров у себя не видел. Допускаю , что я пока с реальной целью пока  не встретился. Отсюда вопросы недоумения.
Бабочки полёт будит тихую поляну в солнечном свету...

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Re: Гнев Богов
« Reply #39 on: October 27, 2012, 07:36:22 PM »
Допускаю , что я пока с реальной целью пока  не встретился. Отсюда вопросы недоумения.

Вот. Да первично о цели речь следует вести.
добрый смех равняет всех

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Гнев Богов
« Reply #40 on: October 27, 2012, 08:24:17 PM »
  первично о цели речь следует вести.
Ну нельзя сказать, что все мои  задачи решаются простым поиском картинки бээмпэ,  в  указанном квадрате.
Если вариант иф_пикче_ин не идет,  опускаюсь до  иф_пиксел_ин.
  Как правило, это устраняет проблему, хотя приходится повозиться более основательно.
Бабочки полёт будит тихую поляну в солнечном свету...

Полуночник

  • Активный участник
  • ***
  • Posts: 157
  • Умный не пошлёт на... он скажет -вы далеко пойдёте
    • View Profile
Re: Гнев Богов
« Reply #41 on: October 28, 2012, 01:27:31 PM »
Ну нафлудииили ;D   

Лан... наконец то мне указали на мои ошибки, спс бааальшущее. сделал скрипт, работает. Сюда пока выкладывать не буду, потому что его надо сначала подрихтовать на предмет функций, убрать лишнее и т.д. но об этом в другом топике. Как всё решу выложу окончательный вариант. В той игре играет много народу и кто нибудь обязательно сюда заглянет в поиске бота))

Полуночник

  • Активный участник
  • ***
  • Posts: 157
  • Умный не пошлёт на... он скажет -вы далеко пойдёте
    • View Profile
Re: Гнев Богов
« Reply #42 on: October 29, 2012, 11:13:48 PM »
Ну собственно бот для ГБ рабочий. Конечно хочу его ещё немного подредактировать. Что бы универсальней был. А то сейчас в нём слишком много надо переделывать под другие условия.
Code: [Select]
//Гнев Богов
//Чистка почты и продажа лута в магазине

//Все координаты кликов, поиска пикселов
//        и изображения
// переделать под свой монитор!!!

$v = 16579836
$x = 728       // координата кнопки yes
$y = 375       // при продаже
$x2 = 695      // координата кнопки
$y2 = 284      // продать верхняя
mag1:
LCLICK(863,81) // координата кнопки перехода в магазин. у меня вынесена на панел браза 
GOSUB(WAIT_MA)
sl1:
getscreen
if_pixel_in(482, 262, 483, 263, $v)
   LCLICK($x2,$y2)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl1)
end_if
sl2:
getscreen
if_pixel_in(482, 310, 483, 311, $v)
   LCLICK($x2,$y2+50)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl2)
end_if
sl3:
getscreen
if_pixel_in(482, 360, 483, 361, $v)
   LCLICK($x2,$y2+100)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl3)
end_if
sl4:
getscreen
if_pixel_in(482, 410, 483, 411, $v)
   LCLICK($x2,$y2+150)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl4)
end_if
sl5:
getscreen
if_pixel_in(482, 460, 483, 461, $v)
   LCLICK($x2,$y2+200)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl5)
end_if
sl6:
getscreen
if_pixel_in(482, 510, 483, 511, $v)
   LCLICK($x2,$y2+250)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl6)
end_if
sl7:
getscreen
if_pixel_in(482, 560, 483, 561, $v)
   LCLICK($x2,$y2+300)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl7)
   TRAYSAY("на почтууу...")  //сделал чисто для собственного удобства, потому что включен оконный режим. Хоть видно иногда что работает)))
end_if

ht1:
getscreen
if_pixel_in(482, 556, 483, 557, 0)
   TRAYSAY("всё забито")   
   SOUND("pause.wav")
   HALT
end_if
LCLICK(929,81)    //  кнопка почты тоже на панели браза
WAIT(RND(12,14))

po:
GETSCREEN
if_pixel_in(883, 301, 892, 306, 11982062)
   goto(ch)
else
   TRAYSAY("писем нет")
   goto(F)
end_if

ch:
LCLICK(968,305)    // координата тела письма
WAITMS(4500)
LCLICK(911,558)    // координата иконки предмета в письме
WAITMS(110)
LCLICK(911,558)
WAITMS(RND(600,1000))
LCLICK(729,377)        // координата кнопки да(забрать)
GOSUB (WAIT_PO)
LCLICK(916,308)        // координата тела письма
WAITMS(RND(600,1000))
LCLICK(1063,535)       // координата кнопки удалить
WAITMS(RND(1000,2000))
LCLICK(738,494)        // координата кнопки да(удалить)
GOSUB (WAIT_PO)
GETSCREEN
//три проверки потому что ячейки выглядят одинакого, но и колор мод почему то не помогал и я сделал три проверки на пустые ячейки. 3.bmp - нижняя правая. остальные где угодно.
IF_PICTURE_IN(445,320,710,532, "1.bmp")
   goto(po)
end_if
GETSCREEN
IF_PICTURE_IN(445,320,710,532, "2.bmp")
   goto(po)
end_if
GETSCREEN
IF_PICTURE_IN(445,320,710,532, "3.bmp")
   goto(po)
else
   TRAYSAY("мест нет, продаю")
   goto(mag1)
END_IF

F:
GETSCREEN
//координаты нижней ячейки в магазине. проверка пустая или нет.
IF_PICTURE_IN(419,546,468,598, "4.bmp")
   goto(mag1)
end_if
HALT
   
//задержки на обновление страницы
SUB(WAIT_MA)
   $break = 0
   WHILE($break = 0)
      WAIT(4)
      GETSCREEN
      IF(PXL(722, 287) = 1919430)
         $break = 1
      END_IF
   END_CYC
END_SUB

SUB(WAIT_PO)
   $break = 0
   WHILE($break = 0)
      WAIT(4)
      GETSCREEN
      IF(PXL(841, 375) = 4078899)
         $break = 1
      END_IF
   END_CYC
END_SUB
Делал для фаерфокса с применением css. Теперь буду думать как переделать без стилей что бы работал.
Установлен StilesTuner. В настройках указывал для продажи лута белый цвет(252), для шмота что нужно оставить черный(0). Искать строчки <div class="item_name grade4"   
grade4 - это фио, 0 - лут, 1 - серый шмот, 2 - зелень, 3 - синь
« Last Edit: October 29, 2012, 11:26:08 PM by prapor »

Полуночник

  • Активный участник
  • ***
  • Posts: 157
  • Умный не пошлёт на... он скажет -вы далеко пойдёте
    • View Profile
Re: Гнев Богов
« Reply #43 on: October 30, 2012, 02:20:22 AM »
Ещё одна редакция. Меньше координат менять надо и теперь работает без стилей css.
Code: [Select]
//Гнев Богов
// Чистка почты и продажа лута в магазине

// Все координаты кликов, поиска пикселов
// и изображения
// переделать под свой монитор!!!

$x = 728       // координата кнопки      поменять
$y = 375       // yes при продаже          поменять
$x2 = 695      // координата кнопки     поменять
$y2 = 284      // продать верхняя         поменять
$c1 = 4079426
$c2 = 592154
$c3 = 1399552
$x3 = 490       // координаты            поменять
$x4 = 580       // поиска цвета          поменять
$y3 = 262       // верхней               поменять
$y4 = 268       // ячейки                поменять

mag1:
LCLICK(863,81) // координата кнопки перехода в магазин. у меня вынесена на панел браза
GOSUB(WAIT_MA)
sl1:
getscreen
if_pixel_in($x3, $y3, $x4, $y4, $c1, $c2, $c3)
   LCLICK($x2,$y2)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl1)
end_if
sl2:
getscreen
if_pixel_in($x3, $y3+50, $x4, $y4+50, $c1, $c2, $c3)
   LCLICK($x2,$y2+50)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl2)
end_if
sl3:
getscreen
if_pixel_in($x3, $y3+100, $x4, $y4+100, $c1, $c2, $c3)
   LCLICK($x2,$y2+100)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl3)
end_if
sl4:
getscreen
if_pixel_in($x3, $y3+150, $x4, $y4+150, $c1, $c2, $c3)
   LCLICK($x2,$y2+150)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl4)
end_if
sl5:
getscreen
if_pixel_in($x3, $y3+200, $x4, $y4+200, $c1, $c2, $c3)
   LCLICK($x2,$y2+200)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl5)
end_if
sl6:
getscreen
if_pixel_in($x3, $y3+250, $x4, $y4+250, $c1, $c2, $c3)
   LCLICK($x2,$y2+250)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl6)
end_if
sl7:
getscreen
if_pixel_in($x3, $y3+300, $x4, $y4+300, $c1, $c2, $c3)
   LCLICK($x2,$y2+300)
   WAITMS(RND(300,500))
   LCLICK($x,$y)
   GOSUB(WAIT_MA)
   GOTO(sl7)
end_if
TRAYSAY ("на почту")   //можете убрать если мешает.всплывает в трее подсказка. я сделал просто что бы видеть что что то происходит.

ht1:
getscreen
if_pixel_in($x3, $y3+300, $x4, $y4+300, 11438, 9437313, 9456128)
   TRAYSAY("всё забито")
   SOUND("pause.wav")
   HALT
end_if
LCLICK(929,81)    //  кнопка почты тоже на панели браза
WAIT(RND(12,14))

po:
GETSCREEN
if_pixel_in(883, 301, 892, 306, 11982062)     //координата желтенького значка письма. поменять
   goto(ch)
else
   TRAYSAY("писем нет")
   goto(F)
end_if

ch:
LCLICK(968,305)    // координата тела письма. поменять
WAITMS(4500)
LCLICK(911,558)    // координата иконки предмета в письме. поменять
WAITMS(110)
LCLICK(911,558)
WAITMS(RND(600,1000))
LCLICK(729,377)        // координата кнопки да(забрать) поменять
GOSUB (WAIT_PO)
LCLICK(916,308)        // координата тела письма. поменять
WAITMS(RND(600,1000))
LCLICK(1063,535)       // координата кнопки удалить. поменять
WAITMS(RND(1000,2000))
LCLICK(738,494)        // координата кнопки да(при удалении пустого письма)  поменять
GOSUB (WAIT_PO)

GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(445,320,710,532, "1.bmp")    //координаты всех (20ти) ячеек на почте от верхней слева, до нижней справа. поменять
   goto(po)
else
   TRAYSAY("мест нет, продаю")
   goto(mag1)
END_IF

F:
LCLICK(863,81)   //кнопка магаза на панели браза.
GOSUB(WAIT_MA)
GETSCREEN
IF_PICTURE_IN(419,546,468,598, "2.bmp")//координаты нижней ячейки в магазине. проверка пустая или нет. поменять.
   goto(mag1)
end_if
HALT

//задержки на обновление страницы
SUB(WAIT_MA)
   $break = 0
   WHILE($break = 0)
      WAIT(4)
      GETSCREEN
      IF(PXL(722, 287) = 1919430)     // координаты буквы "ь" в верхней кнопке продать в магазине.  поменять(нужно подбирать точку и искать нужный цвет, иначе будет вечное ожидание )
         $break = 1
      END_IF
   END_CYC
END_SUB

SUB(WAIT_PO)
   $break = 0
   WHILE($break = 0)
      WAIT(4)
      GETSCREEN
      IF(PXL(841, 375) = 4078899) середина кнопки отменить в почте когда открывается окошко забрать предмет. (искать нужный цвет или поставить другой)
         $break = 1
      END_IF
   END_CYC
END_SUB
В версии 4.5 для картинок есть папка bmps. в 4.7 просто в папку с прогой где скрипты.  Файлы 1 и 2 bmp. прилагаю. Координаты середины кнопки "отменить" в почте когда открывается окошко забрать предмет менять вместе с пикселем!!! потому что я тыкнул примерно. Нужна не сама кнопка, а то что под ней. Ожидание настроено на тот момент, когда пропадёт эта кнопка. Если настроить на кнопку перезагрузки браза, то ожидание может быть оооочень дооолгим. Если есть другие варианты - предлагайте.  Пока всё.
« Last Edit: October 30, 2012, 07:21:19 PM by prapor »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Гнев Богов
« Reply #44 on: October 30, 2012, 12:10:05 PM »
В версии 4.5 для этих картинок есть папка bmps. куда класть в 4.7 не знаю.

4.6-4.7 в ту же папку где лежит скрипт