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 - htc8bit

Pages: [1] 2
1
Добрый вечер!
Возник вопрос. есть ли такая команда, которая сделав скриншот экрана
GETSCREEN
вычислить "Уникальный" пиксель. т.е такой пиксель, который присутствует на одном только объекте и не встречается где-то на других объектах?

2
а ещё он продолжает бегать за точками, хотя ещё не всех пикселей убил)
как сделать чтоб он сначала проверил, что такого пикселя больше нет на карте - продолжал бегать за точками

3
Нужно просто добавить таймер вместо флага. И кстати оптимизировать запихнув код в подпрограмму а ввызове указывать координаты областей

Code: (clickermann) [Select]
SUB(prog, $x_1,$y_1,$x_2,$y_2, $x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
   LCLICK(RND($x_mini_1,$x_mini_2),RND($y_mini_1,$y_mini_2))
   WAITMS(100)
   
   GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
   IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
      LCLICK($_return1,$_return2)
      WAIT(1)
   END_IF
   
   $time = $_time_t + 60 // таймер на 60 секунд
   WHILE($time > $_time_t)
      GETSCREEN($x_1,$y_1, $x_2,$y_2)
      IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,720,961,253,729)
         LCLICK($_return1+2,$_return2-10)
         WAITMS(100)
         DBLCLICK($_return1+2,$_return2-10)
         WAITMS(100)
         GETSCREEN($x_1,$y_1, $x_2,$y_2)
         IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
            KEYPRESS(#CTRL)
            WAIT(7)
            $time = 0 // прерываем таймер, выходим из цикла
         END_IF
      ELSE
         WAITMS(40)
      END_IF
   END_CYC
END_SUB

// Первые 4 числа область игры, последние 4 числа область мини карты
prog(5,63, 1358,731, 1115,266, 1286,372)

Спасибо большое!
Правда есть ещё вопрос) когда я изменил цифру в таймере с 60 сек на 3 сек
он начал клацать в красную точку + ещё в 1 рандомное место на миникарте


4
Я кажется выяснил когда он стоит, а когда продолжает работать

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

соответственно если он 1 раз выполнил сценарий, прилетел к след точке и там пиксель не нашёл, то тоже до посинения будет стоять

как это исправить ?

мне нужно, чтоб если пиксель не найден он продолжал выполнять сценарий рандомно нажимая на миникарте


5
версия 4.11
сценарий чистый, без каких либо доп строк

6
Quote
$x_1 = 5
$y_1 = 63
$x_2 = 1358
$y_2 = 731
 
$x_mini_1 = 1115
$y_mini_1 = 266
$x_mini_2 = 1286
$y_mini_2 = 372
 
 
 
FOR($var=0, $var < 10)
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) //
 
WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
LCLICK($_return1,$_return2)
WAIT(1)
END_IF

 
while($targ=0)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,720,961,253,729)
LCLICK($_return1+2,$_return2-10)
WAITMS(100)
DBLCLICK($_return1+2,$_return2-10)
WAITMS(100)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
KEYPRESS(#CTRL)
WAIT(7)
$targ=1
END_IF
END_IF
END_CYC
$targ=0
END_CYC

такой сценарий работает хорошо, но
он выполняет его 1 раз
как мне сделать, чтобы после выполнения он повторял сценарий с самого начала?

7
в том то и дело, что выполняется действие 1 раз и после чего кликер стоит а не продолжает нажимать на красные точки на миникарте

8
в какой момент? код верен. работает 10 раз
1.кликаем на красный цвет в карте(надеюсь красный цвет не двигается)
2.  жмем на моба
3  проверяем появился ли таргет
4. если не появился, возвращаемся в пункт 2
5. если появился возвращаемся в пункт 1.
Вот такой вот принцип.  никаких кликов по черным пятнам нет. возможно долго карта прогружается, проверь) и чтобы было проще проверять где ломается - вставь принты(print("проверка 1, 2, 3...")),  с ними проще, когда нет  режима отладки построчной. когда чет сломается,  можно увидеть по принту,
 в чем глюк

Суть скрипта в том, что за "красными точками" на миникарте кликер должен "Бегать
т.е если на миникарте появится красная точка, то кликер будет постоянно нажимать на неё "лететь к ней" когда корабль долетает до неё  Пиксель (моб), который нужно взять в таргет появится в основном игровом окне
Кликер должен его увидеть и перестать "бегать за красной точкой на миникарте" а начать нажимать на пиксель, который его интересует. Когда моб в таргете, вокруг него появляется красный круг (на скриншоте красный, но вообще оранжевый)
после того как этот круг появился он должен нажать Ctrl, а если круга нет, то должен нажать на него ещё раз и так пока круг не появится.
после того как интересующие кликера пиксели пропадут из игрового окна "из зоны поиска"
он должен опять начать бегать за красными точками на миникарте, которые сами по себе тоже двигаются.




9
переход по метке был вне цикла у тебя) да и вообще, зачем тебе готт, если есть цикл var?
Code: (clickermann) [Select]
$x_1 = 5
$y_1 = 63
$x_2 = 1358
$y_2 = 731

$x_mini_1 = 1115
$y_mini_1 = 266
$x_mini_2 = 1286
$y_mini_2 = 372

 

