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.


Messages - Artem1984

Pages: [1]
1
Здравствуйте, ищу информацию для того чтобы составить скрипт под выполнение следующих действий(для наглядности видео 1.5 минуты): [spoiler]https://www.youtube.com/watch?v=SD5n_GLdXvo&feature=youtu.be[/spoiler]
искал что то похожее на форуме, нашел на данный момент только вот это:

[spoiler]
Тут принцип такой, собираем в массив цвета по координатам центра каждой ячейки, и потом в цикле сравниваем их с новыми снимками.

Code: (clickermann) [Select]
$x = 807 // координата человечка (центр ячейки)
$y = 611

SUB(comp, $xc, $yc)
   IF(PXL($xc, $yc) ! $arr_color[$n])
      LCLICK($xc, $yc) // кликаем на отличающуюся ячейку
      WAITMS(200)
      $check = 1
   END_IF
   INC($n,1)
END_SUB

GETSCREEN // первый снимок
$arr_color[0] = PXL($x+35,$y+0)
$arr_color[1] = PXL($x+18,$y+18)
$arr_color[2] = PXL($x-17,$y+20)
$arr_color[3] = PXL($x-37,$y+2)
$arr_color[4] = PXL($x-17,$y-18)
$arr_color[5] = PXL($x+18,$y-18)
$arr_color[6] = PXL($x+71,$y+0)
$arr_color[7] = PXL($x+53,$y+22)
$arr_color[8] = PXL($x+36,$y+40)
$arr_color[9] = PXL($x+6,$y+40)
$arr_color[10] = PXL($x-35,$y+40)
$arr_color[11] = PXL($x-54,$y+18)
$arr_color[12] = PXL($x-70,$y+0)
$arr_color[13] = PXL($x-52,$y-17)
$arr_color[14] = PXL($x-37,$y-37)
$arr_color[15] = PXL($x+0,$y-37)
$arr_color[16] = PXL($x+36,$y-35)
$arr_color[17] = PXL($x+53,$y-18)
$arr_color[18] = PXL($x+108,$y+2)
$arr_color[19] = PXL($x+91,$y+20)
$arr_color[20] = PXL($x+73,$y+40)
$arr_color[21] = PXL($x+56,$y+58)
$arr_color[22] = PXL($x+18,$y+57)
$arr_color[23] = PXL($x-17,$y+58)
$arr_color[24] = PXL($x-54,$y+60)
$arr_color[25] = PXL($x-70,$y+38)
$arr_color[26] = PXL($x-89,$y+20)
$arr_color[27] = PXL($x-107,$y+2)
$arr_color[28] = PXL($x-90,$y-17)
$arr_color[29] = PXL($x-70,$y-35)
$arr_color[30] = PXL($x-54,$y-55)
$arr_color[31] = PXL($x-15,$y-55)
$arr_color[32] = PXL($x+18,$y-55)
$arr_color[33] = PXL($x+55,$y-55)
$arr_color[34] = PXL($x+73,$y-37)
$arr_color[35] = PXL($x+91,$y-17)
WAITMS(500)

$check = 0
WHILE($check = 0) // цикл поиска отличий
   $n = 0
   GETSCREEN
   comp($x+35,$y+0)
   comp($x+18,$y+18)
   comp($x-17,$y+20)
   comp($x-37,$y+2)
   comp($x-17,$y-18)
   comp($x+18,$y-18)
   comp($x+71,$y+0)
   comp($x+53,$y+22)
   comp($x+36,$y+40)
   comp($x+6,$y+40)
   comp($x-35,$y+40)
   comp($x-54,$y+18)
   comp($x-70,$y+0)
   comp($x-52,$y-17)
   comp($x-37,$y-37)
   comp($x+0,$y-37)
   comp($x+36,$y-35)
   comp($x+53,$y-18)
   comp($x+108,$y+2)
   comp($x+91,$y+20)
   comp($x+73,$y+40)
   comp($x+56,$y+58)
   comp($x+18,$y+57)
   comp($x-17,$y+58)
   comp($x-54,$y+60)
   comp($x-70,$y+38)
   comp($x-89,$y+20)
   comp($x-107,$y+2)
   comp($x-90,$y-17)
   comp($x-70,$y-35)
   comp($x-54,$y-55)
   comp($x-15,$y-55)
   comp($x+18,$y-55)
   comp($x+55,$y-55)
   comp($x+73,$y-37)
   comp($x+91,$y-17)
   WAITMS(500)
