Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Полуночник

Pages: [1]
1
Возник вопрос по поиску картинки во флеш игрульке. Ну сам поиск не сложно организовать. Вопрос как сделать что бы поместить найденую картинку по центру экрана? Карта иргры больше экрана. Путем LDOWN - MOVE - LUP перемещаемся по карте. Периодически делаем GETSCREEN - IF_PICTURE_IN.
Нашли картинку. И далее я чет не сооброжу как отцентровать на ней экран? Ну мысли есть конечно, только в моей реализации выйдет портянка на 200-300 строк наверное.

2
Всем привет)) Как тут делишки? Вот решил снова заскочить в гости.
А подвигла меня на это, как обычно, вполне понятное желание избавится от муторности в игрульке под названием Аэропорт-Сити.
Играю иногда в неё с браузера гуглус так его хром на одноклассниках (тоже их туда же). Вполне понятно желание разработчиков получить максимум прибыли с этого(да с любого) проекта, но есть моменты которые меня убивают. В частности необходимость неделями тупо производить однотипные действия для посадки гостевых самолетов.
Тем кто играет знакомо чувство когда сажаешь 100500й самолет и тебе в очередной раз выпадает какой то предмет которых штук 100 уже есть, а тот что
нужен где-то все летает в облаках))) Ну решил я это дело короче на поток поставить и вот что на данный момент получилось. Знатокам просьба сразу по макушке не бить))) Но подсказать, если что то можно улучшить))
Скрипт сделал с привязкой к картинкам (может переделаю в будущем что бы избавится от них):
Code: [Select]
SUB(s)
   $Br = 0
   WHILE($Br = 0)
      GETSCREEN
      IF_PICTURE_IN (1000,50, $_xmax, 300,"10.bmp")
         LCLICK($_return1+6, $_return2+6)
         wait(1)
         GETSCREEN
         IF_PICTURE_IN (0,0, $_xmax, $_ymax,"11.bmp")
            LCLICK($_return1+6, $_return2+6)
            wait(1)
         END_IF
         GETSCREEN
         IF_PICTURE_IN (0,0, $_xmax, $_ymax,"12.bmp")
            IF_PICTURE_IN (0,0, $_xmax, $_ymax,"13.bmp")
               LCLICK($_return1+6, $_return2+6)
               $Br = 1
               $check = 0
               wait(6)
            END_IF
         END_IF
      END_IF
      $Br = 1
      $check = 0
   END_CYC
END_SUB

$check = 1
WHILE($check < 11)
   GETSCREEN
   waitmc(500)
   IF_PICTURE_IN (0,0, $_xmax, 700, STRCONCAT($check, ".bmp"))
      IF($check=10)
         s()
      else
         MOVE($_return1+6, $_return2+6)
         MOVE($_return1+8, $_return2+7)
         MOVE($_return1+6, $_return2+6)
         MOVE($_return1+7, $_return2+9)
         MOVE($_return1+6, $_return2+6)
         WAITMS(rnd(700,900))
         LCLICK($_return1+6, $_return2+6)
         waitmc(400)
         $check = 0
      END_IF
   END_IF
   INC($check)
END_CYC

Картинки прилагаю.
Есть ещё мысль прикрутить сюда сбор денег со зданий. Скриптик накидал(надо ещё дорабатывать).

Code: [Select]
SUB(d)
   $ch = 1
   WHILE($ch =1)
      wait(1)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax, $_ymax, "8.bmp")
         WAITMS(100)
         LCLICK($_return1+6, $_return2+6)
         waitmc(rnd(600,900))
      else
         $ch = 0
      END_IF
   END_CYC
END_SUB
$cent_x=int($_xmax/3)
$cent_y=int($_ymax/2)
$hk = 1
WHILE($hk < 3)
   lDown(100,200)
   waitms(196)
   move($cent_x, $cent_y)
   waitms(210)
   lUp($cent_x, $cent_y)
   waitmc(200)
   move(0,65)
   wait(1)
   INC ($hk)
   d()
END_CYC
$hk = 1
WHILE($hk < 3)
   waitms(260)
   lDown($cent_x,250)
   waitms(120)
   move($cent_x, $cent_y)
   waitms(210)
   lUp($cent_x, $cent_y)
   waitmc(200)
   move(0,65)
   wait(1)
   INC ($hk)
   d()
