Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: reinxasad on June 06, 2015, 07:21:40 AM
-
Ребята, подскажите пожалуйста как лучше написать скрипт, желательно чтобы меньше времени ожидания было. Суть какая на рисунке №1 кнопка напасть. Как только скрипт ее находит нажимает её. Потом он должен перейти к поиску картинки на рис.2-3( есть 5 монстров разных которых надо прогнать и 7 которых напасть) если нужный прогоняем, если нет нападаем.Потом он переходит к метке ,где убивает монстра и возвращается на начало скрипта, поиска кнопки напасть на рис 1. Пробовал через IF_PIXEL_IN ,ну почему то иногда цвета пересекаются у пары монстров. Мне желательно,чтобы ети действия выполнялись как можно с меньшей задержкой. В пилоте поиск картинки у меня выглядел так
:mob
set $g FindImage (0 0 1920 1080 abs (C:\uo\barakus.bmp) %kopa 2 abs)
set $h FindImage (0 0 1920 1080 abs (C:\uo\worm10.bmp) %kopa 2 abs)
set $i FindImage (0 0 1920 1080 abs (C:\uo\scorp.bmp) %kopa 2 abs)
set $a FindImage (0 0 1920 1080 abs (C:\uo\Irka.bmp) %kopa 2 abs)
set $b FindImage (0 0 1920 1080 abs (C:\uo\ara.bmp) %kopa 2 abs)
if $g > 0 or $h > 0 or $i > 0 or $a > 0 or $b > 0
goto progon
else
goto napa
end_if
А тут незнаю, как правильно сделать. Изначально на кнопку напасть я написал вот это
:start
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "fight.bmp")
LCLICK($_return1, $_return2)
WAITMS(100)
GOTO(mob)
END_IF
Ну потом у меня дальше все как то криво выходит:( Помогите пожалуйста, буду оч признателен.
-
Прыгать никуда не нужно, особено из цикла!
//Рядом со скриптом должна быть папка Images в которую нужно поместить картинки
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\Напасть.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAIT(2)
ELSE
WAITMS(50)
END_IF
END_CYC
FOR($num=1,$num<13) // цикл прогоняет по кругу 12 картинок
// образец имен файлов от и до
//Images\Монстр_1.bmp
//...
//Images\Монстр_12.bmp
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Images\Монстр_", $num, ".bmp"), -1, 100)
IF($num > 5)
$num = 999 // сообщаем циклу что повторяться больше не нужно
// Монстр_6.bmp - Монстр_12.bmp нападаем
// тут нападение
ELSE
// Монстр_1.bmp - Монстр_5.bmp прогоняем
// тут прогоняем
END_IF
END_IF
END_CYC
-
Спасибо:) большое. Ну можно попросить вас еще разжевать, вот отрезок
FOR($num=1,$num<13) // цикл прогоняет по кругу 12 картинок
// образец имен файлов от и до
//Images\Монстр_1.bmp
//...
//Images\Монстр_12.bmp
Вот название картинок:) Извиняюсь за наглость,а можете прям с ними написать как должно быть:) картинка нападения " fight" , а с монстрами "mob_1 - mob_5" А обязательно картинки тех на кого нападаем?или может проще если он не нашел нужную,чтобы напал на неё?
А что за картинка тут должна быть IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Images\Монстр_", $num, ".bmp"), -1, 100)
Вот так?или опять что то напортачил))) у меня нажимает. А вот монстра видит,и дальше действия нет
$check = 0
WHILE($check = 0) // îæèäàíèå êàðòèíêè
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAIT(2)
ELSE
WAITMS(50)
END_IF
END_CYC
FOR($num=1,$num<6 )
//images\mob_1.bmp
//images\mob_2.bmp
//images\mob_3.bmp
//images\mob_4.bmp
//images\mob_5.bmp
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Images\mob_", $num, ".bmp"), -1, 100)
IF($num > 5)
$num = 999
// mob_1.bmp - mob_5.bmp
LCLICK(836,527) // 7822649
ELSE
LCLICK(704,511) // 16711422
END_IF
END_IF
END_CYC
-
Цикл FOR каждый проход наращивает переменную $num.
FOR($num=1,$num<13)
На первом проходе она равняется 1
STRCONCAT собирает строку из текста и переменных
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Images\Монстр_", $num, ".bmp"), -1, 100)
На выходе мы имеем
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\Монстр_1.bmp", -1, 100)
На следующем проходе цикла FOR уже
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\Монстр_2.bmp", -1, 100)
и тд. таким образом каждый цикл будет искаться новая картинка.
-
//images\mob_1.bmp
//images\mob_2.bmp
//images\mob_3.bmp
//images\mob_4.bmp
//images\mob_5.bmp
Это лишь комментарии для наглядности, в скрипте они не играю никакой роли.
-
Добавь запись в лог чтоб понимать что происходит в условиях
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAIT(2)
ELSE
WAITMS(50)
END_IF
END_CYC
FOR($num=1,$num<6)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Images\mob_", $num, ".bmp"), -1, 100)
LOGWRITE ("Найден момстр: ", $num)
IF($num > 5)
LOGWRITE ("Атака")
$num = 999
// mob_1.bmp - mob_5.bmp
LCLICK(836,527) // 7822649
ELSE
LOGWRITE ("Пропуск")
LCLICK(704,511) // 16711422
END_IF
END_IF
END_CYC
-
Спасибо большое:)
13:44:51 Найден момстр: 2
13:44:51 Пропуск
13:46:31 Найден момстр: 2
13:46:31 Пропуск
Он находит,ну почему то не хочет нажимать на кнопку прогнать,хотя координату еще перепроверил и перебил:( А может через GOTO сделать?
-
Он находит,ну почему то не хочет нажимать на кнопку прогнать,хотя координату еще перепроверил и перебил:( А может через GOTO сделать?
Тут гото вообще ни к чему. Разберись лучше с кликами
Иногда чтобы заработало, требуется писать вот такую конструкцию из наведений и дольших прожатий мыши
MOVE(836,527) // навел
WAITMS(100)
LDOWN(836,527) // зажал
WAITMS(60)
LUP(836,527) // отпустил
WAITMS(100)
-
Тут просто все действия надо,чтобы очень быстр происходили.А что то жуткие задержки. Через GOTO кстати нажалась,ну щас попробую еще как ты написал. Я пробовал через Пиксель ИН, и в одну строку все цвета монстров забивал тогда оч быстро ищет и нажимает., один минус пару монстров пересекаются по цвету. Может подскажешь, как можно тогда лучше через Пиксель Ин сделать, чтобы все быстро делалось. А то с картинками что то долго обрабатывает:( или я может кривой)))
Он находит,ну почему то не хочет нажимать на кнопку прогнать,хотя координату еще перепроверил и перебил:( А может через GOTO сделать?
Тут гото вообще ни к чему. Разберись лучше с кликами
Иногда чтобы заработало, требуется писать вот такую конструкцию из наведений и дольших прожатий мыши
MOVE(836,527) // навел
WAITMS(100)
LDOWN(836,527) // зажал
WAITMS(60)
LUP(836,527) // отпустил
WAITMS(100)
-
выпрыгивать из цикла через гото нельзя.
Картинки нужно делать маленькие 5х5 или широкие но по высоте 2-3 пиксела. Ну и конечно зону поиска нужно ограничить предполагаемым местом появления этой картинки.
-
:))) Эхх трудновато для меня это. Можно попросить тогда еще момент. Лучше с пиксель ин. Я вот тут сделал такой себе))))как не странно работает даже:DD Можно попросить его как то в порядок может лучше привести.
Вот ето часть ищет картинку напасть.
start:
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LCLICK(915,299) // 12576249
LCLICK(650,553) // 7098152
GOTO(mob)
ELSE
GOTO(kill)
END_IF
END_CYC
После когда найдет её, надо чтобы перешло к етому пункту
mob:
GETSCREEN
IF_PIXEL_IN (490,371, 519,464, 4348148, 6453979 )// червь
waitms(100)
LCLICK(835,528) // 7165237
END_IF
IF_PIXEL_IN (478,400, 509,404, 11253808, 9410362) // скорп
waitms(100)
LCLICK(836,537) // 9598024
END_IF
IF_PIXEL_IN (491,411, 494,411, 5105896, 10354175) // баракус
waitms(100)
LCLICK(834,494) // 9466695
END_IF
IF_PIXEL_IN (453,371, 492,373, 2372573, 3688163 ) //ара
waitms(100)
LCLICK(838,494) // 9466695
END_IF
IF_PIXEL_IN (500,413, 509,413, 2309997, 3694738 ) //ирка
waitms(100)
LCLICK(833,523) // 10979149
ELSE
waitms(100)
LCLICK(725,516) // кабан
waitms(100)
LCLICK(722,538) // крисп праз
waitms(100)
LCLICK(655,527) // брл дева
waitms(100)
GOTO(kill)
end_if
Чтобы искала пока не найдет картинку, можно думаю чтобы раза 2-3 по кругу пронгало если не найдет, то вернулось обратно к 1му пукнту к поиску кнопки напасть. А если нашёл нужную картинку перешел к етому пункту потом убивать
kill:
GETSCREEN
IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903 )
waitms(300)
LCLICK(368,728) // 15651552
WAITMS(1500)
LCLICK(667,526) // 14598228
WAITMS(100)
LCLICK(717,581) // 7822649
waitms(300)
LCLICK(860,620) // 6902065
waitms(300)
LCLICK(713,582) // 7165237
WAITMS(1500)
LCLICK(553,632) // 203583
GOTO(start)
END_IF
и Еще вот в конце независимую часть, чтобы обновляло уже саму игру:)
IF($time < $_time_t)
LCLICK(1151,312) // 10526880
waitms(100)
LCLICK(128,70) // 16708843
WAITMS(13000)
LCLICK(1124,130) // 15790320
WAITMS(1000)
LCLICK(534,633) // 1256792
waitms(100)
LCLICK(512,329) // 30375
waitms(100)
LCLICK(512,329) // 30375
WAITMS(200)
LCLICK(1176,129) // 10526880
WAITMS(100)
RCLICK(1353,170) // 16777142
WAITMS(300)
LCLICK(1400,241) // 26316
WAITMS(1000)
LCLICK(1122,313) // 0
WAITMS(200)
LCLICK(1633,263) // 0
waitms(100)
LCLICK(538,634) // 993877
$time = $_time_t + RND(400) // таймер
END_IF
Спасибо еще раз огромное:) и извиняюсь за такие напряги.
-
На гото ты далеко не уедешь...
Вот твой скрипт. В нем я использовал подпрограммы.
Ты должен знать что тело подпрограммы выполняется только после вызова, после того как подпрограмма отработает выполнение возвращается на следующую строку после вызова.
Вызов обязательно должен быть ниже самой подпрограммы.
Выполнение здесь начинается на 61 строке.
Кстати IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903) Это цвета или координаты? В функции IF_PIXEL_IN первые 4 числа отвечают за зону поиска, остальные это возможные цвета поиска.
//== ПОДПРОГРАММЫ ===========================================
SUB(kill)
GETSCREEN
IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903 )
waitms(300)
LCLICK(368,728) // 15651552
WAITMS(1500)
LCLICK(667,526) // 14598228
WAITMS(100)
LCLICK(717,581) // 7822649
waitms(300)
LCLICK(860,620) // 6902065
waitms(300)
LCLICK(713,582) // 7165237
WAITMS(1500)
LCLICK(553,632) // 203583
END_IF
END_SUB
SUB(mob)
$time1 = $_time_t + 2 // таймер на 2 секунды
WHILE($time1 > $_time_t) // повторяем поиск в течении 2х сек
GETSCREEN
IF_PIXEL_IN (490,371, 519,464, 4348148, 6453979)// червь
waitms(100)
LCLICK(835,528) // 7165237
END_IF
IF_PIXEL_IN (478,400, 509,404, 11253808, 9410362) // скорп
waitms(100)
LCLICK(836,537) // 9598024
END_IF
IF_PIXEL_IN (491,411, 494,411, 5105896, 10354175) // баракус
waitms(100)
LCLICK(834,494) // 9466695
END_IF
IF_PIXEL_IN (453,371, 492,373, 2372573, 3688163) //ара
waitms(100)
LCLICK(838,494) // 9466695
END_IF
IF_PIXEL_IN (500,413, 509,413, 2309997, 3694738) //ирка
waitms(100)
LCLICK(833,523) // 10979149
ELSE
waitms(100)
LCLICK(725,516) // кабан
waitms(100)
LCLICK(722,538) // крисп праз
waitms(100)
LCLICK(655,527) // брл дева
waitms(100)
$time1 = 0 // останавливаем цикл
kill() // переходим к убийству
end_if
END_CYC
END_SUB
//=============================================
//=== Начало ==========================================
DEFINE($time, $_time_t + 400) // чтобы сработало через 400 сек после запуска
IF($time < $_time_t)
LCLICK(1151,312) // 10526880
waitms(100)
LCLICK(128,70) // 16708843
WAITMS(13000)
LCLICK(1124,130) // 15790320
WAITMS(1000)
LCLICK(534,633) // 1256792
waitms(100)
LCLICK(512,329) // 30375
waitms(100)
LCLICK(512,329) // 30375
WAITMS(200)
LCLICK(1176,129) // 10526880
WAITMS(100)
RCLICK(1353,170) // 16777142
WAITMS(300)
LCLICK(1400,241) // 26316
WAITMS(1000)
LCLICK(1122,313) // 0
WAITMS(200)
LCLICK(1633,263) // 0
waitms(100)
LCLICK(538,634) // 993877
$time = $_time_t + 400 // таймер
END_IF
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LCLICK(915,299) // 12576249
WAITMS(100)
LCLICK(650,553) // 7098152
WAITMS(100)
mob() // переходим к анализу мобов
ELSE
kill() // переходим к убийству
END_IF
END_CYC
//=== Конец ==========================================
-
Cпасибо большое:) да там 6 координат вбито и 6 цветов:)) Вроде работала ето строчка:D Я как видишь профан в етом. ЩАс пойду опробую скрипт
На гото ты далеко не уедешь...
Вот твой скрипт. В нем я использовал подпрограммы.
Ты должен знать что тело подпрограммы выполняется только после вызова, после того как подпрограмма отработает выполнение возвращается на следующую строку после вызова.
Вызов обязательно должен быть ниже самой подпрограммы.
Выполнение здесь начинается на 61 строке.
Кстати IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903) Это цвета или координаты? В функции IF_PIXEL_IN первые 4 числа отвечают за зону поиска, остальные это возможные цвета поиска.
//== ПОДПРОГРАММЫ ===========================================
SUB(kill)
GETSCREEN
IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903 )
waitms(300)
LCLICK(368,728) // 15651552
WAITMS(1500)
LCLICK(667,526) // 14598228
WAITMS(100)
LCLICK(717,581) // 7822649
waitms(300)
LCLICK(860,620) // 6902065
waitms(300)
LCLICK(713,582) // 7165237
WAITMS(1500)
LCLICK(553,632) // 203583
END_IF
END_SUB
SUB(mob)
$time1 = $_time_t + 2 // таймер на 2 секунды
WHILE($time1 > $_time_t) // повторяем поиск в течении 2х сек
GETSCREEN
IF_PIXEL_IN (490,371, 519,464, 4348148, 6453979)// червь
waitms(100)
LCLICK(835,528) // 7165237
END_IF
IF_PIXEL_IN (478,400, 509,404, 11253808, 9410362) // скорп
waitms(100)
LCLICK(836,537) // 9598024
END_IF
IF_PIXEL_IN (491,411, 494,411, 5105896, 10354175) // баракус
waitms(100)
LCLICK(834,494) // 9466695
END_IF
IF_PIXEL_IN (453,371, 492,373, 2372573, 3688163) //ара
waitms(100)
LCLICK(838,494) // 9466695
END_IF
IF_PIXEL_IN (500,413, 509,413, 2309997, 3694738) //ирка
waitms(100)
LCLICK(833,523) // 10979149
ELSE
waitms(100)
LCLICK(725,516) // кабан
waitms(100)
LCLICK(722,538) // крисп праз
waitms(100)
LCLICK(655,527) // брл дева
waitms(100)
$time1 = 0 // останавливаем цикл
kill() // переходим к убийству
end_if
END_CYC
END_SUB
//=============================================
//=== Начало ==========================================
DEFINE($time, $_time_t + 400) // чтобы сработало через 400 сек после запуска
IF($time < $_time_t)
LCLICK(1151,312) // 10526880
waitms(100)
LCLICK(128,70) // 16708843
WAITMS(13000)
LCLICK(1124,130) // 15790320
WAITMS(1000)
LCLICK(534,633) // 1256792
waitms(100)
LCLICK(512,329) // 30375
waitms(100)
LCLICK(512,329) // 30375
WAITMS(200)
LCLICK(1176,129) // 10526880
WAITMS(100)
RCLICK(1353,170) // 16777142
WAITMS(300)
LCLICK(1400,241) // 26316
WAITMS(1000)
LCLICK(1122,313) // 0
WAITMS(200)
LCLICK(1633,263) // 0
waitms(100)
LCLICK(538,634) // 993877
$time = $_time_t + 400 // таймер
END_IF
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LCLICK(915,299) // 12576249
WAITMS(100)
LCLICK(650,553) // 7098152
WAITMS(100)
mob() // переходим к анализу мобов
ELSE
kill() // переходим к убийству
END_IF
END_CYC
//=== Конец ==========================================
-
Спасибо огромнейшее:)) Вроде все круто работает ;)
Cпасибо большое:) да там 6 координат вбито и 6 цветов:)) Вроде работала ето строчка:D Я как видишь профан в етом. ЩАс пойду опробую скрипт
На гото ты далеко не уедешь...
Вот твой скрипт. В нем я использовал подпрограммы.
Ты должен знать что тело подпрограммы выполняется только после вызова, после того как подпрограмма отработает выполнение возвращается на следующую строку после вызова.
Вызов обязательно должен быть ниже самой подпрограммы.
Выполнение здесь начинается на 61 строке.
Кстати IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903) Это цвета или координаты? В функции IF_PIXEL_IN первые 4 числа отвечают за зону поиска, остальные это возможные цвета поиска.
//== ПОДПРОГРАММЫ ===========================================
SUB(kill)
GETSCREEN
IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903 )
waitms(300)
LCLICK(368,728) // 15651552
WAITMS(1500)
LCLICK(667,526) // 14598228
WAITMS(100)
LCLICK(717,581) // 7822649
waitms(300)
LCLICK(860,620) // 6902065
waitms(300)
LCLICK(713,582) // 7165237
WAITMS(1500)
LCLICK(553,632) // 203583
END_IF
END_SUB
SUB(mob)
$time1 = $_time_t + 2 // таймер на 2 секунды
WHILE($time1 > $_time_t) // повторяем поиск в течении 2х сек
GETSCREEN
IF_PIXEL_IN (490,371, 519,464, 4348148, 6453979)// червь
waitms(100)
LCLICK(835,528) // 7165237
END_IF
IF_PIXEL_IN (478,400, 509,404, 11253808, 9410362) // скорп
waitms(100)
LCLICK(836,537) // 9598024
END_IF
IF_PIXEL_IN (491,411, 494,411, 5105896, 10354175) // баракус
waitms(100)
LCLICK(834,494) // 9466695
END_IF
IF_PIXEL_IN (453,371, 492,373, 2372573, 3688163) //ара
waitms(100)
LCLICK(838,494) // 9466695
END_IF
IF_PIXEL_IN (500,413, 509,413, 2309997, 3694738) //ирка
waitms(100)
LCLICK(833,523) // 10979149
ELSE
waitms(100)
LCLICK(725,516) // кабан
waitms(100)
LCLICK(722,538) // крисп праз
waitms(100)
LCLICK(655,527) // брл дева
waitms(100)
$time1 = 0 // останавливаем цикл
kill() // переходим к убийству
end_if
END_CYC
END_SUB
//=============================================
//=== Начало ==========================================
DEFINE($time, $_time_t + 400) // чтобы сработало через 400 сек после запуска
IF($time < $_time_t)
LCLICK(1151,312) // 10526880
waitms(100)
LCLICK(128,70) // 16708843
WAITMS(13000)
LCLICK(1124,130) // 15790320
WAITMS(1000)
LCLICK(534,633) // 1256792
waitms(100)
LCLICK(512,329) // 30375
waitms(100)
LCLICK(512,329) // 30375
WAITMS(200)
LCLICK(1176,129) // 10526880
WAITMS(100)
RCLICK(1353,170) // 16777142
WAITMS(300)
LCLICK(1400,241) // 26316
WAITMS(1000)
LCLICK(1122,313) // 0
WAITMS(200)
LCLICK(1633,263) // 0
waitms(100)
LCLICK(538,634) // 993877
$time = $_time_t + 400 // таймер
END_IF
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LCLICK(915,299) // 12576249
WAITMS(100)
LCLICK(650,553) // 7098152
WAITMS(100)
mob() // переходим к анализу мобов
ELSE
kill() // переходим к убийству
END_IF
END_CYC
//=== Конец ==========================================
-
Хотел спросить,а этот отрезок будет каждые 400 сек повторяться или только 1 раз? после запуска. Мне надо просто,чтобы он через каждые 400 сек обновлял
DEFINE($time, $_time_t + 400) // чтобы сработало через 400 сек после запуска
IF($time < $_time_t)
LCLICK(1151,312) // 10526880
waitms(100)
LCLICK(128,70) // 16708843
WAITMS(13000)
LCLICK(1124,130) // 15790320
WAITMS(1000)
LCLICK(534,633) // 1256792
waitms(100)
LCLICK(512,329) // 30375
waitms(100)
LCLICK(512,329) // 30375
WAITMS(200)
LCLICK(1176,129) // 10526880
WAITMS(100)
RCLICK(1353,170) // 16777142
WAITMS(300)
LCLICK(1400,241) // 26316
WAITMS(1000)
LCLICK(1122,313) // 0
WAITMS(200)
LCLICK(1633,263) // 0
waitms(100)
LCLICK(538,634) // 993877
$time = $_time_t + 400 // таймер
END_IF
И можно по его типу туда же еще такой маленький кусочек засунуть.,чтобы тоже каждые 240 сек повторялся
DEFINE($time, $_time_t + 240) // чтобы сработало через 240 сек после запуска
IF($time < $_time_t)
LCLICK(924,226) // 16777215
WAITMS(200)
LCLICK(550,636) // 413552
$time = $_time_t + 240 // таймер
END_IF
Cпасибо большое:) да там 6 координат вбито и 6 цветов:)) Вроде работала ето строчка:D Я как видишь профан в етом. ЩАс пойду опробую скрипт
На гото ты далеко не уедешь...
Вот твой скрипт. В нем я использовал подпрограммы.
Ты должен знать что тело подпрограммы выполняется только после вызова, после того как подпрограмма отработает выполнение возвращается на следующую строку после вызова.
Вызов обязательно должен быть ниже самой подпрограммы.
Выполнение здесь начинается на 61 строке.
Кстати IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903) Это цвета или координаты? В функции IF_PIXEL_IN первые 4 числа отвечают за зону поиска, остальные это возможные цвета поиска.
//== ПОДПРОГРАММЫ ===========================================
SUB(kill)
GETSCREEN
IF_PIXEL_IN(512,273, 520,274, 516,272, 511,261, 523,269, 538,266, 2017650, 1331506, 1930825, 2039775, 4145151, 2043903 )
waitms(300)
LCLICK(368,728) // 15651552
WAITMS(1500)
LCLICK(667,526) // 14598228
WAITMS(100)
LCLICK(717,581) // 7822649
waitms(300)
LCLICK(860,620) // 6902065
waitms(300)
LCLICK(713,582) // 7165237
WAITMS(1500)
LCLICK(553,632) // 203583
END_IF
END_SUB
SUB(mob)
$time1 = $_time_t + 2 // таймер на 2 секунды
WHILE($time1 > $_time_t) // повторяем поиск в течении 2х сек
GETSCREEN
IF_PIXEL_IN (490,371, 519,464, 4348148, 6453979)// червь
waitms(100)
LCLICK(835,528) // 7165237
END_IF
IF_PIXEL_IN (478,400, 509,404, 11253808, 9410362) // скорп
waitms(100)
LCLICK(836,537) // 9598024
END_IF
IF_PIXEL_IN (491,411, 494,411, 5105896, 10354175) // баракус
waitms(100)
LCLICK(834,494) // 9466695
END_IF
IF_PIXEL_IN (453,371, 492,373, 2372573, 3688163) //ара
waitms(100)
LCLICK(838,494) // 9466695
END_IF
IF_PIXEL_IN (500,413, 509,413, 2309997, 3694738) //ирка
waitms(100)
LCLICK(833,523) // 10979149
ELSE
waitms(100)
LCLICK(725,516) // кабан
waitms(100)
LCLICK(722,538) // крисп праз
waitms(100)
LCLICK(655,527) // брл дева
waitms(100)
$time1 = 0 // останавливаем цикл
kill() // переходим к убийству
end_if
END_CYC
END_SUB
//=============================================
//=== Начало ==========================================
DEFINE($time, $_time_t + 400) // чтобы сработало через 400 сек после запуска
IF($time < $_time_t)
LCLICK(1151,312) // 10526880
waitms(100)
LCLICK(128,70) // 16708843
WAITMS(13000)
LCLICK(1124,130) // 15790320
WAITMS(1000)
LCLICK(534,633) // 1256792
waitms(100)
LCLICK(512,329) // 30375
waitms(100)
LCLICK(512,329) // 30375
WAITMS(200)
LCLICK(1176,129) // 10526880
WAITMS(100)
RCLICK(1353,170) // 16777142
WAITMS(300)
LCLICK(1400,241) // 26316
WAITMS(1000)
LCLICK(1122,313) // 0
WAITMS(200)
LCLICK(1633,263) // 0
waitms(100)
LCLICK(538,634) // 993877
$time = $_time_t + 400 // таймер
END_IF
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LCLICK(915,299) // 12576249
WAITMS(100)
LCLICK(650,553) // 7098152
WAITMS(100)
mob() // переходим к анализу мобов
ELSE
kill() // переходим к убийству
END_IF
END_CYC
//=== Конец ==========================================
-
Конечно каждые 400. На счет второго условия нужно задать другое имя переменной в которой хранится время
DEFINE($time2, $_time_t + 240) // чтобы сработало через 240 сек после запуска
IF($time2 < $_time_t)
LCLICK(924,226) // 16777215
WAITMS(200)
LCLICK(550,636) // 413552
$time2 = $_time_t + 240 // таймер
END_IF
-
Я уже достал наверное:)) хочу вот етот отрезок еще он раньше там был. Всунуть,чтобы тоже его сканил постоянно.
GETSCREEN
IF_PIXEL_IN(516,360, 538,360, 574,360, 7821961, 7230338, 10322350)
LCLICK(1151,312) // 10526880
waitms(100)
LCLICK(128,70) // 16708843
WAITMS(13000)
LCLICK(1124,130) // 15790320
WAITMS(1000)
LCLICK(534,633) // 1256792
waitms(100)
LCLICK(512,329) // 30375
waitms(100)
LCLICK(512,329) // 30375
WAITMS(200)
LCLICK(1176,129) // 10526880
WAITMS(100)
RCLICK(1353,170) // 16777142
WAITMS(300)
LCLICK(1400,241) // 26316
WAITMS(1000)
LCLICK(1122,313) // 0
WAITMS(200)
LCLICK(1633,263) // 0
waitms(100)
LCLICK(1414,683) // 16777215
waitms(100)
LCLICK(548,633) // 4109779
END_IF
Спасибо огромное:)Если есть киви скинь в лс , если нет то номер:) отблагодарю хоть символически пива купишь:) Спасибо честно оч большое за помощь, не знаю,что без твоей помощи делал бы
Конечно каждые 400. На счет второго условия нужно задать другое имя переменной в которой хранится время
DEFINE($time2, $_time_t + 240) // чтобы сработало через 240 сек после запуска
IF($time2 < $_time_t)
LCLICK(924,226) // 16777215
WAITMS(200)
LCLICK(550,636) // 413552
$time2 = $_time_t + 240 // таймер
END_IF
-
Куда вставить то? может перед этим?
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
-
Я пробовал сюда, ну он только при запуске работает. Ето на ошибку перезапуск окна, а потом когда выскакивает ошибка, он уже почему то не хочет
Куда вставить то? может перед этим?
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
-
Кстати еще бывает , момент он становится на поиске картинки. И дальше не двигается порой замирает, даже пункт с обновлением не срабатывает.
Куда вставить то? может перед этим?
$check = 0
WHILE($check = 0) // ожидание картинки
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Images\fight.bmp", -1, 100)
-
Если картинка есть, то она изменённая. Добивайся стабильного поиска, снижай процент и т.д.
-
извиняюсь))ввел в заблуждение. на етом отрезке стопориться, тут не картинка,а цвет и коры. И потом впринципе должно быть по сути по тайму обновление. Ну он на ней подвисает
SUB(mob)
$time1 = $_time_t + 2 // таймер на 2 секунды
WHILE($time1 > $_time_t) // повторяем поиск в течении 2х сек
GETSCREEN
IF_PIXEL_IN (490,371, 519,464, 4348148, 6453979)// червь
waitms(100)
LCLICK(835,528) // 7165237
END_IF
IF_PIXEL_IN (478,400, 509,404, 11253808, 9410362) // скорп
waitms(100)
LCLICK(836,537) // 9598024
END_IF
IF_PIXEL_IN (491,411, 494,411, 5105896, 10354175) // баракус
waitms(100)
LCLICK(834,494) // 9466695
END_IF
IF_PIXEL_IN (453,371, 492,373, 2372573, 3688163) //ара
waitms(100)
LCLICK(838,494) // 9466695
END_IF
IF_PIXEL_IN (500,413, 509,413, 2309997, 3694738) //ирка
waitms(100)
LCLICK(833,523) // 10979149
ELSE
waitms(100)
LCLICK(725,516) // кабан
waitms(100)
LCLICK(722,538) // крисп праз
waitms(100)
LCLICK(655,527) // брл дева
waitms(100)
$time1 = 0 // останавливаем цикл
kill() // переходим к убийству
end_if
END_CYC
END_SUB
Если картинка есть, то она изменённая. Добивайся стабильного поиска, снижай процент и т.д.
-
А как ты определил что там?
Скорее всего по таймеру вышло и застопорилось на картинке.
-
Просто на определение монстров останавливается и даже если 400сек по таймеру проходит, дальше ничего не делает:) а так если не подвисает там. то таймер работает исправно
там просто две проги работают кликерман и WPE PRO
А как ты определил что там?
Скорее всего по таймеру вышло и застопорилось на картинке.
-
Хочу поймать вот эту картинку
Но она не цветная а серая.
ее надо перекравить в серенький цвет?
Но при поиске выдается эта ошибка
подскажите плиз как ее искать привильно?
Или надо сделать скриншотик этой засереной картинки?
---------------------------
Error
---------------------------
Ошибка при интерпритации строки: IF_PICTURE_IN(0,0,$_xmax,$_ymax,"Images\im001.png",-1,100)
---------------------------
Yes No
---------------------------
-
Какое еще нафиг PNG? Кликер работает только с BMP!
-
Хочу поймать вот эту картинку
Но она не цветная а серая.
ее надо перекравить в серенький цвет?
Ничего перекрашивать не надо, нужно сделать скрин серой картинки.
Кликер сравнивает каждый пиксел в картинке с тем что видит на экране, так происходит поиск.