END_CYC

[/spoiler]
в теме на форуме: "Если картинка поменялась, то нажать в тех координатах"
[spoiler]http://crapware.aidf.org/forum/index.php?topic=2622.0[/spoiler]

суть действий такова:
1.- на карте состоящей из квадратных "гексов" рандомно размещаются мобы, кликаем на ближайшего и атакуем.
2.- получаем награду, снова ищем вновь появившихся ближайших ботов и снова атакуем.
3.- когда заканчивается ход (в левом верхнем углу есть индикатор) скрипт останавливается.
p.s. желательно еще попутно открывать сундучки.

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

2
Общие вопросы / Re: Сканирование пикселя.
« on: August 11, 2016, 03:10:28 PM »
если не затруднит подскажите где ошибка(если конечно она есть, скрипт дописывал на работе и еще не проверял, до этого возникали сложности с переключением между блоками и сканированием пикселей).

сразу опишу в словах суть работы:
1.- кликер выполняет подключение к "сесии" путем проверки наличия попыток, в случае если попытки закончились он переключается к блоку выбора следующего аккаунта, в случае наличия попыток выполняет подключение и последующее выполнение блоков сессии.
2.- подключаясь к сессии(онлайн) дается 20 секунд на выбор места расположения старта группы, за эти 20 секунд один из игроков может передумать и покинуть сессию и она пересоздается автоматически подключаясь(без действий игрока) подбирая новых (рандомных) игроков в сессию, до тех пор пока игрок либо сам не покинет сессию, либо она не начнется.
3.- в данном моменте заключается самая сложная (во всяком случае для меня) задача чтоб кликер проверял одну плитку сначала без расположения на ней группы и щелкал на нее, а потом проверял наличие расположения на ней группы и ожидал начала сессии (20 секунд), после чего он проверял старт сессии путем нахождения пикселя на морде босса, а в случае её отсутствия (если вдруг сессия была кем то разорвана перед самым её стартом кликер возвращался к началу поиска клетки т.к. в этом случае игра будет автоматически перебрасывать нас к поиску новой сессии.

теперь по тому что я написал:

parkovka:   //блок выбора места
GETSCREEN    //скан области размещения группы
WAITMS(100)
COLORMODE(6,357,335, 361,339)
WAITMS(100)
//LCLICK(359,337)  // 8372159//Пиксель нижней плитки картинка в динамике шаг +-10
IF_PIXEL_IN(357,335, 361,339, 8372159)//квадрат поиска цвета пикселя на плитке №1
WAIT(1)
LCLICK(357,338) // нашли пиксель,становимся сюда   
WAITMS(100)
ELSE //если не нашли пиксель
WAIT(2)
GOTO(parkovka) // если не нашли возвращаемся обратно к поиску пикселя (возможно разрыв сессии одним из игроков)
END_IF
(рисунок №1 левая часть рисунка) http://imgur.com/a/cc49y

в случае успеха переходим к проверки расположения группы путем скана пикселя группы на месте где мы её расположили.

//проверка места группы
mesto:
GETSCREEN //скан пикселя группы
WAITMS(100)
COLORMODE(6,354,341, 358,345)
WAITMS(100)
//LCLICK(356,343)  // 16777215// Пиксель плитки где уже стоит группа
IF_PIXEL_IN(354,341, 358,345, 16777215)//квадрат поиска цвета пикселя на плитке
WAIT(4) //нашли пиксель стоим на месте 4 сек
GOTO(mesto:)// идем к поиску парковки
ELSE // если не нашли
GOTO(proverka) // идем к проверке старта сессии
END_IF
(рисунок №1 правая часть рисунка)

proverka:
GETSCREEN
WAITMS(100)
COLORMODE(6,1202,118, 1206,122)
WAITMS(100)
//LCLICK(1204,120)  // 16704349  пиксель на морде босса
IF_PIXEL_IN(1202,118, 1206,122, 16704349)//квадрат поика цвета пикселя морды босса
WAIT(1)
GOTO(nagrada) // идем к блоку награда
ELSE // если не нашли
GOTO(parkovka) // возвращаемся обратно к поиску пикселя начало боя
END_IF
(рисунок №2 нижний рисунок) http://imgur.com/a/cc49y

вот на этих скриптах я пока что путаюсь и не совсем получается, правда написанное тут я еще не испытывал и буду испытывать вечером, но последнее время пытаюсь разобраться и понять что не срабатывает и где ошибка.
постарался максимально развернуто объяснить суть, если будет не сложно подскажите пожалуйста где ошибка либо как можно упростить скрипт по описанной мною работе выше. Заранее большое спасибо.
p.s. если есть умельцы по кликеру , которые хорошо разбираются, я был бы не против договориться о написании скрипта для совершения более сложных задач в игре и готов оплатить работу.

3
Общие вопросы / Re: Сканирование пикселя.
« on: August 10, 2016, 10:58:10 PM »
Номера цветов ты взял без применения COLORMODE(6), а ищешь в нём.
Смотри выше прикреплённый файл.

x6  - это кратность увеличения лупы. Менять нужно цифру справа от %
да, спасибо, этого я не знал!
еще хотел уточнить, если картинка в динамике , то как будет лучше настроить проверку на пиксель? сделать несколько возможных цветов (область отклонения +/- 10 градусов по вертикали)
или просто увеличить область поиска?

4
Общие вопросы / Re: Сканирование пикселя.
« on: August 10, 2016, 05:32:48 PM »
И ещё... в COLORMODE(6), который ты применяешь, не бывает ни цвета 9804959 ни 9870751.
Цвет для поиска нужно тоже брать в применяемом режиме. В редакторе, под окном лупы, справа, есть цифра - режим цветокоррекции. Прощёлкай её до 6.
Лучше включить лупу, чтобы видеть изменения. Скорее всего два цвета не нужно будет. При подобранном режиме (6-7) они будут превращаться в один.
нет, так как раз таки 2 цвета, при переключении аккаунтов в игре в одном и той же координате с использованием лупы х6 цветов в разные моменты было именно 2 которых я перечислил.
остальной скрипт я верно написал, за исключением колормод?

5
Общие вопросы / Re: Сканирование пикселя.
« on: August 09, 2016, 10:33:29 AM »
GETSCREEN // скан пикселя
COLORMODE(6,127,54)
//LCLICK(127,54)  // 9804959,9870751
WAIT(3)
IF_PIXEL_IN(125,52, 129,56, 9804959,9870751) //2 варианта пикселя (заполненного меча)
lclick($_return1, $_return2)
WAITMS(500)
GOTO(mess4) // если нашли идем к блоку mess4
ELSE // если не нашли
WAITMS(500)
GOTO(fedya)  // выбор другого аккаунта
END_IF

вот так должно выглядеть?

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

6
Общие вопросы / Сканирование пикселя.
« on: August 09, 2016, 03:00:59 AM »
Доброй ночи. Подскажите пожалуйста следующее:
в кликере вот такой вот скрипт для игры, его цель - отслеживать наличие 2ух пикселей (путем опытных проб оказалось что в данном месте игра воспроизводит 2 цвета пикселей, просматривал и записывал № цветов через колормод 6 как и советовалось в одной из тем)

GETSCREEN // скан пикселя
COLORMODE(6,127,54)
//LCLICK(127,54)  // 9804959,9870751
WAIT(3)
IF_PIXEL_IN(127,54, 9804959,9870751) //2 варианта пикселя (заполненного меча)
WAITMS(500)
GOTO(mess4) // если нашли идем к блоку mess4
ELSE // если не нашли
WAITMS(500)
GOTO(fedya)  // выбор другого аккаунта
END_IF

А теперь проблема, выше указанный скрипт работает совершенно случайно, он может просканировав пиксель ниже
//LCLICK(127,54)  // 4800300 - цвет не заполненного меча
включает блок mess4 , хотя должена быть ложная команда и сработать блок fedya - выбор другого аккаунта.
Подскажите пожалуйста в чем проблема? Заранее спасибо!

Pages: [1]