END_CYC
halt

Подскажите люди добрые как это сделать? Условие для его выполнения - срабатывать он должен только 1 раз в час. Так же надо апгрейдить скрипт на плавное перемещение с учетом разных разрешений моников. Я пока просто тупо записал движение мышки по своему экрану. Сейчас 3 часа ночи. вставать на работу в 8.00 Мозг уже отключился, надо тело до кровати нести ))
Да кстати.... А какого... хм... звиняюсь)) Почему при привязке окна игрульки делаю скрин и получаю квадрат Малевича? А если привязать сам браузер, то все нормально...?

Последняя версия скрипта тут
[spoiler]
Code: [Select]
// Àýðîïîðò-Ñèòè


SUB(s)
   $Br = 0
   WHILE($Br = 0)
      GETSCREEN
      IF_PICTURE_IN (1000,50, $_xmax, 300,"7.bmp")
         LCLICK($_return1+6, $_return2+6)
         wait(1)
         GETSCREEN
         IF_PICTURE_IN (0,0, $_xmax, $_ymax,"8.bmp")
            LCLICK($_return1+6, $_return2+6)
            wait(1)
         END_IF
         GETSCREEN
         IF_PICTURE_IN (0,0, $_xmax, $_ymax,"9.bmp")
            wait(1)
            LCLICK(100,150)
            $Br = 1
            $check = 0
            wait(6)
         END_IF
      else
         LCLICK(35,275)
      END_IF
      $Br = 1
      $check = 0
   END_CYC
END_SUB

SUB(d)
   $ch = 1
   WHILE($ch =1)
      wait(1)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax, $_ymax, "6.bmp" )
         WAITMS(100)
         LCLICK($_return1+6, $_return2+6)
         waitmc(rnd(600,900))
      else
         $ch = 0
      END_IF
   END_CYC
END_SUB
$check = 1
WHILE($check < 8)
   GETSCREEN
   waitmc(500)
   IF_PICTURE_IN (0,0, $_xmax, 700, STRCONCAT($check, ".bmp"),-1, 80)
      IF($check=7)
         s()
      else
         MOVE($_return1+6, $_return2+6)
         MOVE($_return1+8, $_return2+7)
         MOVE($_return1+6, $_return2+6)
         MOVE($_return1+7, $_return2+9)
         MOVE($_return1+6, $_return2+6)
         WAITMS(rnd(700,900))
         LCLICK($_return1+6, $_return2+6)
         waitmc(400)
         $check = 0
      END_IF
   END_IF
   INC($check)
   IF($check=10)
      IF($time1 < $_time_t)
         $time1 = $_time_t + 1200
         $hk = 1
         $cx=int($_xmax/3)
         $cy=int($_ymax/2)
         WHILE($hk < 3)
            lDown(210,250)
            waitms(196)
            move($cx, $cy)
            waitms(210)
            lUp($cx, $cy)
            waitmc(200)
            move(0,65)
            wait(1)
            INC ($hk)
            d()
         END_CYC
         $hk = 1
         WHILE($hk < 3)
            waitms(260)
            lDown($cx,250)
            waitms(120)
            move($cx, $cy)
            waitms(210)
            lUp($cx, $cy)
            waitmc(200)
            move(0,65)
            wait(1)
            INC ($hk)
            d()
         END_CYC
         $hk = 1
         WHILE($hk < 3)
            waitms(260)
            lDown($cx, $cy)
            waitms(120)
            move($cx,250)
            waitms(210)
            lUp($cx,250)
            waitmc(200)
            INC ($hk)
         END_CYC
         $hk = 1
         WHILE($hk < 3)
            waitms(260)
            lDown($cx, $cy)
            waitms(120)
            move(100,250)
            waitms(210)
            lUp(210,250)
            waitmc(200)
            INC ($hk)
         END_CYC
      END_IF
   END_IF
END_CYC
[/spoiler]

