Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: komandirbk on November 11, 2017, 06:53:30 AM
-
Здравствуйте, знаком более менее с программой уже как неделю, но все же очень для меня всё запутано в плане вычисления текста.
Задача такова. Есть игра MU Online. В ней есть банки для восстановления хп. При покупке их в магазине - их покупается 10 штук. Для того, чтобы мне можно было их "абузить" мне необходимо 7 раз каждую эту банку прокликать. Так вот, в чем собственно проблема. Вот скриншот (https://image.prntscr.com/image/nsyxXFh8SU2CoYdzxK2LKw.png) этих банок(150), но те, которые будут в магазине покупаться - их 10.
Так вот, обратите внимание на Number of items : ... Вот именно это мне и нужно в качестве проверки. То есть скрипт должен навестить на банку(не проблема для меня) и проверить число после Number of items:
Если там любое из чисел от 4 до 10 - он его должен нажать ПКМ.
Прошу помочь, как это можно реализовать? Шрифт вроде как обычный довольно таки, думаю не будет проблем.
Заранее огромное спасибо!
-
http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571 (http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571)
-
Да я видел это сообщение. Но я не кодер, я понятия не имею, что с этим большим кодом делать. Да, инклуд его в скрипт, а дальше что? Примерно в двух словах грубо говоря. Я не тупой, но не программист :)
-
GETSCREEN
// проверка самой банки на наличие в инвентаре
IF_PIXEL_IN(1211,504, 1439,724, 460504)
waitms(100)
MOVE($_return1, $_return2)
waitms(2000)
//проверка банки
//проверка количества использований этой банки
getscreen
COLORMODE(8)
IF_PICTURE_IN (1208,503, 1430,730, "6b.bmp", -1, 100)
MOVE($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
При таком вот коде почему то не работает. Что не так?
-
В чем может быть проблема? Почему то у меня даже при попытке получить скриншот в области - он его сохраняет в папку во весь экран.
Можно пожалуйста пример использования с вычислителем чисел? Ибо по картинке именно это очень плохо получается.
-
И еще вопрос, как сделать, чтобы когда он нашел, что там 6 использований - он кликнул именно на банку, а не место где эти 6 использований были найдены?
-
Просто получается так, что банок этих в инвентаре к примеру 10. Он нашел первую - навелся на нее, там показало, что их 10, он хоп и кликнул туда для использования. Но кликнет ведь он на место где эта цифра 10 была найдена, а не на саму банку. Как это вот объединить?
-
Спасибо большое. С этим разобрался. Остался еще такой вопросик.
Вот допустим эти банки у меня стоят в scan области в виде половины клеток(примерно 32 клетки)
А остальные 32 предназначены для перемещения туда уже готовых банок по 3 штуки.
Как сделать так, чтобы когда в определенной области не осталось пикселя(он у меня есть), а именно банок - функция по поиску использования банок прекратилась и скрипт начал выполнять совсем другую функцию, которая у меня уже готова. Заранее спасибо.
-
В общем опять возвращаюсь к помощи. Я на финишной прямой. Вот коды нескольких файлов cms.
1- основной
[spoiler]varka:
//WAITMS(500000000)
WAITMS(500)
MOVE(930,463)
waitms(300)
LDOWN(930,463)
waitms(60)
LUP(930,463)
waitms(300)
//najatie na chaos machine
//regular
WAITMS(200)
MOVE(957,427)
waitms(100)
LDOWN(957,427) // 2431013
waitms(60)
LUP(957,427)
waitms(200)
//regular combination
//proverka na nali4ie banki v inventare
GETSCREEN
IF_PIXEL_IN(1199,622, 1445,740, 460719)
logwrite("Áàíêà íàéäåíà")
MOVE($_return1, $_return2)
waitms(200)
LDOWN($_return1, $_return2)
WAITMS(100)
LUP($_return1, $_return2)
waitms(200)
//perekladuvanie banki iz inventarya
MOVE(956,423)
WAITMS(200)
LDOWN(956,423)
WAITMS(60)
LUP(956,423)
waitms(200)
goto(combine)
else
logwrite("NET BANOK")
#include("shop_banki.cms")
//proverka na nali4ie banki v inventare
end_if
//COMBINE
combine:
MOVE(1020,801)
waitms(200)
LDOWN(1020,801)
WAITMS(100)
LUP(1020,801)
waitms(200)
////combine
//// podtverjdenie
MOVE(866,481) // 9670800
waitms(100)
LDOWN(866,481)
waitms(100)
LUP(866,481)
waitms(300)
//PODTVERJDENIE
waitms(2000)
// PROVERKA NA SGORANIE
GETSCREEN
IF_PIXEL_IN(909,367, 909,367, 1447446)
WAITMS(200)
waitms(200)
KEYDOWN(#V)
waitms(60)
KEYUP(#V)
waitms(1000)
goto(varka)
//INA4E PROVERKA NA USPEWNOST
ELSE
WAITMS(300)
MOVE(902,361)
WAITMS(400)
LDOWN(909, 367)
waitms(60)
LUP(909,367)
WAITMS(400)
//peremewenie svarki v invent
GETSCREEN
IF_PIXEL_IN (1208,565, 1437,731, 1513239)
MOVE($_return1, $_return2)
WAITMS(300)
LDOWN($_return1, $_return2)
waitms(60)
LUP($_return1, $_return2)
WAITMS(300)
// ZAKRUTIE CHAOS MACHINE
waitms(500)
KEYDOWN(#V)
waitms(50)
KEYUP(#V)
//ZAKRUTIE CHAOS MACHINE
END_IF ;
// end_if
//PEREKLADUVANIE V PUSTYY YA4EIKU
//PEREKLADUVANIE V PUSTYY YA4EIKU
//PEREKLADUVANIE V PUSTYY YA4EIKU
//
waitms(1500)
//END_IF
[/spoiler]
2-ой - отвечает за поход в магазин за банками и подготовку к использованию банок
[spoiler] // ZAKRUTIE CHAOS MACHINE
waitms(500)
KEYDOWN(#V)
waitms(50)
KEYUP(#V)
//ZAKRUTIE CHAOS MACHINE
waitms(500)
//na4alo wagov
MOVE(1137,488)
waitms(200)
LDOWN(1137,488) // 6907751
waitms(60)
LUP(1137,488)
waitms(1500)
MOVE(1143,434)
waitms(200)
LDOWN(1143,434) // 6710372
waitms(60)
LUP(1141,434)
waitms(2000)
//wagi zakon4ilis
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
KEYDOWN(#R)
WAITMS(60)
KEYUP(#R)
WAITMS(300)
//SD Potion use
//otkrutie magaza
waitms(400)
MOVE(1075,421)
waitms(200)
LDOWN(1075,421)
waitms(60)
LUP(1075,421)
waitms(2000)
waitms(500)
MOVE(1000,262) // 7039080
waitms(400)
LDOWN(1000,262)
waitms(60)
LUP(1000,262)
waitms(400)
waitms(500)
MOVE(1000,262) // 7039080
waitms(400)
LDOWN(1000,262)
waitms(60)
LUP(1000,262)
waitms(400)
waitms(500)
MOVE(1000,262) // 7039080
waitms(400)
LDOWN(1000,262)
waitms(60)
LUP(1000,262)
waitms(400)
waitms(500)
MOVE(1000,262) // 7039080
waitms(400)
LDOWN(1000,262)
waitms(60)
LUP(1000,262)
waitms(400)
//pokupka banok
waitms(500)
KEYDOWN(#V)
waitms(50)
KEYUP(#V)
//ZAKRUTIE MAGAZA
waitms(100)
// wagi obratno k chaos machine
waitms(1500)
MOVE(726,612) // 8420731
waitms(300)
LDOWN(726,612)
waitms(60)
LUP(726,612)
waitms(2300)
MOVE(704,565) // 4473410
LDOWN(704,565)
waitms(60)
LUP(704,565)
waitms(2000)
MOVE(930,476) // 9802386
waitms(200)
LDOWN(930,476)
waitms(60)
LUP(930,476)
waitms(3000)
KEYDOWN(#V)
WAITMS(60)
KEYUP(#V)
LOGWRITE("Inventory Opened")
WAITMS(500)
#include("use_banok.cms")
[/spoiler]
Ну и 3-ий с которым как раз таки и проблема.
[spoiler]// waitms(300)
// KEYDOWN(#V)
//WAITMS(60)
//KEYUP(#V)
//LOGWRITE("Inventory Opened")
// WAITMS(500)
$check = 0
WHILE($check = 0) //цикл работы с банками
banki:
GETSCREEN(1200,492, 1445,583)
// проверка наличия банки в инвентаре
IF_PIXEL_IN(1180,481, 1445,583, 658074)
LOGWRITE("Банка найдена")
waitms(200)
MOVE($_return1, $_return2)// Наведение курсора на банку
$_r1=$_return1
$_r2=$_return2
// запоминание координат банки
waitms(1000)
//проверка количества использования банки
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_4.bmp", -1,100)
LOGWRITE("Использований четыре")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_5.bmp", -1,100)
LOGWRITE("Использований пять")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_6.bmp", -1,100)
LOGWRITE("Использований шесть")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_7.bmp", -1,100)
LOGWRITE("Использований семь")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_8.bmp", -1,100)
LOGWRITE("Использований восемь")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_9.bmp", -1,100)
LOGWRITE("Использований девять")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_10.bmp", -1,100)
LOGWRITE("Использований десять")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
end_if
//PEREKLADUVANIE V PUSTYY YA4EIKU
//ELSE
LOGWRITE("нету банки")
$check = 1 // выход из цикла банок
END_IF
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_3.bmp", -1,100)
LOGWRITE("Использований три")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
LDOWN(-1,-1)
waitms(60)
LUP(-1,-1)
waitms(200)
#include("tri.cms")
end_if
end_cyc
// вписать цикл склянок
//вписать цикл поганок
//и т.д.
[/spoiler]
Вот скриншот инвентаря (https://image.prntscr.com/image/73ujY1kdRTyMTkyRX-UI5g.png)
А проблема собственно в том, что когда скрипт use_banok.cms заканчивает свою работу, а точнее использует все до количества трёх штук и перемещает их в нижние ряды(на скрине указано) - нужно, чтобы он переходил обратно к первому скрипту. На данный момент он тупо один раз прогоняет use_banok.cms(рандомно использует одну банку) и продолжает делать какие то совсем не те действия.
Пытался сделать так, чтобы когда банок нет - он переходил к первому скрипту, но в итоге у меня в логе раз 50 появляется сообщение о том, что банок нет!
Надеюсь примерно объяснил в чем проблема. Очень надеюсь на помощь! С радостью отвечу на вопросы:)
-
Скрипт 1
В конце не хватает END_IF, зачем ты его закомментил?
varka:
//WAITMS(500000000)
WAITMS(500)
MOVE(930,463)
waitms(300)
LDOWN(930,463)
waitms(60)
LUP(930,463)
waitms(300)
//najatie na chaos machine
//regular
WAITMS(200)
MOVE(957,427)
waitms(100)
LDOWN(957,427) // 2431013
waitms(60)
LUP(957,427)
waitms(200)
//regular combination
//proverka na nali4ie banki v inventare
GETSCREEN
IF_PIXEL_IN(1199,622, 1445,740, 460719)
logwrite("Банка найдена")
MOVE($_return1, $_return2)
waitms(200)
LDOWN($_return1, $_return2)
WAITMS(100)
LUP($_return1, $_return2)
waitms(200)
//perekladuvanie banki iz inventarya
MOVE(956,423)
WAITMS(200)
LDOWN(956,423)
WAITMS(60)
LUP(956,423)
waitms(200)
goto(combine)
else
logwrite("NET BANOK")
#include("shop_banki.cms")
//proverka na nali4ie banki v inventare
end_if
//COMBINE
combine:
MOVE(1020,801)
waitms(200)
LDOWN(1020,801)
WAITMS(100)
LUP(1020,801)
waitms(200)
////combine
//// podtverjdenie
MOVE(866,481) // 9670800
waitms(100)
LDOWN(866,481)
waitms(100)
LUP(866,481)
waitms(300)
//PODTVERJDENIE
waitms(2000)
// PROVERKA NA SGORANIE
GETSCREEN
IF_PIXEL_IN(909,367, 909,367, 1447446)
WAITMS(200)
waitms(200)
KEYDOWN(#V)
waitms(60)
KEYUP(#V)
waitms(1000)
goto(varka)
//INA4E PROVERKA NA USPEWNOST
ELSE
WAITMS(300)
MOVE(902,361)
WAITMS(400)
LDOWN(909, 367)
waitms(60)
LUP(909,367)
WAITMS(400)
//peremewenie svarki v invent
GETSCREEN
IF_PIXEL_IN (1208,565, 1437,731, 1513239)
MOVE($_return1, $_return2)
WAITMS(300)
LDOWN($_return1, $_return2)
waitms(60)
LUP($_return1, $_return2)
WAITMS(300)
// ZAKRUTIE CHAOS MACHINE
waitms(500)
KEYDOWN(#V)
waitms(50)
KEYUP(#V)
//ZAKRUTIE CHAOS MACHINE
END_IF ;
// end_if
//PEREKLADUVANIE V PUSTYY YA4EIKU
//PEREKLADUVANIE V PUSTYY YA4EIKU
//PEREKLADUVANIE V PUSTYY YA4EIKU
//
waitms(1500)
END_IF
В скрипте 3 еще хлеще, не хватает 6 END_IF
// waitms(300)
// KEYDOWN(#V)
//WAITMS(60)
//KEYUP(#V)
//LOGWRITE("Inventory Opened")
// WAITMS(500)
$check = 0
WHILE($check = 0) //цикл работы с банками
GETSCREEN(1200,492, 1445,583)
// проверка наличия банки в инвентаре
IF_PIXEL_IN(1180,481, 1445,583, 658074)
LOGWRITE("Банка найдена")
waitms(200)
MOVE($_return1, $_return2)// Наведение курсора на банку
$_r1=$_return1
$_r2=$_return2
// запоминание координат банки
waitms(1000)
//проверка количества использования банки
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_4.bmp", -1,100)
LOGWRITE("Использований четыре")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_5.bmp", -1,100)
LOGWRITE("Использований пять")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_6.bmp", -1,100)
LOGWRITE("Использований шесть")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_7.bmp", -1,100)
LOGWRITE("Использований семь")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_8.bmp", -1,100)
LOGWRITE("Использований восемь")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_9.bmp", -1,100)
LOGWRITE("Использований девять")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
ELSE
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_10.bmp", -1,100)
LOGWRITE("Использований десять")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
RDOWN(-1,-1)
waitms(60)
RUP(-1,-1)
waitms(200)
end_if
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
//PEREKLADUVANIE V PUSTYY YA4EIKU
ELSE
LOGWRITE("нету банки")
$check = 1 // выход из цикла банок
END_IF
getscreen (1200,492, 1468,755)
COLORMODE(8,1200,492, 1468,755)
IF_PICTURE_IN (1200,492, 1468,755, "textures/digit_3.bmp", -1,100)
LOGWRITE("Использований три")
MOVE($_r1,$_r2) // наведение курсора на банку
WAITMS(100)
MOVE(-1,-1) // использование банки
waitms(200)
LDOWN(-1,-1)
waitms(60)
LUP(-1,-1)
waitms(200)
#include("tri.cms")
end_if
end_cyc
// вписать цикл склянок
//вписать цикл поганок
//и т.д.
-
В редакторе кликера есть кнопка, волшебная палочка, позволяющая расставить отступы.
Это наглядно позволяет увидеть проблему с окончаниями.
-
Спасибо большое, почти, что довёл до идеала. Про кнопку не знал даже)
Такой вопрос, можно в команде if_picture in ввести не один бмп файл, а несколько - так было бы намного удобнее.
И ещё, после редактирования скрипта в notepad++ скрипт сохраняется в непонятной я так понял кодировке для клинкера. Вопрос, какая кодировка нужна, чтобы не было ????? Вместо русского текста в тех же логах. Спасибо.
-
Кодировка должна быть родная для винды cp1251. В Notepad++ это будет ANSI.
Один иф пиктуре - одна картинка. Остальное достигается уровнями вложенности и прочей логикой.