Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: lanser285 on October 30, 2013, 10:39:11 AM
-
Дело такое, хочется написать более менее универсальный скрипт, для игры. Делаю через поиск изображений, у меня все работает, а на другом компе нет, так же не работает когда в полноэкранный режим ее запускаеш. Собственно вопрос: проблема в разрешении экрана? и как это можно исправить?
-
Дело такое, хочется написать более менее универсальный скрипт, для игры. Делаю через поиск изображений, у меня все работает, а на другом компе нет. Собственно вопрос: проблема в разрешении экрана? и как это можно исправить?
Покажи пример твоего скрипта.
-
Дело такое, хочется написать более менее универсальный скрипт, для игры. Делаю через поиск изображений, у меня все работает, а на другом компе нет. Собственно вопрос: проблема в разрешении экрана? и как это можно исправить?
Покажи пример твоего скрипта.
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax,"mob.bmp")
WAITMS(1000)
LCLICK($_return1+10, $_return2+10)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax,"mob1.bmp")
WAITMS(1000)
LCLICK($_return1+10, $_return2+10)
END_IF
wait (3)
//вкладка кадавра
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax,"kadavr.bmp")
WAITMS(1000)
LCLICK($_return1+10, $_return2+10)
END_IF
вот небольшой кусочек, все в таком же стиле
-
И где здесь что нибудь зависящее от разрешения?
Проверяй работу кликера на второй машине. Отключение UAC и тому подобное.
А так же наличие всех картинок скрипта в нужном месте.
P.S. Задержку лучше делать после клика, а не до. Поиск - сразу клик, а то убежит :)
-
Ну смотри, я скрин делаю на своем мониторе ведь, прога сравнивает все ок, при переносе на другую систему моих картинок, она не может ее найти, ибо там разрешение другое. такое может быть?
-
Ну смотри, я скрин делаю на своем мониторе ведь, прога сравнивает все ок, при переносе на другую систему моих картинок, она не может ее найти, ибо там разрешение другое. такое может быть?
Нет. Обычно картинки от разрешения не "тянутся".
Качество цветопередачи в системах должно быть одинаковое.
Если приложение отдельное типа игры, настройки параметров рендеринга/качества должны быть одинаковые.
Стараться не использовать картинки в которые попадают системные шрифты и шрифты во FLASH приложениях, т.к. могут стоять разные параметры сглаживания шрифтов в системе.
-
хм, это объясняет данную проблему, примного благодарен, а как выкрутиться в таком случае, если на картинке имеются шрифты?
-
хм, это объясняет данную проблему, примного благодарен, а как выкрутиться в таком случае, если на картинке имеются шрифты?
С этим сложно. Проще переделать картинки под шрифт с другим сглаживанием.
Или привести все шрифты к одному виду, лучше без сглаживания.
-
а вот смотри, в середине кнопки, есть текст, его нельзя в редакторе затереть и сделать поиск без этого участка? даже незнаю как более подробно объяснить...вот приложил картинку, в середине потереть надпись или исключить это место из поиска?
-
Всем привет, помогите начинающему кто может. Может я не в тему , но простите... Целый день мучаюсь и ничего не выходит. Есть браузерная игра, я сделал скрин моба, сохранил *.bmp , но бот почему-то не находит картинку. Сразу скажу у мобов анимация и они находятся постоянно в подвижном состоянии.
getscreen
IF_PICTURE_IN (296,105,1070,430,"ms4.bmp")
lclick($_return1, $return2)
else
print("no bat :(")
end_if
может размер картинки очень маленький , но пробовал и с большой и не выходит
Вот не могу понять , что здесь не так!? Помогите .... Заранее спасибо!!!
-
Ну а что ж ты хотел от анимации??
Вряд ли ты найдешь моба по картинке тут скорее по пикселу искать надо.
Вот есть програмка для поиска уникальных пикселов Unique Colors Search
http://crapware.aidf.org/forum/index.php?topic=42.msg572#msg572
-
Пробовал поиск и по пикселям , в конце указывал около 6-7 цветов через запятую, но не находил ничего.
Спасибо , попробую через программку найти уникальные цвета пикселей. Отпишусь ;) .
-
Всем привет, помогите начинающему кто может. Может я не в тему , но простите... Целый день мучаюсь и ничего не выходит. Есть браузерная игра, я сделал скрин моба, сохранил *.bmp , но бот почему-то не находит картинку. Сразу скажу у мобов анимация и они находятся постоянно в подвижном состоянии.
getscreen
IF_PICTURE_IN (296,105,1070,430,"ms4.bmp")
lclick($_return1, $return2)
else
print("no bat :(")
end_if
может размер картинки очень маленький , но пробовал и с большой и не выходит
Вот не могу понять , что здесь не так!? Помогите .... Заранее спасибо!!!
Размер картинки тут не причем, бывает так, что маленькая даже лучше.
есть в твоей игре в настройках убрать анимацию? если да то сними ее. как на счет горячих клавиш для выбора мобов? что за игра, могу глянуть оценить ситуацию.
-
Анимацию (монстров на локации) убрать нельзя к сожалению (((
Техномагия - www.tmgame.ru
ПыСы Unique Colors Search не помог... (может проблема в моей ОС была (7 х64) , буду пробовать через виртуалки на ХР) у меня по моему скрипту курсор прыгает на какую-нибудь вкладку браузера и тупа тычен на нее, хоть она вообще не входит в мой заданный диапазон !
-
в ОС здесь проблем нет, обычная игровая ситуация. подбирай картинки, пользуй цветокоррекцию.
-
Анимацию (монстров на локации) убрать нельзя к сожалению (((
Техномагия - www.tmgame.ru
ПыСы Unique Colors Search не помог... (может проблема в моей ОС была (7 х64) , буду пробовать через виртуалки на ХР) у меня по моему скрипту курсор прыгает на какую-нибудь вкладку браузера и тупа тычен на нее, хоть она вообще не входит в мой заданный диапазон !
посмотрел начало игры, анимация там не сильная, подобрать можно изображение. но меня больше интересует как ты бой собираешся прописывать? там же надо камешки переставлять по 3 вряд одного типа, довольно много условий для кликера получится
-
да нет, задача решаема. через те же массивы и циклы можно искять рядом стоящие элементы. ходы конечно будут не самые умные, но они будут.
но вот боюсь поскольку возник затык еще на стадии анализа графики, до таких нетривильаных алгоритмов дело не дойдет.
-
появилась другая идея ... кликер же умеет делать скриншот, или я ошибаюсь!? Как вот сделать, чтобы кликер делал скрин, а по сделанному скрину в буфере он определял где есть совпадения с моей картинкой и кликал в те координаты!?
-
;D :D ;D :D ;D
-
появилась другая идея ... кликер же умеет делать скриншот, или я ошибаюсь!? Как вот сделать, чтобы кликер делал скрин, а по сделанному скрину в буфере он определял где есть совпадения с моей картинкой и кликал в те координаты!?
оммммм.....такой вопрос...если он не находит моба по сделанному скрину вручную, то почему ты решил что он найдет моба по скрину сделанному програмно?
вот скрипт находит первого моба, меньше чем за минуту, будь внимателен просто, даже на анимированых картинках есть практически неизменные места
-
:)
-
я просто подумал что если делать скрин програмно , а потом со сделанного скрина вырезать картинку или найти пиксель уникальный. или кликер меняет качество картинки!? И кстати нашел пиксель под свой скрипт через программульку - FastStone Capture, у нее видимо очень хорошее качество скринов.
Кстати мой скрипт заработал на Windows XP SP-3 x86 (который на Windows 7 x64 не хотел работать).
Вопрос теперь появился, как сделать так чтобы кликер сначала кликал на пиксели которые ближе к центру экрана ( или еще лучше было бы ближе к заданному пикселю по координатам).
Всем спасибо за помощь!!! ;)
2 lanser285 спасибо за скрипт сейчас попробую.
-
помучился немного и все же что-то получилось... только столкнулся с еще одно проблемкой:
sub(skill)
getscreen
if_picture_in (297,46,1073,327,"time.bmp", -1, 30)
//if_picture_in (297,46,1073,327,"sokrush.bmp", -1, 30)
wait(1)
lclick($return1, $_return2)
print("Удар")
gosub(skill)
end_if
//end_if
else
if_picture_in (297,46,1073,327,"time_a.bmp", -1, 30)
end_if
gosub(skill)
end_sub
else
print("Бой выйгран" )
gosub(s1)
Вообщем вот здесь:
if_picture_in (297,46,1073,327,"time.bmp", -1, 30)
//if_picture_in (297,46,1073,327,"sokrush.bmp", -1, 30)
мне нужно сканить экран на наличие 2-х картинок, и если они обе определенны , тогда кликнуть по второму.
Вопрос теперь появился, как сделать так чтобы кликер сначала кликал на пиксели которые ближе к центру экрана ( или еще лучше было бы ближе к заданному пикселю по координатам).
И этот вопрос тоже интересует...
Хоть маленькую подсказачку, ПОЖАЛУЙСТА!
-
помоему ты СУБпрограмму с ГОТО перепутал
-
помоему ты СУБпрограмму с ГОТО перепутал
уже разобрался ... Осталось только поиск по радиусу((
-
помоему ты СУБпрограмму с ГОТО перепутал
Ага. А end_sub с чем тогда перепутал? :)
Ещё $return1 с $_return1.
И ELSE вообще самостоятельная и универсальная команда которую можно писать где хочешь. :)
Прекрасный компот получился. Вкупе с совпадением 30%, который будет срабатывать на всё что видит.
-
// New Script
// Author: Anonymous
// Version: 1.0 (29.10.2013)
#name "test_poisk"
//--------------------------------
sub(s1)
GETSCREEN
print("поиск")
IF_PIXEL_IN (590,200,776,339,66050)
print("íàøåë")
move($_return1+3, $_return2+3)
waitms(20)
lclick($_return1, $_return2+7)
gosub(skill)
else
print("не нашел")
gosub(s2)
end_if
end_sub
sub(s2)
GETSCREEN
print("поиск")
IF_PIXEL_IN (564,163,820,387, 66050)
print("íàøåë")
move($_return1+3, $_return2+3)
waitms(20)
lclick($_return1, $_return2+20)
gosub(skill)
else
print("не нашел")
gosub(s3)
end_if
end_sub
sub(s3)
GETSCREEN
print("поиск")
IF_PIXEL_IN (297,106,1073,430, 66050)
print("íàøåë")
move($_return1+3, $_return2+3)
waitms(20)
lclick($_return1, $_return2+20)
gosub(skill)
end_if
end_sub
else
print("не нашел")
gosub(skill)
//-------------------------------------------------------------------------------
//-------------------------------------------------------------------------
sub(skill)
getscreen
if_picture_in (297,46,1073,327,"time.bmp", -1, 30)
scanpicture ($skil, 297,46,1073,327,"sokrush.bmp", -1, 30)
print("мой ход")
WAITMS(10)
LCLICK($skil[0], $skil[1])
gosub(skill)
else
gosub(skill2)
end_if
end_sub
sub(skill2)
if_picture_in (297,46,1073,327,"time_a.bmp", -1, 30)
print("Ход противника")
gosub(skill)
else
PRINT("Бой выйгран")
IF_PICTURE_IN (297,106,1073,430,"WIN.BMP")
DBLCLICK($_RETURN1, $_RETURN2+210)
gosub(s1)
end_if
end_sub
Так-то вот полный. Персонаж бегает по локе и налетает на мобов, затем при условии , если мой ход и есть камни на магию определенную , то бьет. После победы жмет кнопку ОК и повторяет поиск мобов.
Ребята помогите с поиском по близжайшей точке, пожалуйстааааа !!!
-
Ребята помогите с поиском по ближайшей точке, пожалуйстааааа !!!
// вычисляем центр или задаём точку до которой меряем
$Xcentr = INT($_xmax/2)
$ycentr = INT($_ymax/2)
GETSCREEN
SCANPICTURE($ARR_SCAN, 0, 0, $_xmax, $_ymax, "picture.bmp")
$dist = 10000
WHILE (ARRSIZE($ARR_SCAN) > 0)
$Y = ARRPOP($ARR_SCAN)
$X = ARRPOP($ARR_SCAN)
$d_temp = DIST($Xcentr, $ycentr, $X, $Y)
IF($d_temp < $dist)
$dist = $d_temp
$X_centr = $X
$Y_centr = $Y
END_IF
END_CYC
UNDEFINE($ARR_SCAN)
IF($dist ! 10000)
LOGWRITE ("Ближайшие к центру координаты X: ", $X_centr, " Y: ", $Y_centr)
LCLICK($X_centr,$Y_centr)
ELSE
LOGWRITE ("Картинка не найдена")
END_IF
Так-то вот полный. Персонаж бегает по локе и налетает на мобов, затем при условии , если мой ход и есть камни на магию определенную , то бьет. После победы жмет кнопку ОК и повторяет поиск мобов.
По поводу остального...
(http://savepic.net/3956791.gif)
Ты хоть запускал? Работает?
Знаешь, что такое рекурсия?
(http://savepic.net/3970103m.jpg) (http://savepic.net/3970103.htm)
-
Запускал, работает! я мой код, что выше указал немного откорректировал , end_if и end_sub поменял местами , поставил их до else а не после...
СПАСИБО ОГРОМНОЕ за код по поиску, буду мучаться дальше )
По поводу рекурсии... я не силен в программировании , но я пологаю, что это то , что я использовал SUB() и GOSUB().
-
Vint , прости за надоедливость... твой код работает Божественно ) НО!
Пожалуйста напиши как сделать так, чтобы поиск происходил по твоему коду поиска , что ты предоставил и чтобы когда находил картинку(любую первую) больше не искал , а переходил к моему SUB(SKILL). Т.е. должно получиться следующем образом:
1.поиск картинки( моба на локации)
2.После чего кликер нашел клкает по мобу и переходит к подпрограмме SUB(SKILL). Я имею ввиду , вот стоит моб на локе , кликер кликает по нему , прекращает поиск мобов пока не добежит до него, и не войдет в бой (через WAIT не удобно т.к. расстояние до мобов разное). Там уже идет поиск картинок для боя, он у меня крепиться по 2-м картинкам, если они не найдены значит бой завершен и персонаж снова на локации должен искать близжайшего моба.
Вот как-то так)
Извините за наглость...
-
Он и так ищет один ближайший и кликает по нему. Дальше выполняется то что напишешь.