3
Может конечно что то я в скрипте напортачил. Он работает, но время от времени случаются ошибки выполнения.
Скрипт для чистки почты в игре Гнев Богов:
[spoiler]
Code: [Select]
// почта
// Автор: Полуночник
// Версия: 15.3 (30.07.2014)
A:
HINTPOPUP("Чищу почту")
LCLICK(95,85)       
$r1 = 467
$r2 = 344
$r3 = $r1+10
$r4 = $r2+10
GOSUB(Per)
$b1=0
WHILE($b1=0)
   $r1 = 467
   WAIT(1)
   GOSUB(Per)
   GETSCREEN
   if_pixel_in(870, 300, 900, 550, 1339325)
      LCLICK($_return1+10, $_return2+2)
      WAIT(1)
      GETSCREEN
      if_pixel_in(1045, 555, 1065, 575, 2286590)
      else
         LCLICK(1070, 540)
         $b2=0
         WHILE($b2=0)
            WAITMC(500)
            GETSCREEN
            IF_PIXEL_IN(815,340, 830, 360, 8901117)
               $b2 = 1
            END_IF
         END_CYC
         KEYPRESS(#ENTER)
         WAIT(1)
         GOSUB (Per)
         goto(D)
      end_if
      WHILE($r1<705)
         IF_PIXEL_IN($r1,$r2, $r3,$r4, 3158058)
            $j = $_return1
            $j2 = $_return2
            WAITMS(500)
            LCLICK(925,560)
            LDOWN(920,564)
            WAITMS(RND(700,900))
            MOVE($j,$j2)
            WAITMS(500)
            LUP($j,$j2)
            LCLICK(800,10)
            KEYPRESS(#ENTER)
            GOSUB (Per)
            $r1 = 706
         else
            INC($r1,53)
            INC($r3,53)
            WAITMS(100)
            IF($r1 = 732)
               INC($r2,53)
               INC($r4,53)
               $r1 = 467
               $r3 = $r1+10
               WAITMS(100)
               IF($r2>556)
                  $r1 = 706
                  $b1=1
               END_IF
            END_IF
         END_IF
      END_CYC
   else
      LCLICK(35,85)
      HINTPOPUP("нет писем")
      halt
   end_if
   D:
END_CYC

lClick(1399,58)
waitms(300)
lClick(131,550)
waitms(300)
$b = 0
WHILE($b = 0)
   WAIT(1)
   GETSCREEN
   if_pixel_in(170, 550, 171, 551, 16053492)
   else
      $b = 1
   END_IF
END_CYC
lClick(212,116)
goto(A)


SUB(Per)
   $b = 0
   WHILE($b = 0)
      WAIT(1)
      GETSCREEN
      if_pixel_in(820, 387, 821, 388, 9935251)
         $b = 1
      END_IF
   END_CYC
END_SUB


[/spoiler]

Ошибки бывают разные. Чаще всего встречается не выполнение участка кода
[spoiler]
else
            INC($r1,53)
            INC($r3,53)
            WHILE($r1 = 732)
               INC($r2,53)
               INC($r4,53)
               $r1 = 467
               $r3 = $r1+10
               IF($r2>556)
                  $r1 = 706
                  $b1=1
               END_IF
            END_CYC
         END_IF
[/spoiler]

но бывает что скрипт работает норм, а потом с 25 или 46, да неважно с какой строки просто перескакивает на 69 строку, на участок кода
[spoiler]      LCLICK(35,85)  ---- 69 строка
      HINTPOPUP("нет писем")
      halt
   end_if
[/spoiler]
Обьясните плииз в чём может быть заковырка?

4
Использование / Google Code - статистика
« on: March 06, 2013, 10:57:22 PM »
А привет всем ещё разок))
Тут у меня мысля есть одна насчёт Google Code. Насколько я понял на этом проекте нет сбора статистики. Возможно ли прикрутить к нему какой нить скриптик или есть спец проги готовые? Нужно только собирать стату по скачиваниям файлов от туда. Я на том сайте нифига не понимаю толком, там всё по английски, а я неграмотен))

5
Использование / WorldOfTanks
« on: November 25, 2012, 07:11:28 PM »
Всем привет)) Давненько я сюда не заходил. Решил поиграться в WorldOfTanks дык вот лениво писать к нему скрипт. Хотелось бы на ремонт танка в бою и лечение экипажа. Может есть у кого что бы не парится самому? Был бы благодарен.
И кстати офтоп вопрос про пинг и фпс - нубским языком обьясните чего лучше больше, а чего меньше. а то гуглил пол дня и ничё так и не понял)))

