Помогите разобраться
-
Serg72
- Сообщения: 25
- Зарегистрирован: 12 сен 2022 04:26
Re: Помогите разобраться
Вау! Сейчас все буду штудировать. Буква K это просто картинка но я ещё не забил для неё даже координаты 
-
Serg72
- Сообщения: 25
- Зарегистрирован: 12 сен 2022 04:26
Re: Помогите разобраться
Проверил ваш когд, увы есть утерянные моменты.
Копирую ещё раз всю задачу.
Проверяем есть ли кнопка Некст, ждём пока не появится.
Жмём Некст. Проверяем прогрузилось ли меню. Ждём подтверждение о прогрузки.
В поле дефенс ищем цифры 1 2 3 4
Если цифры нет то жмём рефрешь и проверяем заново.
Если какая либо из цифр есть в области то проверяем зону клан, наличие заранее дружественных кланов ( проверка в альфа канале так как цвет разный может быть (белый; золотой))
Если дружественный тег клана обнаружен то возвращаемся к пункту рефрешь
Если тега нет то жмем attack.
Ждём 800 мс
проверяем по цвету пикселя загрузился ли бой
Проверяем букву “k” если нет этой буквы то переходим к самому первому пункту нажимаем некст
Если k есть в нужном месте то проверяем есть ли в нужном месте картинки 4 5 6 7
Если нет то переходим к первому пункту некст кнопка
Если есть какая либо из этих картинок цифр то подаём натификейшен (звук и вибро)
В течении 20 минут тыкаем каждые пол минуты в заданную точку (что бы была активность и система не уснула) и чередуем это уведомлениями.
После 20 минут останавливаем
Нет подтверждения о загрузке меню с противниками, через поиск картинки. 2) в первую очередь проверяется защита (деф) и если найден слабый противник то уже проверяем его тег (тег это u1k pnx Ukr ufu ) проверка альфа каналом с совпадением в 70 процентов. Это картинки. Если тег не найден идём дальше к атаке если это наш союзник то рефреш что бы обновить список противников
Копирую ещё раз всю задачу.
Проверяем есть ли кнопка Некст, ждём пока не появится.
Жмём Некст. Проверяем прогрузилось ли меню. Ждём подтверждение о прогрузки.
В поле дефенс ищем цифры 1 2 3 4
Если цифры нет то жмём рефрешь и проверяем заново.
Если какая либо из цифр есть в области то проверяем зону клан, наличие заранее дружественных кланов ( проверка в альфа канале так как цвет разный может быть (белый; золотой))
Если дружественный тег клана обнаружен то возвращаемся к пункту рефрешь
Если тега нет то жмем attack.
Ждём 800 мс
проверяем по цвету пикселя загрузился ли бой
Проверяем букву “k” если нет этой буквы то переходим к самому первому пункту нажимаем некст
Если k есть в нужном месте то проверяем есть ли в нужном месте картинки 4 5 6 7
Если нет то переходим к первому пункту некст кнопка
Если есть какая либо из этих картинок цифр то подаём натификейшен (звук и вибро)
В течении 20 минут тыкаем каждые пол минуты в заданную точку (что бы была активность и система не уснула) и чередуем это уведомлениями.
После 20 минут останавливаем
Нет подтверждения о загрузке меню с противниками, через поиск картинки. 2) в первую очередь проверяется защита (деф) и если найден слабый противник то уже проверяем его тег (тег это u1k pnx Ukr ufu ) проверка альфа каналом с совпадением в 70 процентов. Это картинки. Если тег не найден идём дальше к атаке если это наш союзник то рефреш что бы обновить список противников
Последний раз редактировалось Serg72 06 окт 2022 20:18, всего редактировалось 2 раза.
-
Serg72
- Сообщения: 25
- Зарегистрирован: 12 сен 2022 04:26
Re: Помогите разобраться
Что касается «k»
Можно все сделать чисто в таком виде я думаю
while(hasImg(gold4, gold_P1, gold_P2) || hasImg(gold5, gold_P1, gold_P2)
|| hasImg(gold6, gold_P1, gold_P2) || hasImg(gold7, gold_P1, gold_P2)
&& hasImg(gold_k, k1, k2)
{
Это гласит о том что мы ищем либо 4 либо 5 либо 6 либо 7 картинку в заданных координатам но что бы обязательно была буква k с любой из этих комбинаций.
Можно все сделать чисто в таком виде я думаю
while(hasImg(gold4, gold_P1, gold_P2) || hasImg(gold5, gold_P1, gold_P2)
|| hasImg(gold6, gold_P1, gold_P2) || hasImg(gold7, gold_P1, gold_P2)
&& hasImg(gold_k, k1, k2)
{
Это гласит о том что мы ищем либо 4 либо 5 либо 6 либо 7 картинку в заданных координатам но что бы обязательно была буква k с любой из этих комбинаций.
-
Serg72
- Сообщения: 25
- Зарегистрирован: 12 сен 2022 04:26
Re: Помогите разобраться
Что касается проверки загрузился ли бой,
hasImag(coin, coinP1, coinP2)
hasImag(coin, coinP1, coinP2)
-
Admin
- Главный админ
- Сообщения: 214
- Зарегистрирован: 28 окт 2021 14:01
Re: Помогите разобраться
Нет, так дело не пойдет! Копировать задачу, с какими-то новыми дополнениями в конце, не нужно." Нет подтверждения о загрузке меню с противниками", мне ничего не говорит. Для меня это пустые звуки. Потому что, во-первых, о нем вы ничего раньше не говорили, во-вторых, я без понятия, как это меню выглядит, и что там за картинку искать нужно. Код написан по тем пунктам, которые вы дали. Так как задача не была полностью описана, я вынужден был работать с тем что вы описали в первых своих сообщениях этой темы. И потратил на это больше часа. Поэтому обвинять меня "проверил ваш код, а он не работает" не нужно. Потому что вам были даны части кода по отрывкам пунктов из общей задачи. И конечно же они не будут работать из коробки, ведь там нету кучи информации о точках, цветах и изображениях, которые нужно искать. Их нужно дополнить настоящими данными с игры и собрать воедино.
Не сочтите за грубость, но либо вы даете мне ВСЕ данные к скрипту и описываете по пунктам когда и как эти данные должны быть применены, либо вам прийдется дописывать свой код, по примерам, самостоятельно. Так как без подробного ТЗ это будет пустая трата времени. Потому что пропущенные действия в скрипте мы будем несколько недель таким темпом отлавливать и переписывать.
-
Serg72
- Сообщения: 25
- Зарегистрирован: 12 сен 2022 04:26
Re: Помогите разобраться
Дополнил код
Код: Выделить всё
Image Next = Image.load("Next");
Image def1 = Image.load("1");
Image def2 = Image.load("2");
Image def3 = Image.load("3");
Image def4 = Image.load("4");
Image UKR = Image.load("UKR");
Image PNX = Image.load("PNX");
Image U1K = Image.load("U1K");
Image UFU = Image.load("UFU");
Image Attack = Image.load("Attack");
Image refresh = Image.load("refresh");
Image coin = Image.load("coin");
Image k = Image.load("k");
Image Gold4 = Image.load("Gold4");
Image Gold5 = Image.load("Gold5");
Image Gold6 = Image.load("Gold6");
Image Gold7 = Image.load("Gold7");
Point Next_Area_1 = Point.get(20,1700);
Point Next_Area_2 = Point.get(180,1920);
Point Attack_P = Point.get(871,1536);
Point Attack_Area_1 = Point.get(720,1420);
Point Attack_Area_2 = Point.get(990,1600);
Point refresh_P = Point.get(978,1730);
Point refresh_Area_1 = Point.get(900,1680);
Point refresh_Area_2 = Point.get(1020,1780);
Point clan_Area_1 = Point.get(210,1465);
Point clan_Area_2 = Point.get(350,1530);
Point defense_Area_1 = Point.get(270,1540);
Point defense_Area_2 = Point.get(298,1584);
Point coin_Area_1 = Point.get(990,180);
Point coin_Area_2 = Point.get(1055,246);
Point k_Area_1 = Point.get(964,164);
Point k_Area_2 = Point.get(999,244);
Point Gold_Area_1 = Point.get(898,197);
Point Gold_Area_2 = Point.get(932,237);
Point PS_1 = Point.get(207,1459);
Point PS_2 = Point.get(416,1590);
Point PS_3 = Point.get(822,54);
Point PS_4 = Point.get(1041,446);
startScreenCapture(2);
sleep(180);
while(!EXIT)
{
if(hasImg(Next, Next_Area_1, Next_Area_2))
{
Point Next_P = findImg(Next);
Point Next_Random_P = Point.get(Next_P.x + 41, Next_P.y + 63);
click(randomize(Next_Random_P, 28);
log("found and clicked Next");
if(hasImg(def1, defense_Area_1, defense_Area_2)
|| hasImg(def2, defense_Area_1, defense_Area_2)
|| hasImg(def3, defense_Area_1, defense_Area_2)
|| hasImg(def4, defense_Area_1, defense_Area_2))
{
}
}
Последний раз редактировалось Serg72 08 окт 2022 18:33, всего редактировалось 1 раз.
-
Serg72
- Сообщения: 25
- Зарегистрирован: 12 сен 2022 04:26
Re: Помогите разобраться
1) запускаем кликер на стартовом экране
2) кликер должен найти изображение Next в зоне Next_Area_1~2
3) пока изображения не найдено (кликер - далее К) не переходит к следующим действиям
4) после того как изображение Next найдено - определяем его координаты - создаём точку с центром картинки Next
5) нажимаем Next с функций рандома
6) ждём с функцией рандома 50-200 мс
7) проверяем в совпадение цвета в точке (х у) (задам координаты точки позже), делаем эту проверку до тех пор пока цвет не появится в нужной точк
Таким образом проверяем прогрузилось ли меню с противниками.
8) ждем рандомное время (50-180мс)
9) начинаем подбор противника, в зоне defense_Area_1~2 ищем изображения def1~2~3~4, что бы перейти к следующему этапу в коде необходим факт нахождения одной из картинки.
10) Если картинка не найдена то нажимаем с рандомным показателем (18) в точку refresh_P, ждем рандомное время 50-180 мс, и повторяем операцию в пункте «9»
11) если изображение найдено то начинаем поиск группы изображений (ukr , pnx, u1k , ufu) поиск в альфа канале потому что в рандомное время может присутствовать другой цвет и наложенный градиент. Так же для лучшего результата точность поиска устанавливаем 70.
12) Если изображение найдено то делаем принтскрин в зоне PS_1~2 (что бы в первое время проверить правильность отсеивание противников) и выполняем «10» пункт ( именно нажимаем refresh)
13) если изображение НЕ найдено то нажимаем с рандомным показателем (по у - 36 по х - 80 ) от центральной заданной точки Attack_P
14) ждём с рандомным временем 100-300
15) ижем изображение coin в зоне coin_Area_1~2, ищем до тех пор пока не найдём.
16) coin найден! Переходим к поиску одного из изображений Gold4~5~6~7 в зоне Gold_Area_1~2 и обязательно в любой совокупности изображение k в зоне k_Area_1~2
17) если совокупность не найдена то ждём рандомное время 50-180, делаем принтскрин в зоне PS_3~4 и преступаем к выполнению 2 пункта (мегацикл)
18) если совокупность изображений найдена то в течении 20 минут, каждые полминуты начиная с момента обнаружение подходящего противника посылаем вибро и аудио уведомления а так же нажимаем в точку x,y.
2) кликер должен найти изображение Next в зоне Next_Area_1~2
3) пока изображения не найдено (кликер - далее К) не переходит к следующим действиям
4) после того как изображение Next найдено - определяем его координаты - создаём точку с центром картинки Next
5) нажимаем Next с функций рандома
6) ждём с функцией рандома 50-200 мс
7) проверяем в совпадение цвета в точке (х у) (задам координаты точки позже), делаем эту проверку до тех пор пока цвет не появится в нужной точк
Таким образом проверяем прогрузилось ли меню с противниками.
8) ждем рандомное время (50-180мс)
9) начинаем подбор противника, в зоне defense_Area_1~2 ищем изображения def1~2~3~4, что бы перейти к следующему этапу в коде необходим факт нахождения одной из картинки.
10) Если картинка не найдена то нажимаем с рандомным показателем (18) в точку refresh_P, ждем рандомное время 50-180 мс, и повторяем операцию в пункте «9»
11) если изображение найдено то начинаем поиск группы изображений (ukr , pnx, u1k , ufu) поиск в альфа канале потому что в рандомное время может присутствовать другой цвет и наложенный градиент. Так же для лучшего результата точность поиска устанавливаем 70.
12) Если изображение найдено то делаем принтскрин в зоне PS_1~2 (что бы в первое время проверить правильность отсеивание противников) и выполняем «10» пункт ( именно нажимаем refresh)
13) если изображение НЕ найдено то нажимаем с рандомным показателем (по у - 36 по х - 80 ) от центральной заданной точки Attack_P
14) ждём с рандомным временем 100-300
15) ижем изображение coin в зоне coin_Area_1~2, ищем до тех пор пока не найдём.
16) coin найден! Переходим к поиску одного из изображений Gold4~5~6~7 в зоне Gold_Area_1~2 и обязательно в любой совокупности изображение k в зоне k_Area_1~2
17) если совокупность не найдена то ждём рандомное время 50-180, делаем принтскрин в зоне PS_3~4 и преступаем к выполнению 2 пункта (мегацикл)
18) если совокупность изображений найдена то в течении 20 минут, каждые полминуты начиная с момента обнаружение подходящего противника посылаем вибро и аудио уведомления а так же нажимаем в точку x,y.