Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Михаил on April 08, 2014, 04:53:39 PM
-
Нужна помощь в доработке скрипта, заранее спасибо.
Игра про рыбалку.
При поклевке появляются 2 шкалы. G-тянуть катушкой, H-леской или наоборот, но это не важно. Если поклевка слабая то шкалы даже расти не будут (это нам не интересно). Но когда клюет что-то мощное, шкалы заполняются быстро. Если одна из шкал дойдет до 100% лопнет леска, короче будет плохо. Шкала когда растет от 0 до 100% меняет цвет от зеленого до ярко красного. По середине примерно пиксель с номером цвета где-то от 8000 и ниже (редко совпадает). Нужно чтобы нажатая кнопка G тянула шкалу до середины, потом отпускалась до нуля, в то время когда G находится на середине нажимается H, тянет шкалу до середины и т.д. пока не вытащишь.
Подсекаю в ручном режиме и запускаю скрипт
Скрипт:
GETSCREEN
$F<10000
$G<27000
IF_PICTURE_IN (20,490, 1018,540, "I5.bmp", -1, 80) //После подсечки появляется характерное изображение с двумя шкалами
KEYDOWN(71) //кнопка G
IF_PIXEL_IN(20,524, 1018,534, $f) //поиск пикселя в заданной области с номером цвета менее 27000
KEYUP(71)
WAITMS(10)
KEYDOWN(72) //кнопка H
IF_PIXEL_IN(20,490, 1018,500, $g) //поиск пикселя в заданной области с номером цвета менее 10000
KEYUP(72)
WAITMS(10)
END_IF
END_IF
END_IF
В итоге кнопкой G тянет процентов на 10-20, а H примерно на 80-100% обычно с обрывом снастей.
-
Ты там бред написал, переменные так не объявляют и нельзя в поиске указывать диапазон.
Тебе нужно не анализировать цвет от зеленого до красного а смотреть цвет серого фона!
Зажимаем кнопку и ждем пока серый цвет в шкале закроет поднявшийся уровень. В этом случае цикл прервется, идем дальше отпускаем клавишу и нажимаем другую кнопку и тоже самое.
GETSCREEN
IF_PICTURE_IN (20,490, 1018,540, "I5.bmp", -1, 80)
KEYDOWN(#G)
WHILE(PXL(941,625) = 2696999) // координата и цвет пиксела пустой шкалы по середине (серый цвет)
WAITMS(10)
GETSCREEN
END_CYC
KEYUP(#G)
WAITMS(50)
KEYDOWN(#H)
GETSCREEN
WHILE(PXL(939,802) = 2696999) // тоже самое для второй шкалы
WAITMS(10)
GETSCREEN
END_CYC
KEYUP(#H)
WAITMS(100)
END_IF
WAITMS(50)
-
Спасибо!!!!
Но есть проблемы:
1. Цвет пикселя при разных забросах разный (т.е. не равен 2696999). Как то бы указать диапазон цветов.
2. Не могу указать координаты пикселя, т.к. шкалы появляются в зависимости от заброса, т.е. по вертикали они всегда в одном месте, а по горизонтали в разном.
-
Спасибо!!!!
Но есть проблемы:
1. Цвет пикселя при разных забросах разный (т.е. не равен 2696999). Как то бы указать диапазон цветов.
2. Не могу указать координаты пикселя, т.к. шкалы появляются в зависимости от заброса, т.е. по вертикали они всегда в одном месте, а по горизонтали в разном.
Ну вот совсем никаких проблем тут нет :)
1. Используй цветокоррекцию чтобы упростить цвета.
// Получение скриншота с цветокоррекцией
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
С полученного скриншота возьми скорректированный усредненный цвет.
Можно поиграться с уровнем, но 6 это оптимально
Далее незабываем указать туже цветокоррекцию после GETSCREEN
2. Ты же вроде как используешь функцию поиска картинки этих шкал? Можно использовать возвращенные координаты шкал чтобы узнать их местоположение и относительно них искать в точке посредине шкалы.
GETSCREEN
IF_PICTURE_IN (20,490, 1018,540, "I5.bmp", -1, 80)
$x = $_return1 // записываем координаты в переменные
$y = $_return2 // относительно этих координат нужно высчитать смещение на ценnр шкалы
KEYDOWN(#G)
COLORMODE(6)
WHILE(PXL($x+40,$y+20) = 2696999) // координата и цвет пиксела пустой шкалы по середине (серый цвет)
WAITMS(10)
GETSCREEN
COLORMODE(6)
END_CYC
KEYUP(#G)
WAITMS(50)
KEYDOWN(#H)
GETSCREEN
COLORMODE(6)
WHILE(PXL($x+40,$y+30) = 2696999) // тоже самое для второй шкалы
WAITMS(10)
GETSCREEN
COLORMODE(6)
END_CYC
KEYUP(#H)
WAITMS(100)
END_IF
WAITMS(50)
Отдельным скриптом пишешь запись в лог координат и высчитываешь смещение.
GETSCREEN
IF_PICTURE_IN (20,490, 1018,540, "I5.bmp", -1, 80)
print("Найден в координатах X=", $_return1, ", Y=", $_return2)
END_IF
HALT
Пример: на сколько пикселов от полученных координат нужно сдвинуться, чтобы попасть в центр шкалы.
$x+40,$y+20
-
Спасибо!!!! Все заработало. Ты гений!!!!
-
IF_PICTURE_IN (20,490, 1018,540, "I5.bmp", -1, 80)
подскажите, что это -1, 80 ???
-
IF_PICTURE_IN (20,490, 1018,540, "I5.bmp", -1, 80)
подскажите, что это -1, 80 ???
Читайте справку!
Синтаксис
IF_PICTURE_IN (x, y, x2, y2, "file", [bgcolor], [currency]) - производит поиск изображения в прямоугольной области буфера анализа
Параметры
x, y - числовые координаты левого верхнего угла области поиска
x2, y2 - числовые координаты правого нижнего угла области поиска
file - bmp файл, поиск которого будет осуществляться
bgcolor - необязательный параметр; игнорируемый цвет фона входного изображения
currency - необязательный параметр; точность поиска в процентах (1..99)
-
Спасибо!
У меня в справке вот-так:
Синтаксис
IF_PICTURE_IN (x, y, x2, y2, "file", [bgcolor]) - производит поиск изображения в прямоугольной области буфера анализа
Параметры
x, y - числовые координаты левого верхнего угла области поиска
x2, y2 - числовые координаты правого нижнего угла области поиска
file - bmp файл, поиск которого будет осуществляться
bgcolor - необязательный параметр; игнорируемый цвет фона входного изображения
Возвращаемые параметры
$_return1 - x координата найденного изображения
$_return2 - y координата -//-
-
IF_PICTURE_IN (20,490, 1018,540, "I5.bmp", -1, 80)
в этой строке -1 - это bgcolor. Верно? а что это за цвет -1?
-
IF_PICTURE_IN (20,490, 1018,540, "I5.bmp", -1, 80)
в этой строке -1 - это bgcolor. Верно? а что это за цвет -1?
это значит bgcolor не задан то есть никакого цвета не игнорируется
-
Спасибо!
У меня в справке вот-так:
Синтаксис
IF_PICTURE_IN (x, y, x2, y2, "file", [bgcolor]) - производит поиск изображения в прямоугольной области буфера анализа
Параметры
x, y - числовые координаты левого верхнего угла области поиска
x2, y2 - числовые координаты правого нижнего угла области поиска
file - bmp файл, поиск которого будет осуществляться
bgcolor - необязательный параметр; игнорируемый цвет фона входного изображения
Возвращаемые параметры
$_return1 - x координата найденного изображения
$_return2 - y координата -//-
Скачай последнюю версию 4.10
http://crapware.aidf.org/page/clickermann
-
Спасибо! скачал. Всё ОК!
-
Спасибо!!!! Все заработало. Ты гений!!!!
Все вроде понятно. Но как выглядит файл I5?