6
Общие вопросы / Цикличность
« on: November 08, 2012, 09:48:47 AM »
Вопросик такой. Допустим сделал цикл ожидания пока не появится какая то картинка на экране. А браз взял и подвис гад...
В этом случае цикл будет вечным( :o Как то надо сделать проверку на время ожидания что ли... Например если цикл не завершается в течении 30 сек., то провести какие то действия. Насколько это реально? И как воплотить в жисть? ::)

7
Предложения / IF_PICTURE_IN
« on: November 01, 2012, 07:08:29 PM »
В программе при поиске картинки нужно 100% совпадение.
Насколько реально сделать поиск с возможностью регулеровки % совпадений? Скажем что бы можно было указать 50 или 80%....
Это намноооого облегчило работу с кликером на многих сайтах.

8
Общие вопросы / Поиск текста в браузере
« on: November 01, 2012, 06:58:39 PM »
Возник вопрос с поиском текста на странице в браузере. Как это сделать? Нужно найти нужный текст и после этого клик по нему. Читал справку. Я пропустил что то или такой возможности нет?

9
Архив / IF_PICTURE_IN
« on: November 01, 2012, 06:47:28 PM »
IF_PICTURE_IN (x, y, x2, y2, "file", [bgcolor]) - можно задать цвет фона изображения, который не будет учитываться при поиске на экране.
Может я что то не правильно делаю, но вылезает ошибка.

10
Вот предлагаю такой раздельчик создать)) А то как помотрел по форумам, так вижу что свои вопросы все пихают во все более менее по смыслу и названию темы
Здесь же каждый пусть выкладывает свои проблеммы и пусть знатоки помогают их решить. Так меньше флуда будет по форумам)))
Начинающие, нубы, чайники, самовары и т.д.
Если есть вопросы ПЕРЕД ТЕМ КАК ЗДЕСЬ ПИСАТЬ посмотрите раздел http://clickermann.tk/forum/index.php?topic=33.0

11
Общие вопросы / новая версия 4.7
« on: October 17, 2012, 07:11:01 AM »
Сначала создал тему в разделе ошибок, но почитав правила решил отписаться здесь. в новой версии не останавливается воспроизведение сценария комбинацией клавиш. макрос продолжает работать(у меня по крайней мере))))
Ещё один ньюансик(оффтоп конечно, но всё же) - зачем убрали с главного окна режим выполнения((( мне лично очень удобно было выставить нужное количество повторов и идти пить кофе.
ещё не всегда срабатывает DBLCLICK в мазиле. в гугле без проблемм, в других бразах не проверял.

ось семёрка, версия кликера 4.7 понятно дело))

12
Использование / Гнев Богов
« on: October 17, 2012, 06:30:43 AM »
День добрый)
Пришел на этот сайт с просьбой помочь сделать скрипт для ГБ. Теперь он готов. Работает с разрешениями 1280*1024 и 1600*900. Под другие мониторы надо корректировать (мне не за надобностью, поэтому не делал) если что - свистите. В обязательном порядке скорректировать координаты кликов на кнопки перехода в магазин и почту!!!
Тут старая версия скрипта[spoiler] И скачать файл 1.bmp - без него почту чистить если и будет, то коряво. Скрипт настроен на работу кликера в оконном режиме.
Code: [Select]
//Чистка почты и продажа лута в магаз
$c1 = 4079426
$c2 = 592154
$c3 = 1399552

LCLICK(863,81)    // кнопка быстрого перехода в магазин(вынесена на панель закладок у меня в мазиле)  менять координаты!!!
WAIT(10)
GETSCREEN
IF_PIXEL_IN(500,200, 800, 600, 1919430)
   $x = $_return1
   $y = $_return2
else
   goto(M)
