1
Общие вопросы / Re: нужна помощь со скриптом
« on: August 15, 2020, 09:47:18 AM »
Так в чем вопрос?
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
LOGWRITE ("pix not fined")
WAITMS(50)
END_IF
END_CYC
end_sub
KEYPRESS(#5) // Жмяк 5
//Ждем картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
LOGWRITE ("picture not fined")
KEYPRESS(#5)
WAITMS(100)
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
Ну и для любителей обьемного кода)) Такое решение)))LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
//Ждем картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
LOGWRITE ("picture not fined")
KEYPRESS(#5)
WAITMS(100)
END_IF
END_CYC
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 1")
ELSE
LOGWRITE ("pix 1 not fined")
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 2")
ELSE
LOGWRITE ("pix 2 not fined")
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 3")
ELSE
LOGWRITE ("pix 3 not fined")
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 4")
ELSE
LOGWRITE ("pix 4 not fined")
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 5")
ELSE
LOGWRITE ("pix 5 not fined")
WAITMS(50))
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 6")
ELSE
LOGWRITE ("pix 6 not fined")
WAITMS(50)
END_IF
END_CYC
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
KEYPRESS(#5) // Жмяк 5
//Ждем картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
KEYPRESS(#5)
WAITMS(1000)
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
//Ждем картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
Помоиму вы сильно преувеличили про новичков. Если бы вы подобно другим новичкам грызли мануал до дыр. Пытались что то своять. Но вот не получается у вас или вы чего то не понимаете. Или ну хоть убей не можете найти смешную ошибку. Вам с радостью тут помогут в том числе и ваш покорный слуга но, вы же хотите чтобы за вас написали процедуру подобие которой реализована на твиче с трансляцией чужих стримов по вашей тематике. Чувствуете как воздух пропитывается коварной хитростью?)))) С такими задачами на фрилансе помогут наверника мой друг))))Если есть те кто помогут буду очень благодаренОтправляешь запрос на страницу с выключенным плеером и ловишь код страницы. Потом ловишь код страницы со включенным плеером. Потом ищешь межу этими двумя кодами разницу. Проделаешь это еще несколько раз, чтобы разница подтвердилась. В чем тебе помогать-то?
Хотя подозреваю, что деятельность плеера не влияет на код страницы...
Я так понимаю новички тут не приветствуются потому что мой потолок это шаблоны, но спасибо за ответ
да кто ж его знает реально или нет. спрос рождает предложение. спроса нет, никто этим вопросом и не занимается. какова доля Андроида на рынке десктопных ос? или ты собрался на смартфоне линейку крутить?Не могу с вами не согласится. На мой взгляд это самый взвешенный и развернутый в нужном направлении ответ.
В окне лупы сейчас видно НЕ привязанное окно, а область 'вне'. Видишь, координаты красным светятся предупреждая что мы вне окна?Курсор в тот момент был в окне приложения. Привязка была коректная. Видимо проблема с операционкой но я не пойму откуда ноги ростут. Проблему решил так. После привязки окон переключил в 16битный режим и обратно в 32х битны. Все стало работать стабильно. Что тут скажеш. Чудеса. Всем спасибо
Или привязываешься не к тому или структура приложения изменилась.
sub(kmove,$key,$pause,$cicle)
for($m=0,$m<$cicle)
keypress($key)
waitms($pause)
end_cyc
end_sub
//======================
SUB(clicks, $par1,$par2,$par3)
lclick($par1,$par2)
waitms($par3)
END_SUB
//======================
SUB(keys, $par11,$par12)
keypress($par11)
waitms($par12)
END_SUB
//=======================
keys(#4,300)
Search:
GETSCREEN
IF_PICTURE_IN (334,182,455,314, "mobb.bmp")
clicks($_return1,$_return2,1000)
keys(#5,1000)
keys(#1,2000)
keys(#2,45000)
else
goto(Search)
end_if
//
GETSCREEN
IF_PICTURE_IN (114,112,412,336, "foot.bmp")
clicks($_return1,$_return2,1000)
end_if
keys(#right,200)
//
GETSCREEN
IF_PICTURE_IN (284,195,349,281, "hand.bmp")
keys(#enter,2000)
keys(#enter,500)
else
end_if
Раньше код работал изумительно
Безусловно, всё правильно.Ну с этой задачей я справлюсь. Но очень хотца сократить код до гениально читабельного
Неправильно только, что разработчик программы Clickermann, до сих пор не поддерживает комплексные условия для функции поиска картинки.
Пусть ему будет стыдно!
Кстати вашу конструкцию можно записать не в такой оригинальной форме, а через встроенные ELSE , примеров на этом форуме вагон и маленькая тележка.