Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: bionicfox on January 19, 2023, 01:06:43 AM
-
Всем привет.
Друзья, помогите чуть чуть. У меня есть скрипт, которым я пользовался долго, но почему то он стал работать некорректно и поэтому нужно его немного улучшить.
Есть картинка с поплавком в определённой зоне. Нужно найти поплавок по цвету пикселя, обозначить небольшую зону вокруг него (примерно как на скрине), и в этой небольшой зоне уже искать нужный пискель (белого цвета) после поклёвки и сделать пкм.
(https://ic.wampi.ru/2023/01/19/8.th.jpg) (https://wampi.ru/image/RL0ivmf)
-
подскажите, пожалуйста, кусок скрипта, который ограничивает область вокруг найденного пикселя для дальнейшего поиска другого пикселя, дальше я сам справлюсь.
-
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
// нашли первый
IF_PIXEL_IN($_return1-40,$_return2-30, $_return1+40,$_return2+30, 16777215)
RCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
Это если однократно.
Если там повторения и есть ещё куча промежуточного кода, лучше найденные координаты запомнить в новых переменных и делать ещё GETSCREEN. Примерно так
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
// нашли первый
$wx = $_return1
$wy = $_return2
...
GETSCREEN($wx-40,$wy-30, $wx+40,$wy+30)
IF_PIXEL_IN($wx-40,$wy-30, $wx+40,$wy+30, 16777215)
RCLICK($_return1, $_return2)
WAITMS(100)
END_IF
...
END_IF
-
У меня есть скрипт... нужно его немного улучшить.
а код улучшаемого скрипта вы засекретили, чтоб местные электроудочники в вашем болоте всех мальков с головастиками не повыбивали? ;D
-
У меня есть скрипт... нужно его немного улучшить.
а код улучшаемого скрипта вы засекретили, чтоб местные электроудочники в вашем болоте всех мальков с головастиками не повыбивали? ;D
это ваш код, который я нашёл тут.
вот изначальный код, суть в следующем, что я хочу добавить. Забрасываем поплавок в определённую область, в ней сканируем пиксель поплавка, выбираем вокруг него небольшую область и ждём поклёвки для пкм по белому пикселю в области. Суть в том, что производитель что-то сделал с цветами и скрипт делает много ложных срабатываний.
LOGWRITE ("Старт")
1:
KEYPRESS(#E) // начало ловли
$time = $_time_t + 15 // таймер на 15 секунд
WHILE($time > $_time_t)// переход к сканированию пикселя
GETSCREEN(46,265,1151,676)
COLORMODE(2,46,265,1151,676)
IF_PIXEL_IN(46,265,1151,676,16777215)
LCLICK($_return1, $_return2) //клик на поплавок
$time = 0
waitms(800)
ELSE
waitms(50)
END_IF
END_CYC
IF($time ! 0)
LOGWRITE ("Перезаброс")
ELSE
INC($var,1)
LOGWRITE ("Поймал рыбу ",$var," раз")
WAIT(RND(2,3)) // ждет 2-3 сек
END_IF
GOTO(1)//возврат в начало
-
У меня есть скрипт... нужно его немного улучшить.
а код улучшаемого скрипта вы засекретили, чтоб местные электроудочники в вашем болоте всех мальков с головастиками не повыбивали? ;D
Кирилл, не поможете допилить код?
суть в следующем, что я хочу добавить. Забрасываем поплавок в определённую область, в ней сканируем пиксель поплавка, выбираем вокруг него небольшую область и ждём поклёвки для пкм по белому пикселю в области. Суть в том, что производитель что-то сделал с цветами и скрипт делает много ложных срабатываний.
-
Всем привет! :)
Игру Trove я не видел, но когда-то мне приходилось делать подобный скрипт для рыбалки в WoW, там те же проблемы с поиском пикселей. Помогло то, что при поклевке появляется всплеск на воде. Если подобрать настройки графики в игре и значение COLORMODE, то появляется чисто белый пиксель на разноцветной глади воды. Но в зоне поиска такие белые пиксели могут появляться например и от бликов на воде. Поэтому потребовалось еще делать дополнительную проверку перед кликом в поплавок, так как если кликнуть раньше поклевки, то процесс ловли прерывается и всё приходится начинать сначала. Пришлось определять код курсора (постоянного кода там нет, он все время меняется). Но есть закономерность - коды курсора над водой и над поплавком всегда разные между собой.
Алгоритм получился такой: забрасываем удочку...
1. парковка курсора (вне зоны где может оказаться поплавок)
2. ожидание белого пикселя в небольшой части экрана около поплавка
3. при появлении пикселя - запоминаем код курсора на парковке; перемещаем курсор на найденный пиксель; получаем код курсора на этом пикселе
4. сравниваем коды курсора; если коды курсора на парковке и над найденным пикселем не равны, то делаем правый клик по поплавку
Задержки нужно выставить индивидуально, например перед получением кода курсора над поплавком и прочие.
Вот такой вот пример. Возможно поможет подобрать решение и для Trove. :)
-
- Мама, а чем отличается зимний рыбак от летнего?
- Да практически ничем доченька, та же пьянь, только в валенках!
LOGWRITE ("Старт")
1:
KEYPRESS(#E) // начало ловли
waitms(800) //регулируемая задержка в мс. после заброса поплавка
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255) // вместо 255 укажите через запятую основные цвета поплавка
// запомнить где поплавок
$wx = $_return1
$wy = $_return2
// регулировка области ожидания брызг от найденного пикселя поплавка
$wx1 = $_return1-40 // в лево по горизонтали
$wy1 = $_return2-30 // в верх по вертикали
$wx2 = $_return1+40 // в право по горизонтали
$wy2 = $_return2+30 // в низ по вертикали
// ...
$time = $_time_t + 15 // таймер ожидания поклёвки на 15 секунд
WHILE($time > $_time_t)// переход к сканированию пикселя
GETSCREEN($wx1,$wy1,$wx2,$wy2)
IF_PIXEL_IN($wx1,$wy1,$wx2,$wy2, 16777215) // через запятую можно указать дополнительные цвета для брызг
// RCLICK($wx,$wy) // правый клик на поплавок
RCLICK($_return1, $_return2) // заказанный пкм по белому пикселю брызг в области а в оригинале был левый клик на поплавок
$time = 0
waitms(800)
ELSE
waitms(50)
END_IF
END_CYC
IF($time ! 0)
INC($var46,1)
LOGWRITE ("Перезаброс ",$var46," раз")
ELSE
INC($var45,1)
LOGWRITE ("Поймал рыбу ",$var45," раз")
WAIT(RND(2,3)) // ждет 2-3 сек
END_IF
GOTO(1)//возврат в начало
END_IF
-
- Мама, а чем отличается зимний рыбак от летнего?
- Да практически ничем доченька, та же пьянь, только в валенках!
LOGWRITE ("Старт")
1:
KEYPRESS(#E) // начало ловли
waitms(800) //регулируемая задержка в мс. после заброса поплавка
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255) // вместо 255 укажите через запятую основные цвета поплавка
// запомнить где поплавок
$wx = $_return1
$wy = $_return2
// регулировка области ожидания брызг от найденного пикселя поплавка
$wx1 = $_return1-40 // в лево по горизонтали
$wy1 = $_return2-30 // в верх по вертикали
$wx2 = $_return1+40 // в право по горизонтали
$wy2 = $_return2+30 // в низ по вертикали
// ...
$time = $_time_t + 15 // таймер ожидания поклёвки на 15 секунд
WHILE($time > $_time_t)// переход к сканированию пикселя
GETSCREEN($wx1,$wy1,$wx2,$wy2)
IF_PIXEL_IN($wx1,$wy1,$wx2,$wy2, 16777215) // через запятую можно указать дополнительные цвета для брызг
// RCLICK($wx,$wy) // правый клик на поплавок
RCLICK($_return1, $_return2) // заказанный пкм по белому пикселю брызг в области а в оригинале был левый клик на поплавок
$time = 0
waitms(800)
ELSE
waitms(50)
END_IF
END_CYC
IF($time ! 0)
INC($var46,1)
LOGWRITE ("Перезаброс ",$var46," раз")
ELSE
INC($var45,1)
LOGWRITE ("Поймал рыбу ",$var45," раз")
WAIT(RND(2,3)) // ждет 2-3 сек
END_IF
GOTO(1)//возврат в начало
END_IF
спасибо, но почему то идёт постоянный перезаброс удочки
-
$time = $_time_t + 15 // таймер ожидания поклёвки на 15 секунд
время до перезаброса можно регулировать.
IF_PIXEL_IN($wx1,$wy1,$wx2,$wy2, 16777215) // через запятую можно указать дополнительные цвета для брызг
если вообще не клюет то нужно добавлять возможные цвета брызг
в скрипте вообще куча регулировок ;)
-
$time = $_time_t + 15 // таймер ожидания поклёвки на 15 секунд
время до перезаброса можно регулировать.
IF_PIXEL_IN($wx1,$wy1,$wx2,$wy2, 16777215) // через запятую можно указать дополнительные цвета для брызг
если вообще не клюет то нужно добавлять возможные цвета брызг
в скрипте вообще куча регулировок ;)
да, с регулировками я разобрался....я вписываю цвет пикселя, делаю другие регулировки (время, границы), но всё равно, сразу после заброса идёт перезаброс...такое чувство, что он находит нужный пиксель и перезабрасывает. Курсор не передвигается к пикселю, значит вторая чать (поклёвка) не отрабатывает
-
Искать поплавок на воде визуально - дохлый номер. Не знаю может у тебя получится. У меня не получилось.
Я делал как написано здесь - http://crapware.aidf.org/forum/index.php?topic=3101.msg20696#msg20696 - по всплеску.
Вот пара советов из личного опыта. Если кому надо конечно.
Главное настроить графику самой игры. Там есть детализация воды и прочее. Всю графику естественно на минимум. Тогда определяет поплавок в момент поклевки 100%. Перед ловлей правда приходится немного покрутиться на месте, вода всегда разная. Но зато можно ловить даже у водопадов где вода рябит сильно. Помогает еще приближение и удаление изображения колесом мыши. Это уже как тонкая настройка. Все действия без задержек, по всплеску. Рандомная задержка только перед забросом удочки. Определение начала и конца каста ловли по наличию на экране полосы каста.
На звук ловить не пробовал. Баны тоже не ловил. :) Сейчас забросил всё это.
-
не передвигается к пикселю, значит вторая часть (поклёвка) не отрабатывает
а что пишет в лог?
-
не передвигается к пикселю, значит вторая часть (поклёвка) не отрабатывает
а что пишет в лог?
1:07:02 Старт
1:07:03 Старт
1:07:04 Старт
1:07:05 Старт
1:07:06 Старт
1:07:07 Старт
1:07:08 Старт
1:07:09 Старт
-
Всем привет.
Друзья, помогите чуть чуть. У меня есть скрипт, которым я пользовался долго, но почему то он стал работать некорректно и поэтому нужно его немного улучшить.
Есть картинка с поплавком в определённой зоне. Нужно найти поплавок по цвету пикселя, обозначить небольшую зону вокруг него (примерно как на скрине), и в этой небольшой зоне уже искать нужный пискель (белого цвета) после поклёвки и сделать пкм.
(https://ic.wampi.ru/2023/01/19/8.th.jpg) (https://wampi.ru/image/RL0ivmf)
Это не БДО случайно? ;D
-
не передвигается к пикселю, значит вторая часть (поклёвка) не отрабатывает
а что пишет в лог?
1:07:02 Старт
1:07:03 Старт
1:07:04 Старт
1:07:05 Старт
1:07:06 Старт
1:07:07 Старт
1:07:08 Старт
1:07:09 Старт
скрипт у Вас даже заброшенный поплавок не видит, вероятно неправильно указали его цвета.
-
Всем привет.
Друзья, помогите чуть чуть. У меня есть скрипт, которым я пользовался долго, но почему то он стал работать некорректно и поэтому нужно его немного улучшить.
Есть картинка с поплавком в определённой зоне. Нужно найти поплавок по цвету пикселя, обозначить небольшую зону вокруг него (примерно как на скрине), и в этой небольшой зоне уже искать нужный пискель (белого цвета) после поклёвки и сделать пкм.
(https://ic.wampi.ru/2023/01/19/8.th.jpg) (https://wampi.ru/image/RL0ivmf)
Это не БДО случайно? ;D
нет