END_IF
$x3 = $x-200
$x4 = $x-150
$y3 = $y+22
$y4 = $y+34
$z =  $y+305
mag:
TRAYSAY("Продаю хлам")  //строки с TRAYSAY можно удалить, если вас раздражают всплывающие сообщения.
WHILE($z>$y3)
   $b = 0
   WHILE($b = 0)
      getscreen
      if_pixel_in($x3, $y3, $x4, $y4, $c1, $c2, $c3)
         LCLICK($x, $_return2+25)
         WAITMS(RND(300,500))
         KEYPRESS(#ENTER)
         GOSUB(PROD)
      else
         INC($y3,50)
         INC($y4,50)
         $b = 1
      END_IF
   END_CYC
END_CYC
// синь, фио
getscreen
if_pixel_in($x3, $y3+300, $x4, $y4+300, 11438, 9437313, 9456128)
   SOUND("pause.wav")
   TRAYSAY("Забито синь или фио") // я эти строки сделал что бы видеть - скрипт работает вообще или нет.
  //сам в это время в другом бразе ползаю.
   HALT
end_if
M://почта
TRAYSAY("Чищу почту")
LCLICK(929,81)            //кнопка быстрого перехода на почту(тоже на панели закладок)    менять координаты!!!
WAIT(RND(12,20))
po:
GETSCREEN
if_pixel_in(700, 230, 900, 320, 11982062)
   $x2 = $_return1
   $y2 = $_return2
   LCLICK($_return1+10, $_return2+2)
else
   goto(F)
end_if
GOSUB(Z)
GETSCREEN
if_pixel_in(800, 230, 1100, 600, 1860254)
   WAITMS(1400)  // время ожидания можно уменьшить(у меня инет тупит часто, поэтому выставил побольше задержку)
else
   goto(W)
end_if
LCLICK($x2+20,$y2+256)
WAITMS(84)
LCLICK($x2+20,$y2+256)
GOSUB (WAIT_KN)
WAITMS(300)
KEYPRESS(#ENTER)
GOSUB (WAIT_FON)
W:
LCLICK($x2+20,$y2+2)
GOSUB(Z)
LCLICK($x2+170,$y2+237)
GOSUB (WAIT_KN)
KEYPRESS(#ENTER)
GOSUB (WAIT_FON)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN($x2-440,$y2+18,$x2-175,$y2+230, "1.bmp")
   COLORMODE(0)
   goto(po)
END_IF
COLORMODE(0)
F:
LCLICK(863,81)   //кнопка быстрого перехода в магазин.  менять координаты!!!
GOSUB(PROD)
GETSCREEN
IF_PIXEL_IN(500,200, 800, 600, 1919430)
   $x = $_return1
   $y = $_return2
END_IF
$x3 = $x-200
$x4 = $x-150
$y3 = $y+22
$y4 = $y+34
$z =  $y+305
GETSCREEN
IF_PIXEL_IN($x3, $y3, $x4, $y4+246,  $c1, $c2, $c3)
   goto(mag)
else
   HALT
end_if

SUB(PROD)
   $break = 0
   WHILE($break = 0)
      WAITMS(100)
      GETSCREEN
      IF_PIXEL_IN(550,200, 800, 600, 1919430)
         $break = 1
      END_IF
   END_CYC
END_SUB

SUB(WAIT_FON)
   $break = 0
   WHILE($break = 0)
      WAITMS(100)
      GETSCREEN
      IF_PIXEL_IN($x2-57, $y2+70, $x2-27, $y2+78, 1447960, 1382167, 1513753)
         $break = 1
      END_IF
   END_CYC
END_SUB

SUB(WAIT_KN)
   $break = 0
   WHILE($break = 0)
      WAITMS(100)
      GETSCREEN
      IF_PIXEL_IN($x2-235, $y2+40, $x2, $y2+270, 3617169)
         $break = 1
      END_IF
   END_CYC
END_SUB

SUB(Z)
   $break = 0
   WHILE($break = 0)
      WAITMS(100)
      GETSCREEN
      IF_PIXEL_IN(800, 500, 980, 590, 65568)
         $break = 1
      END_IF
   END_CYC
END_SUB
файл 1.bmp прилагается.[/spoiler] Свежая версия скрипта для экрана 1600*900 http://crapware.aidf.org/forum/index.php?topic=11.msg6489#msg6489

Pages: [1]