Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: AKroshka on February 22, 2015, 12:15:02 PM
-
пытаюсь написать скрипт кликер с определением цвета и кликом по точке, но так как занялась этим в первые то все из рук вон плохо ппыталась читать но все равно не понятно например что значит $check = 0
надо ли изменять *0* на свое значение или это постоянная величина?
// Ждем появления цвета 255 по координате 100,100
GETSCREEN
WHILE(PXL (278,519) !206) // цикл задерживает скрипт пока не появится заданный цвет
WAITMS (100)
LCLICK(286,518) // 249
GETSCREEN
END_CYC
по идее он должен нажать а потом ждать цвет а вместо этого жмет бесперебойно (
я поняла что неверно сформулировала вопрос
и так есть точка определенного цвета когда она появляется на нее надо нажать когда ее нет просто ждать появления не мог бы кто нибудь показать любой пример дальше я сама разберусь, а то у меня либо жмет постоянно либо вообще не жмет
этот вариант не жмет хотя писала чуть ли не сверяя с форумом каждую букву
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(279,518, $_xmax,$_ymax, 249)
$check = 1
LCLICK($_return1)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
и еще язык из скриптов UPiliоt подойдет для написания просто там тоже попадаются примеры можно ли брать интересные куски от туда?
-
Второй вариант подойдет, хотя в нем ошибок куча
$check = 0
GETSCREEN
WHILE($check = 0)
IF_PIXEL_IN(279,518, 279,518, 249) //цвет 249
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
как то так должно быть
-
И это будет работать если данный цвет должен появиться только в данной точке - 279,518
-
спасибо большое
-
Еще вопрос все работает но нужно подводить курсор мыши на цвет хотя координаты введены и пока не наведешь на цвет кнопка не срабатывает почему то , надо доп команду какую то прописывать чтоб она сама наводилась?
-
$check = 0
GETSCREEN
WHILE($check = 0)
MOVE(279,518)
$check = 1
IF_PIXEL_IN(279,518, 279,518, 249) //цвет 249
$check = 2
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
ну вот теперь жмет сам но нет цикличности, тоесть мышку слегка двинула он повторно жмет а если ее не трогать то стоит(
я понимаю что нужно что то вписать но найти что именно не могу уже всю сеть облазила
-
$check - это переменная, ячейка памяти содержащая какую то информацию, например цифру 0
WHILE($check = 0) - это цикл с условием, если значение $check равно 0 то повторяем цикл
когда условие с поиском сработает и его внутренность выполнится переменной $check будет присвоено другое значение (цифра не важна главное не 0). Цикл прервется и скрипт пойдет дальше (прервется он когда дойдет до END_CYC конечно.).
Вот верный скрипт
$check = 0
MOVE(0,400) // предварительно убираем курсор в сторону, чтобы не мешал.
WHILE($check = 0)
GETSCREEN
IF(PXL(279,518) = 249)
$check = 1
LCLICK(279,518)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
Предположительно у тебя не находит цвет потому что при наведении цвет кнопки меняется и ты ищешь цвет кнопки с наведенным курсором. Тебе нужно сделать скриншот и взять цвет с него или вот таки отдельным скриптом узнать код цвета
GETSCREEN
LOGWRITE ("Цвет: ", PXL(279,518))
LOGSHOW (1)
HALT
-
Если это весь скрипт то в WHILE($check = 0) нет смысла. Это имеет смысл если нужно поэтапно находить пикселы и выполнять некоторые действия.
-
спасибо большое :)
а 2 скрипта можно друг за другом ставить? ну например один нажимает одну кнопку а второй скрипт другую? или по какому принципу их можно обьеденить если цвет второй кнопки меняется?
примерно все действие выглядит так:
нажать кнопку 1
если цвет кнопки 2 красный нажать кнопку о1
если цвет зеленый нажать кнопку о2
если синий нажать кнопку о3
повтор цикла
-
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(342,418, $_342,$_481, 10897227) синий
$check = 1
LCLICK(247,476)
WAITMS(100)
ELSE
IF_PIXEL_IN(342,418, $_342,$_481, 389451) зеленый
$check = 1
LCLICK(424,471)
WAITMS(50)
ELSE
IF_PIXEL_IN(342,418, $_342,$_481, 343806) красный
$check = 1
LCLICK(424,471)
WAITMS(50)
END_IF
END_CYC
вот написала) осталось только как то соеденить в одно оба скрипта все работает) блин не совсем работает пошла дальше ломать
-
Функция "IF_PIXEL_IN" ищет пиксел в зоне, конечно она может искать и в пределах 1 пиксела но для этого есть другая функция "PXL".
342,418, $_342,$_481 - что за ерунда? Первые два числа это верхний левый угол области поиска, вторые два нижний правый.
В кликере есть особые системные переменные возвращающие определенные параметры. $_xmax,$_ymax - эти две системные переменные возвращают размер твоего экрана.
$_342,$_481 - вот это фактически обозначает 0,0 :o Функция не будет так правильно работать.
Вот верный скрипт
LCLICK(10,10) // нажать кнопку 1
WAITMS(500)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(342,418, 342,481, 10897227) // синий
$check = 1
LCLICK(247,476)
WAITMS(50)
ELSE
IF_PIXEL_IN(342,418, 342,481, 389451) // зеленый
$check = 1
LCLICK(424,471)
WAITMS(50)
ELSE
IF_PIXEL_IN(342,418, 342,481, 343806) // красный
$check = 1
LCLICK(424,471) // те же координаты что и зеленый?
WAITMS(50)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
WAITMS(500)
-
$check = 0
MOVE(0,400) // предварительно убираем курсор в сторону, чтобы не мешал.
WHILE($check = 0)
GETSCREEN
IF(PXL(351,420) = 389451)
$check = 1
LCLICK(427,474)
WAITMS(50)
ELSE
GETSCREEN
IF(PXL(351,420) = 11156299)
$check = 1
LCLICK(252,472)
WAITMS(50)
ELSE
GETSCREEN
IF(PXL(351,420) = 407038)
$check = 1
LCLICK(337,470)
WAITMS(50)
END_IF
END_CYC
вот я исправила
-
вот теперь точно работает) урааа мой первый бот по сбору ресурсов!!!мальчики огромное спасибо за помощь) :)
$check = 0
MOVE(0,400)
WHILE($check = 0)
GETSCREEN
IF(PXL(279,518) = 166)
$check = 1
LCLICK(279,518)
WAITMS(100)
ELSE
GETSCREEN
IF_PIXEL_IN(351,420, 351,420, 389451)
$check = 1
LCLICK(427,474)
WAITMS(50)
ELSE
IF_PIXEL_IN(351,420, 351,420, 11156299)
$check = 1
LCLICK(252,472)
WAITMS(50)
ELSE
IF_PIXEL_IN(351,420, 351,420, 407038)
$check = 1
LCLICK(337,470)
WAITMS(50)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
-
Нет, есть ошибка, в конце недостает одного END_IF. Надеюсь ты понимаешь что все условия, у тебя, вложенные. до последнего очередь дойдет только если все предыдущие были не верны. Вообще скрипт странный, не понятно зачем тебе тут WHILE($check = 0)
$check = 0
MOVE(0,400)
WHILE($check = 0)
GETSCREEN
IF(PXL(279,518) = 166)
$check = 1
LCLICK(279,518)
WAITMS(100)
ELSE
IF(PXL(351,420) = 389451)
$check = 1
LCLICK(427,474)
WAITMS(50)
ELSE
IF(PXL(351,420) = 11156299)
$check = 1
LCLICK(252,472)
WAITMS(50)
ELSE
IF(PXL(351,420) = 407038)
$check = 1
LCLICK(337,470)
WAITMS(50)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_IF
END_CYC
-
если хочешь что бы работало в фоне ;)
$hwnd = HGET(60,95)
hset($hwnd, 1)
print($hwnd)
start:
GETSCREEN
WAITMS(100)
COLORMODE(7)
WAITMS(100)
$xm = 55
$ym = rnd(22,23)
postmessage($hwnd, 0x0200, 0, $xm + ($ym*65536))
print("\x-"$xm, "\y-"$ym, " передвижение мышки")
WAITMS(rnd(100,200))
$p = pxl(55, 22)
$p2 = pxl(55, 23)
//print("$p:", $p,".","$p2:", $p2 )
IF($p & $p2 = 8388479 & 16777087)
print("++",$p,":",$p2)
//SOUND("xp.wav")
// halt
GOTO(start1)
ELSE
print("\","22-",$p,":","23-",$p2)
GOTO(start)
END_IF
start1:
print("поехали кликать")
WAIT(rnd(1,4))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "poisk6.bmp",-1,70)
$x = $_return1+rnd(2,4)
$y = $_return2+2
print("\x-"$x, "\y-"$y, " +++++++++")
//postmessage($hwnd, 0x0200, 0, $xp + ($yp*65536));
WAITMS(rnd(100,200))
postmessage($hwnd, 0x0201, 0x0001, $x + ($y*65536));
WAITMS(rnd(1000,2000))
postmessage($hwnd, 0x0202, 0x0000, $x + ($y*65536));
WAITMS(rnd(800,1200))
//halt
GOTO(start)
ELSE
print("\x-"$x, "\y-"$y, "-------")
//halt
GOTO(start1)
-
Ну а чё, срок давности в 3 года ещё не вышел. Законы нужно знать.
-
Вы бы лучше ошибки обсудили...
Как это понимать?
IF($p & $p2 = 8388479 & 16777087)
Отсутствуют запятые
print("\x-"$xm, "\y-"$ym, " передвижение мышки")
По мимо этого, не нужные точки с запятой в конце, не нужные задержки пред GETSCREEN и отсутствие END_IF в конце. Ну а зачем, гото рулят ;)
-
А он ничего не просил. Наоборот, сам помогал. Только зачем помогать по посту почти трёхлетней давности? Там и версия другая была. Какой смысл вчитываться в мёртвый текст?
-
IF($p & $p2 = 8388479 & 16777087)
а что тут не понятно ? иф в двух пикселях будет цвет 8388479 & 16777087 то пойдёт дальше =) не помню, но енд это "или" или "и" ну знаки можно самому проверить! "&" и "|" поставить и результат будет ясен, один знак будет требовать по двум координатам а второй знак будет требовать в одной точке, как то так =ь
А про точки с запятой я знаю да и работе они не мешают, просто копипастил с старых скриптов 0=)
А зачем в мёртвый пост написал? пусть и такой пример будет здесь !
-
И мне не понятно и кликеру тоже, потому что так писать неправильно.
Верный скрипт
$hwnd = HGET(60,95)
hset($hwnd, 1)
print($hwnd)
start:
$xm = 55
$ym = rnd(22,23)
postmessage($hwnd, 0x0200, 0, $xm + ($ym*65536))
print("\x-",$xm,"\y-",$ym," передвижение мышки")
//print("$p:", $p,".","$p2:", $p2 )
GETSCREEN
COLORMODE(7)
$p = pxl(55, 22)
$p2 = pxl(55, 23)
IF(($p = 8388479) & ($p2 = 16777087))
print("++",$p,":",$p2)
//SOUND("xp.wav")
// halt
ELSE
print("\","22-",$p,":","23-",$p2)
GOTO(start)
END_IF
start1:
print("поехали кликать")
WAIT(rnd(1,4))
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "poisk6.bmp",-1,70)
$x = $_return1+rnd(2,4)
$y = $_return2+2
print("\x-",$x,"\y-",$y," +++++++++")
//postmessage($hwnd, 0x0200, 0, $xp + ($yp*65536))
postmessage($hwnd, 0x0201, 0x0001, $x + ($y*65536))
WAITMS(rnd(1000,2000))
postmessage($hwnd, 0x0202, 0x0000, $x + ($y*65536))
WAITMS(rnd(800,1200))
//halt
GOTO(start)
ELSE
print("\x-"$x,"\y-"$y," -------")
//halt
GOTO(start1)
END_IF
-
IF($p & $p2 = 8388479 & 16777087)
а что тут не понятно ?
Ничего не понятно. Ни в одном языке это не сработает как ты описал. Есть понятие приоритета операций и приоритет равенства почти везде выше логических И/ИЛИ And/Or.
Получается выражение вида
($p ИЛИ ($p2 = 8388479) ИЛИ 16777087)
Везде бессмысленно.
Даже если в каком-то языке приоритет == будет меньше булевых, получим
(($p ИЛИ $p2) = (8388479 ИЛИ 16777087))
Что тоже бессмысленно, т.к. выдаст TRUE если хотябы один из ($p ИЛИ $p2) = TRUE т.е. у нас не равен 0 или не пустой.
А цвета совсем никак не учитываются если они не 0.
-
ну что тут могу сказать ;D раз ты прав, то кину скриптик, который с своей задачей справлялся :P
может и грубая работа, но в фоне прекрасно всю энергию спускало и ждало пока будет на поход, + там помощь жмякало...переключился на другой уровень, учусь писать без гото 8) блочные циклы и условия с масивами ;)
[spoiler]
$hwnd = HGET(60,95)
hset($hwnd, 1)
print($hwnd)
wndsize(wndfind("VNC Viewer"), 252, 252)
wndpos(wndfind("VNC Viewer"), -4, -4)
t:
$t = 0
pix:
WAIT(1)
GETSCREEN
WAITMS(100)
COLORMODE(7)
WAITMS(rnd(100,200))
$p = pxl(55, 22)
$p2 = pxl(55, 23)
$p3 = pxl(56, 22)
$p4 = pxl(56, 23)
IF($p | $p2 | $p3 & $p4 = 8388479 | 16777087)
print($p,"-",$p2,"-",$p3,"-",$p4)
GOTO(o1)
ELSE
print("\","$p:55,22-",$p,":","$p2:55,23-",$p2,"$p3:55,23-",$p3,"$p4:55,23-",$p4)
WAIT(rnd(6,9))
GOTO(pom)
o1:
WAIT(rnd(1,2))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(53,27, 66,41, "sl.bmp",-1,10)
WAIT(rnd(0,1))
GOTO(o2)
ELSE
print("o1")
GOTO(poisk)
o2:
WAIT(rnd(1,2))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(53,39, 66,54, "sl.bmp",-1,10)
WAIT(rnd(2,3))
GOTO(o3)
ELSE
print("o2")
GOTO(poisk)
o3:
WAIT(rnd(1,2))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(58,50, 73,58, "o36+.bmp",-1,25)
print("найден третий отрÑд GOTO(pom)")
WAIT(rnd(2,3))
GOTO(pom)
ELSE
print("o3")
GOTO(poisk)
poisk:
WAIT(rnd(4,4))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(169,115, 188,134, "poisk6.bmp",-1,60)
$xpo = $_return1+rnd(0,7)
$ypo = $_return2+rnd(0,8)
print("\x-"$xpo, "\y-"$ypo, " poisk+++++++++")
WAITMS(rnd(100,200))
postmessage($hwnd, 0x0201, 0x0001, $xpo + ($ypo*65536));
WAITMS(rnd(1000,2000))
postmessage($hwnd, 0x0202, 0x0000, $xpo + ($ypo*65536));
WAITMS(rnd(800,1200))
GOTO(pm)
ELSE
print("\x-"$xpo, "\y-"$ypo, "no poisk-------")
inc($t,1)
while($t < 4)
WAIT(rnd(0,1))
GOTO(poisk)
ELSE
WAIT(rnd(0,1))
$t = 0
GOTO(t)
pm:
WAIT(rnd(4,4))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(97,92, 154,110, "poisk7-10.bmp",-1,65)
$xpm = $_return1+rnd(-20,9)
$ypm = $_return2+rnd(0,4)
print("\x-"$xpm, "\y-"$ypm, " poisk monstrov+++++++++")
postmessage($hwnd, 0x0201, 0x0001, $xpm + ($ypm*65536));
WAITMS(rnd(1000,2000))
postmessage($hwnd, 0x0202, 0x0000, $xpm + ($ypm*65536));
WAITMS(rnd(800,1200))
WAIT(rnd(1,2))
GOTO(atm)
ELSE
print("\x-"$xpm, "\y-"$ypm, "no poisk monstrov-------")
inc($t,1)
while($t < 4)
WAIT(rnd(0,1))
GOTO(pm)
ELSE
WAIT(rnd(0,1))
$t = 0
GOTO(t)
atm:
WAIT(rnd(4,4))
GETSCREEN
WAITMS(rnd(50,100))
COLORMODE(6)
WAITMS(rnd(50,100))
IF_PICTURE_IN(145,75, 173,141, "atakam.bmp",-1,60)
$xatm = $_return1+rnd(1,14)
$yatm = $_return2+rnd(1,4)
print("\x-"$xatm, "\y-"$yatm, " atakam+++++++++")
postmessage($hwnd, 0x0201, 0x0001, $xatm + ($yatm*65536));
WAITMS(rnd(1000,2000))
postmessage($hwnd, 0x0202, 0x0000, $xatm + ($yatm*65536));
WAITMS(rnd(900,1200))
GOTO(at)
ELSE
print("\x-"$xatm, "\y-"$yatm, "no atakam------")
inc($t,1)
while($t < 4)
WAIT(rnd(0,1))
GOTO(atm)
ELSE
WAIT(rnd(0,1))
$t = 0
GOTO(t)
at:
WAIT(rnd(3,3))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(95,121, 148,145, "ataka.bmp",-1,70)
$xat = $_return1+rnd(2,39)
$yat = $_return2+rnd(2,10)
print("\x-"$xat, "\y-"$yat, " ataka+++++++++")
postmessage($hwnd, 0x0201, 0x0001, $xat + ($yat*65536));
WAITMS(rnd(1000,2000))
postmessage($hwnd, 0x0202, 0x0000, $xat + ($yat*65536));
WAITMS(rnd(800,1200))
GOTO(vpohod)
ELSE
WAIT(rnd(4,4))
inc($t,1)
logwrite("повторов: ", $t)
$xap = rnd(115,126)
$yap = rnd(86,95)
print("\x-"$xap, "\y-"$yap, " ataka+rep++++")
postmessage($hwnd, 0x0201, 0x0001, $xap + ($yap*65536));
WAITMS(rnd(1000,2000))
postmessage($hwnd, 0x0202, 0x0000, $xap + ($yap*65536));
WAITMS(rnd(800,1200))
WAIT(rnd(3,3))
while($t < 3)
GOTO(at)
ELSE
GOTO(t)
vpohod:
print("\x-"$xvp, "\y-"$yvp, " vpohod++")
WAIT(rnd(4,5))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(128,159, 179,179, "vpohod.bmp",-1,40)
$xvp = $_return1+rnd(3,40)
$yvp = $_return2+rnd(3,10)
print("\x-"$xvp, "\y-"$yvp, " vpohod++")
postmessage($hwnd, 0x0201, 0x0001, $xvp + ($yvp*65536));
WAITMS(rnd(800,1200))
postmessage($hwnd, 0x0202, 0x0000, $xvp + ($yvp*65536));
WAITMS(rnd(800,1200))
print("vpohod!!!")
WAIT(rnd(4,6))
GOTO(t)
ELSE
GOTO(vpohod)
pom:
WAIT(rnd(1,2))
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(168,134, 188,151, "pr6.bmp",-1,50)
$xpom = $_return1+rnd(1,6)
$ypom = $_return2+rnd(1,5)
postmessage($hwnd, 0x0201, 0x0001, $xpom + ($ypom*65536));
WAITMS(rnd(100,200))
postmessage($hwnd, 0x0202, 0x0000, $xpom + ($ypom*65536));
WAITMS(rnd(100,200))
print("\x-"$xpom, "\y-"$ypom, " pomosh+++")
GOTO(pvsem)
ELSE
GOTO(t)
pvsem:
WAIT(rnd(2,3))
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(91,157, 149,177, "pvsem6.bmp",-1,70)
$xpv = $_return1+rnd(0,47)
$ypv = $_return2+rnd(0,8)
postmessage($hwnd, 0x0201, 0x0001, $xpv + ($ypv*65536));
WAITMS(rnd(100,200))
postmessage($hwnd, 0x0202, 0x0000, $xpv + ($ypv*65536));
WAITMS(rnd(50,60))
print("\x-"$xpv, "\y-"$ypv, " pomosh vsem+++++")
GOTO(x)
ELSE
print("\x-"$xpv, "\y-"$ypv, " pomosh vsem----")
GOTO(x)
x:
WAIT(rnd(1,2))
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(170,0, 188,18, "x6.bmp",-1,40)
$xx = $_return1+rnd(1,10)
$yx = $_return2+rnd(0,8)
postmessage($hwnd, 0x0201, 0x0001, $xx + ($yx*65536));
WAITMS(rnd(100,200))
postmessage($hwnd, 0x0202, 0x0000, $xx + ($yx*65536));
WAITMS(rnd(50,60))
print("\x-"$xx, "\y-"$yx, " krestik+++++")
WAIT(rnd(1,2))
GOTO(t)
ELSE
print("\x-"$xx, "\y-"$yx, " krestik---")
WAIT(rnd(0,1))
GOTO(t)
[/spoiler]
а вот пример как учусь писать блочными циклами 0=) может и много я задаю массивов, и понимаю что достаточно 1, что бы запустить следующий цикл.. но всё впереди ::)
[spoiler]
$o1 = 0
$o11 = 0
while(($o1 < 1) & ($o11 < 3))
WAIT(rnd(1,2))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(53,27, 66,41, "sl.bmp",-1,10)
WAIT(rnd(0,1))
print("o1+", $o1)
$o2 = 0
$o1 = 1
$poisk = 0
ELSE
$o1 = 1
$o2 = 1
$o3 = 1
$poisk = 1
print("o1-")
END_IF
while($o2 < 1)
WAIT(rnd(1,2))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(53,39, 66,54, "sl.bmp",-1,25)
print("o2+", $o2)
WAIT(rnd(2,3))
$o3 = 0
$o2 = 1
$poisk = 0
ELSE
print("o2-")
$o1 = 1
$o3 = 1
$o2 = 1
$poisk = 1
END_IF
while($o3 < 1)
WAIT(rnd(1,2))
GETSCREEN
WAITMS(rnd(50,60))
COLORMODE(6)
WAITMS(rnd(50,60))
IF_PICTURE_IN(56,49, 72,58, "o36+.bmp",-1,40)
WAIT(rnd(2,3))
print("o3+", $o3)
$o1 = 0
$o3 = 1
$poisk = 0
inc($o11,1)
print("inc($o11,1)"$o11)
ELSE
print("o3-")
$o1 = 1
$o2 = 1
$o3 = 1
$poisk = 1
END_IF
END_CYC
END_CYC
END_CYC
[/spoiler]
вот только не понимаю смысл между while и фор
-
Ты странный, вместо того чтобы осознать свои ошибки ты снова выкладываешь свою лепнину....
Вот твое условие, чтобы ты не написал в значениях переменных условие всегда будет верно.
$p = 0
$p2 = 0
$p3 = 0
$p4 = 0
IF($p | $p2 | $p3 & $p4 = 8388479 | 16777087)
LOGWRITE ("Верно")
ELSE
LOGWRITE ("Не верно")
END_IF
HALT
(http://savepic.net/10264792.png)
-
вот только не понимаю смысл между while и фор
For - сам наращивает переменную указанную в параметрах. В большинстве случаев используется для повтора кода нужное количество раз или перебора каких то значений.
WHILE - просто цикл-условие.
-
Ты странный, вместо того чтобы осознать свои ошибки ты снова выкладываешь свою лепнину....
Вот твое условие, чтобы ты не написал в значениях переменных условие всегда будет верно.
$p = 0
$p2 = 0
$p3 = 0
$p4 = 0
IF($p | $p2 | $p3 & $p4 = 8388479 | 16777087)
LOGWRITE ("Верно")
ELSE
LOGWRITE ("Не верно")
END_IF
HALT
(http://savepic.net/10264792.png)
я не волшебник, я просто учусь и баран ;D
За объяснение про циклы спасибо 0=)
раз продвинутый такой, то можешь подсказать как взять нужный HWND!? в окне их 2 =\
wndfind("VNC Viewer") в фоновом режиме захватывает а мне нужно по HGET чуть ниже!но HGET в фоне не работает и окно должно быть на переднем плане!!
теоретически я понимаю что это возможно, но как..наверное это как с поиском
[spoiler]
$var = wndfind("VNC Viewer")
//scanpxl($var, 53,21, 55,24, 8388479)
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
print("-",$x,":", $y)
end_cyc
//$clr = PXL(55,23)
//logwrite("pixels: ", $clr)
$count = PXLCOUNT (53,21, 55,24, 8388479, 16777215)
logwrite(" pixels: ", $count)
[/spoiler]
или с помощью postmessage как то взять по хгет :o
как такая задача? захват нужного 1 хвнд из 3, не выводя на передний план, как делает wndfind ;D