Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Badimboy on January 25, 2017, 10:11:52 PM
-
Есть модифицировать графику самостоятельно и перестроить скрипт под твои размеры игрового окна и модифицированные текстуры, модифицируй, фотошоп в помощь, образец на форуме. Там практически всё превращается в простые цветные шестиугольники и кликер находит и обходит их уверенно.
А можно поподробнее как модифицировать графику, на каком форуме образец?
Ну а пока, у мобов есть 6 положений и получается громоздко
SCANPICTURE($ARR_SCAN, 455, 130, 1355, 525, "Timezero\rat1.bmp", -1, 100) // Крыса 1,3,5,7,9,11 направление движения моба по часам
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$rat[$n] = Dist ($Pers_X, $Pers_Y, $X, $Y) //Дистанция между персом и крыской
// Print("Дистанция до крысы ", $n, " ", $rat[$n])
inc ($n)
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
SCANPICTURE($ARR_SCAN, 455, 130, 1355, 525, "Timezero\rat3.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$rat[$n] = Dist ($Pers_X, $Pers_Y, $X, $Y) //Дистанция между персом и крыской
// Print("Дистанция до крысы ", $n, " ", $rat[$n])
inc ($n)
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
SCANPICTURE($ARR_SCAN, 455, 130, 1355, 525, "Timezero\rat5.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$rat[$n] = Dist ($Pers_X, $Pers_Y, $X, $Y) //Дистанция между персом и крыской
// Print("Дистанция до крысы ", $n, " ", $rat[$n])
inc ($n)
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
SCANPICTURE($ARR_SCAN, 455, 130, 1355, 525, "Timezero\rat7.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$rat[$n] = Dist ($Pers_X, $Pers_Y, $X, $Y) //Дистанция между персом и крыской
// Print("Дистанция до крысы ", $n, " ", $rat[$n])
inc ($n)
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
SCANPICTURE($ARR_SCAN, 455, 130, 1355, 525, "Timezero\rat9.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$rat[$n] = Dist ($Pers_X, $Pers_Y, $X, $Y) //Дистанция между персом и крыской
// Print("Дистанция до крысы ", $n, " ", $rat[$n])
inc ($n)
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
SCANPICTURE($ARR_SCAN, 455, 130, 1355, 525, "Timezero\rat11.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$rat[$n] = Dist ($Pers_X, $Pers_Y, $X, $Y) //Дистанция между персом и крыской
// Print("Дистанция до крысы ", $n, " ", $rat[$n])
inc ($n)
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
И так для каждого моба, + есть ещё цветные. Можно ли как нибудь упростить сие?
-
Если пишется слово "ФОРУМ" и нет ни ссылки ни названия, то естественно имеется в виду только тот где это слово написано.
Могли бы Вы дать ссылку? Самостоятельно у меня найти не получилось.
И ещё вопрос. Определяю количество мобов по миникарте
GETSCREEN
COLORMODE(6)
SCANPICTURE($ARR_SCAN, $MiniMap_X1,$MiniMap_Y1, $MiniMap_X2,$MiniMap_Y2, "Bmp\Мобы на миникарте.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC ($ARR_NUM)
WAITMS (100)
END_CYC
LOGWRITE ("Количество Мобов в бою ", $ARR_NUM/2, " шт")
UNDEFINE($ARR_SCAN)
И в тех случаях когда мобы стоят раздельно, всё ищется правильно
(http://Image_0005.bmp)
Но стоит мобам сойтись, и находит больше чем есть на самом деле.
(http://Image_0009.bmp)
Как это исправить?
-
И ещё вопрос. Определяю количество мобов по миникарте
каким то странным способом
GETSCREEN
COLORMODE(6)
SCANPICTURE($ARR_SCAN, $MiniMap_X1,$MiniMap_Y1, $MiniMap_X2,$MiniMap_Y2, "Bmp\Мобы на миникарте.bmp", -1, 100)
LOGWRITE ("Количество Мобов в бою ", $ARR_SCAN/2, " шт")
UNDEFINE($ARR_SCAN)
-
каким то странным способом
GETSCREEN
COLORMODE(6)
SCANPICTURE($ARR_SCAN, $MiniMap_X1,$MiniMap_Y1, $MiniMap_X2,$MiniMap_Y2, "Bmp\Мобы на миникарте.bmp", -1, 100)
LOGWRITE ("Количество Мобов в бою ", $ARR_SCAN/2, " шт")
UNDEFINE($ARR_SCAN)
Да спасибо, просто до этого ещё и координаты были нужны. Только у Вас очепятка ;)
LOGWRITE ("Количество Мобов в бою ", ARRSIZE ($ARR_SCAN)/2, " шт")
А что посоветуете с наложением картинок?
-
Рассмотрел картинку. Кружки одинаковой формы. Просто нужно задать прозрачность уголков.
GETSCREEN
COLORMODE(6)
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "Image_0009_1.bmp", 65280, 100) // тут указываем цвет прозрачности
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
LCLICK($X, $Y) // Клик
WAITMS(500)
END_CYC
UNDEFINE($ARR_SCAN)
HALT
-
Рассмотрел картинку. Кружки одинаковой формы. Просто нужно задать прозрачность уголков.
Не помогло, и с прозрачностью находит больше чем нужно
-
Тогда воспользуемся смещением описанным в скрипте SCANPXL
найти и прокликать
GETSCREEN
COLORMODE(6)
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "Image_0009_1.bmp", 65280, 100)
$ARR_NUM = 0
$count = 0
$SHIFT_X = 2 // смещение (кол-во игнор пикселов после найденного)
$SHIFT_Y = 2
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
IF(($X > $X2) | ($Y > $Y2))
$X2 = $X + $SHIFT_X
$Y2 = $Y + $SHIFT_Y
LCLICK($X, $Y) // Клик
WAITMS(50)
END_IF
END_CYC
UNDEFINE($ARR_SCAN)
HALT
Просто определить количество
GETSCREEN
COLORMODE(6)
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "Image_0009_1.bmp", 65280, 100)
$ARR_NUM = 0
$count = 0
$SHIFT_X = 2 // смещение (кол-во игнор пикселов после найденного)
$SHIFT_Y = 2
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
IF(($X > $X2) | ($Y > $Y2))
$X2 = $X + $SHIFT_X
$Y2 = $Y + $SHIFT_Y
INC($count,1)
END_IF
END_CYC
UNDEFINE($ARR_SCAN)
LOGWRITE ($count)
HALT
-
Oraven
Спасибо! Всё работает.
$SHIFT_Y = 2
Только по Y плюсовать больше чем 1 чревато пропуском нужной картинки
kiril
игнор нужно отключить, а картинку для поиска сделать игровым маркером вместо жёлтых кругов и всё станет находиться правильно. можно поступить проще в центр кругов добавить пиксель другого цвета, цель манипуляций избавиться от случайного образования новых картинок маркеров при сближении нескольких реальных маркеров.
Можно поподробнее как это сделать? Желательно оба варианта )
-
Можно вопрос. А нафига вообще считать количество мобов? Определяешь ближайшего и к нему топаешь.
-
Можно вопрос. А нафига вообще считать количество мобов? Определяешь ближайшего и к нему топаешь.
- Для собственного обучения :)
- Для ведения логов
-
Ну как будешь атаковать на основном поле, там и посчитаешь.