FOR($var=0, $var < 10)
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) //

WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
LCLICK($_return1,$_return2)
WAIT(1)
END_IF

while($targ=0)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703,11514286,6313289)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(500)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
KEYPRESS(#CTRL)
WAIT(7)
$targ=1
END_IF
END_IF
END_CYC
$targ=0
END_CYC

 :-[ в каком цикле разобрался тот и поставил

мне нужно чтоб он без перебоя выполнял эти действия поэтому поставил гото чтоб действие повторить

я вставил то что ты скинул он начал рандомно нажимать по чёрному фону

10
В общем какая то фигня получается

включаю кликер,начинает вроде бы действия выполнять, 1 раз выполняет и потом почему то в центр экрана нажимает и всё, стоит
хотя в сценарии такого действия нет, и пикселя такого тоже нет, а он туда жмёт постоянно пока не отключу кликер
P.s игра браузерная, без привязки к окну работает

Мы не экстрасенсы) скинь весь код, что у тебя получилось. нюансов много, может цвет не находит, забыл  цикл закрыть, ит.д. и т.п.


Code: [Select]
$x_1 = 5
$y_1 = 63
$x_2 = 1358
$y_2 = 731

// îáëàñòü ìèíè êàðòû
$x_mini_1 = 1115
$y_mini_1 = 266
$x_mini_2 = 1286
$y_mini_2 = 372

 
//Êëèê ïî êðàñíîé òî÷êå íà ìèíè êàðòå
start:
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) // ðàíäîìíûé êëèê ïî ìèíèêàðòå

//Êëèê ïî êðàñíîé òî÷êå íà ìèíè êàðòå
$var=0
FOR($var, $var < 10, 1)
WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
LCLICK($_return1,$_return2)
WAIT(1)
END_IF


//Êëèê ïî ìîáó
while($targ=0)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703,11514286,6313289)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(500)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
KEYPRESS(#CTRL)
WAIT(7)
$targ=1
END_IF
END_IF
END_CYC
$targ=0
END_CYC
GOTO(start)

11
В общем какая то фигня получается

включаю кликер,начинает вроде бы действия выполнять, 1 раз выполняет и потом почему то в центр экрана нажимает и всё, стоит
хотя в сценарии такого действия нет, и пикселя такого тоже нет, а он туда жмёт постоянно пока не отключу кликер
P.s игра браузерная, без привязки к окну работает

при условии что фон чёрный, а все пиксели белого цвета


останавливается, хотя должен рандомно нажимать в заданной области, а он тупо стоит и жмёт на чёрный фон

12
цвет настрой. у тебя колормод лишним был

Теперь другой вопрос

если курсор попадает на нужный пиксель, то рядом появляется ещё один определённый пиксель (грубо говоря таргет)

Code: [Select]
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703)
DBLCLICK($_return1 + 1,$_return2-5)
WAITMS(200)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(200)
KEYPRESS(#CTRL)
WAIT(7)
END_IF
END_CYC
GOTO(start)

просто кликер видя определённый пиксель нажимает, но (т.к пиксель перемещается) не всегда попадает куда нужно  и ждёт свои 7 секунд чтобы продолжить действие.

как мне сделать так, чтоб если курсор не попал сразу куда нужно, то он не ждал 7 секунд, а нажимал сразу ещё пока не появится определённого цвета пиксель (это будет значить что он попал (взял в таргет) цель) , а уж после этого продолжал сценарий?
так?


Code: [Select]
a:
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703)
DBLCLICK($_return1 + 1,$_return2-5)
WAITMS(200)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(200)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
ELSE
Goto(a)
KEYPRESS(#CTRL)
WAIT(7)
END_IF
END_CYC
GOTO(start)
просто он почему-то если определяет что моб в таргете, не ждёт 7 сек а сразу ещё раз на него жмёт и опять включает атаку

13
колормод нужно делать после гетскрина) а зачем тебе кликать ф после клика на моба?
Если что-то меняет координату, и не получается нажать - зацикли, то есть пока не нажмет, чтоб не переходил к следующему шагу. при клике что-то меняется? ставь акцент на это.  проверяй, что меняется  и кликай еще.  а еще в режиме привязки клики работают по другому) а то мне кажется, ты используешь привязку, супер защищенный клиент впридачу..)
Code: (clickermann) [Select]
// область поиска.
$x_1 = 0
$y_1 = 63
$x_2 = 1358
$y_2 = 731

// область мини карты
$x_mini_1 = 1113
$y_mini_1 = 266
$x_mini_2 = 1287
$y_mini_2 = 373


While($bi2=0)
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) // рандомный клик по миникарте

//Клик по красной точке на мини карте
FOR($var=0, $var < 10)
WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2, 255)
LCLICK($_return1,$_return2)
WAIT(2)
END_IF

//Клик по мобу
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,327746)
DBLCLICK($_return1+1,$_return2-5)
WAITMS(100)
KEYPRESS(#CTRL)
WAIT(10)
END_IF
END_CYC
END_CYC

что то вообще не работает

14
а как зациклить?
я просто нуп

15
пробовал такой вариант, такая же басня

Pages: [1] 2