if ($a = PXLCRC (x,y,x1,y1))
lclick (x,y)//
end_if
Возможна не в ту тему :)
Зачем анализировать кучу точек если ниже идет конкретное условие?
Почему просто не написатьCode: (clickermann) [Select]if ($a = PXLCRC (x,y,x1,y1))
lclick (x,y)//
end_if
//Блок констант
//выгоднее было бы писать твои константы в массив, с ним проще вызывать далее подпрограммы через тотже цикл.
DEFINE ($a, 1)//
DEFINE ($b, 2)//
DEFINE ($c, 3)//
sub (analiz,$N)
//если после клика картинка меняется, не забываем про getscreen
if ($N = PXLCRC (x,y,x1,y1)) //тут координаты я так понял из прочитанного выше - постоянны
lclick (x,y)// если координаты клика могут разниться, то и их можно дописать в пораметры подпрограммы
//в этом случае их также придется добавлять при вызове.
end_if
end_sub
analiz ($a)
analiz ($b)
analiz ($c)
Еще вопросдаже и забыл, так как сразу "нет", какаято глупая затея :D . впринципе если бы была возможность писать функции, то можно было бы.... :D
(x,y,x1,y1) загнать в константу можно?
Например:
Define ($a, 1, x,y,x1,y1)// знаю что не правильно но принцып думаю понятен
If ($a = pxlcrc)
Lclick (x,y)
End_if
sub (analiz,$crc,$x,$y,$x1,$y1,$x_click,$y_click)
//если после клика картинка меняется, не забываем про getscreen
if ($crc = PXLCRC ($x,$y,$x1,$y1))
lclick ($x_click,$y_click)
end_if
end_sub
analiz (4343434352,100,100,110,110,105,104) //тут пишешь через запятую - значение PXLCRC, координаты анализа, и координаты клика (7 значений через запятую)
всеже немного почитал более внимательно. и пришел к выводу, что ты сканируешь какието отдельные участки экрана, и если их хэш совпадет с записанным ранее, то клик в какоето место. но в этом случае все координаты и значения хэш походу будут разнится. и написанное мной выше тебе не подойдет. вот тебе вариант, где все ппараметры вынесены в подпрограмме, таким образом легче будет ничего не попутать в вызовах, и никаких констант.Code: (clickermann) [Select]sub (analiz,$crc,$x,$y,$x1,$y1,$x_click,$y_click)
//если после клика картинка меняется, не забываем про getscreen
if ($crc = PXLCRC ($x,$y,$x1,$y1))
lclick ($x_click,$y_click)
end_if
end_sub
analiz (4343434352,100,100,110,110,105,104) //тут пишешь через запятую - значение PXLCRC, координаты анализа, и координаты клика (7 значений через запятую)
#define $a:3216221726,484,311,486,312,365,304
sub (analiz,$crc,$x,$y,$x1,$y1,$x_click,$y_click)
print($crc)
print($x)
MOVE($x_click,$y_click)
end_sub
wait(1)
analiz ($a)
halt
в логе то что требовалось, курсор перемещенzanogu
только $1 - недопустимое имя переменной. имя не должно начинаться с цифры (по крайней мере так в справке Джонни написал)
#define $Arena:3216221726,484,311,486,312,365,304,2,end,Центральная прлощадка игры ..... #define $EnterArena:3216221726,484,311,486,312,365,304,2,Arena,Вход в арену sub (analiz, $crc,$x,$y,$x1,$y1,$x_click,$y_click,$pausa,$perekluchatel,$log) start: if ($restart<15) // Проверка на подгруз игры getscreen colormode (6) if_picture_in (455,285,502,339, "load.bmp", 0,80) logwrite ("Пауза подгрузка") inc ($restart) wait (3) goto (start) end_if //Проверка на рекламу getscreen if ($AddTrue = PXLCRC (48,39,48,39)) logwrite ("Закрываю окно рекламы") lclick (665, 531) wait (3) goto (start) end_if else logwrite ("Рестрат", $restart) if ($restart>15) $restart=0 restart() goto (start) end_if end_if getscreen if (($crc = pxlcrc ($x,$y,$x1,$y1)) & ($restart<15)) logwrite ($crc) $restart = 0 lclick ($x_click,$y_click) logwrite ($log) wait ($pausa) else restart () $restart=0 goto ($perekluchatel) end_if end_sub arena: analiz ($EnterArena)//Розвернуть нижнюю панель игры analiz ($ArenaPanel)//Переход в тип арены analiz ($ArenaChous)//Выбор типа арены for ($i, $i>5) analiz ($ArenaTake) lclick (838,503) wait (3) analiz ($ArenaAttake) analiz ($ArenaDrop) analiz ($ArenaWinLost) end_cyc $i=0 end: hult |
#define $Arena:3216221726,484,311,486,312,365,304,2,end,Центральная прлощадка игры
.....
#define $EnterArena:3216221726,484,311,486,312,365,304,2,Arena,Вход в арену
sub (analiz, $crc,$x,$y,$x1,$y1,$x_click,$y_click,$pausa,$perekluchatel,$log)
start:
if ($restart<15)
//
getscreen
colormode (6)
if_picture_in (455,285,502,339, "load.bmp", 0,80)
logwrite ("Пауза подгрузка")
inc ($restart)
wait (3)
goto (start)
end_if
//
getscreen
if ($AddTrue = PXLCRC (48,39,48,39))
logwrite ("Закрываю окно рекламы")
lclick (665, 531)
wait (3)
goto (start)
end_if
else
logwrite ("Рестрат", $restart)
if ($restart>15)
$restart=0
restart()
goto (start)
end_if
end_if
getscreen
if (($crc = pxlcrc ($x,$y,$x1,$y1)) & ($restart<15))
logwrite ($crc)
$restart = 0
lclick ($x_click,$y_click)
logwrite ($log)
wait ($pausa)
else
restart ()
$restart=0
goto ($perekluchatel)
end_if
end_sub
arena:
analiz ($EnterArena)//
analiz ($ArenaPanel)//
analiz ($ArenaChous)//
for ($i=0, $i<5) //правильно. У тебя for - ($i, $i>5)
analiz ($ArenaTake)
lclick (838,503)
wait (3)
analiz ($ArenaAttake)
analiz ($ArenaDrop)
analiz ($ArenaWinLost)
end_cyc
$i=0 // Это не нужно
end:
HALT //правильно. У тебя - hult
#define $Arena:3216221726,484,311,486,312,365,304,2,"end","Центральная площадка игры"
#define $EnterArena:3216221726,484,311,486,312,365,304,2,"Arena","Вход в арену"