Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Помощь с ботом Audition 2

Страниц (19): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец
 

71. Limbaugh - 05 Мая, 2019 - 08:18:27 - перейти к сообщению
 Zireael пишет:
Подбирайте параметры.
Можно корректность символов уменьшить в двух местах if(symbolcorrect(0)>0.7)
Указать цвет красного пикселя, уменьшить количество пикселей и увеличить разбежность:
 Цитата:
int color_red=2302945; // цвет красной стрелки
int color_red_min=80; // сколько нужно минимум пикселей найти
int r=10; // разбежность

Для начала откройте скрин в пейнте и проверьте нормально ли в нём находит стрелки.
(Добавление)
В этой строке:
 Цитата:
posX=coord[0]+symbolxpos(0);

Добавьте:
 Цитата:
posX=coord[0]+symbolxpos(0)-10; // или чуть меньше 10

Если стрелки начинаются с вверх или вниз, то некорректно потом могут определяться стрелки влево и вправо.


Сделал только вот это - posX=coord[0]+symbolxpos(0)[color=red]-10 , больше ничего не менял и все сработало, спасибо огромное )) , теперь и красные жмет и вопросы жмет, поменял еще с 50 на int pause_=20; // пауза между поиском стрелок , теперь все отлично работает, спасибо огромное тебе =)) , осталось только одна мелочь, но она как бы не сильна нужна , ну все таки раз ты помогаешь, то спрошу, а то в следующий раз может не представиться такого шанса Подмигивание Ха-ха , хотелось бы еще сделать функцию , которая будет нажимать всегда оценку - идеально, то есть ты нажал все клавиши и тебе нужно нажать ровно в центре синего луча, что бы получить идеальную оценку, так вот, как можно сделать так, что бы бот сам нажимал, вот скрин -
72. Zireael - 05 Мая, 2019 - 11:08:17 - перейти к сообщению
 Цитата:
нужно нажать ровно в центре синего луча

Он скорее белый. А что нажать надо?
Шарик перекрывает полоску когда пересекает её?
73. Limbaugh - 05 Мая, 2019 - 11:33:21 - перейти к сообщению
 Zireael пишет:
 Цитата:
нужно нажать ровно в центре синего луча

Он скорее белый. А что нажать надо?
Шарик перекрывает полоску когда пересекает её?


Нажать пробел, да, он перекрывает её, то есть шарик доходит до центра или рядом с ним и ты жмешь пробел, чем точней и ближе к центру нажмешь, тем лучше оценка, центр - идеально, рядом с ним - отлично, подальше от него - круто и еще плохо и мимо , мне нужно, что бы он жал всегда идеально, но что бы это тоже можно было включать и выключать, а то палевно когда одни идеалы жмешь ))
74. Dantes3000 - 05 Мая, 2019 - 12:05:08 - перейти к сообщению
Limbaugh ,

Довольно стандартная полоска, не раз уже встречал. Как показала практика - достаточно просто сохранить картинку как на скрине и при ее нахождении нажимать пробел. Еще можно вместо этого использовать findheapcolor.
А еще можно сохранить картинку кружка, полоски. В цикле сравнивать дельту координат по Х между ними, и если меньше чем, допустим, 20 - нажимать пробел.

75. Limbaugh - 06 Мая, 2019 - 09:49:03 - перейти к сообщению
Если искать по картинке, то он плохо у меня ищет, не знаю, в игре вообще тупит
76. Dantes3000 - 06 Мая, 2019 - 14:42:00 - перейти к сообщению
Limbaugh , да куча вариантов решения есть. Я бы сделал, если бы пример был
77. Zireael - 06 Мая, 2019 - 18:06:24 - перейти к сообщению
 Цитата:
Если искать по картинке, то он плохо у меня ищет

Начните с простого, найти оранжевый круг:
CODE:
int Image_0[6][6]; // массив для картинки 6*6
loadimage (#Image_0[0][0], "D:\Kibor2\Шарик.bmp"); // загрузка картинки
int coord2[4]={999, 524, 1121, 539} // область поиска
int r2=40; // разбежность

int PosX, PosY;
loop()
{
if(findimage(1, #Image_0[0][0], -1, #PosX, #PosY, coord2[0], coord2[1], coord2[2], coord2[3], r2,r2,r2,r2,r2,r2,100,1, -1))
textout(0, 300, 300, format(PosX), 1); // выведет координату X картинки
else textout(0, 300, 300, "---", 1); //если не нашлась картинка
sleep(100);
}

Подберите разбежность, чтобы круг всегда находился.
С полоской тоже самое. Только картинку полоски делайте шириной 1-2 пикселя.
Если сделаете, то сравнить потом координаты картинок вообще не проблема.
78. Limbaugh - 07 Мая, 2019 - 00:38:55 - перейти к сообщению
 Zireael пишет:
 Цитата:
Если искать по картинке, то он плохо у меня ищет

Начните с простого, найти оранжевый круг:
CODE:
int Image_0[6][6]; // массив для картинки 6*6
loadimage (#Image_0[0][0], "D:\Kibor2\Шарик.bmp"); // загрузка картинки
int coord2[4]={999, 524, 1121, 539} // область поиска
int r2=40; // разбежность

int PosX, PosY;
loop()
{
if(findimage(1, #Image_0[0][0], -1, #PosX, #PosY, coord2[0], coord2[1], coord2[2], coord2[3], r2,r2,r2,r2,r2,r2,100,1, -1))
textout(0, 300, 300, format(PosX), 1); // выведет координату X картинки
else textout(0, 300, 300, "---", 1); //если не нашлась картинка
sleep(100);
}

Подберите разбежность, чтобы круг всегда находился.
С полоской тоже самое. Только картинку полоски делайте шириной 1-2 пикселя.
Если сделаете, то сравнить потом координаты картинок вообще не проблема.


Как правильно подбирать разбежность, методом тестов в игре ? или же можно через сам кибор, через графику или еще как то подобрать? а так же картинка полоски должна быть без самого шарика?
79. Zireael - 07 Мая, 2019 - 02:09:03 - перейти к сообщению
 Цитата:
Как правильно подбирать разбежность, методом тестов в игре ?

Да, в игре.
 Цитата:
а так же картинка полоски должна быть без самого шарика?

Да.
Надо будет найти картинку шарика и картинку полоски, потом сравнить координату X, если шарик рядом с полоской, то нажать кнопку. Обычно надо нажимать немного заранее.
80. Limbaugh - 07 Мая, 2019 - 03:04:38 - перейти к сообщению
 Zireael пишет:
 Цитата:
Как правильно подбирать разбежность, методом тестов в игре ?

Да, в игре.
 Цитата:
а так же картинка полоски должна быть без самого шарика?

Да.
Надо будет найти картинку шарика и картинку полоски, потом сравнить координату X, если шарик рядом с полоской, то нажать кнопку. Обычно надо нажимать немного заранее.


Правильно ли Я сделал для шарика? почему он его не ищет( даже не выводит координаты X и если не нашлась, то тоже ничего не пишет)

Code (Отобразить)

Powered by ExBB FM 1.0 Final