Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Распознавание изображения

Страниц (1): [1]
 

1. Igor2023 - 23 Января, 2023 - 07:53:17 - перейти к сообщению
int Image_0[9][7];
if (load_images()==-1){messagebox ("Нет Изображения"Подмигивание; goto er;}

int x,y;
while(findimage(1, #Image_0[0][0], 255, #x, #y, 0, 0, w.width, w, w)==1)sleep(50);
key(mousedown(LEFT, 479, 962, 0, w));
sleep(500);

if (loadimage (#Image_0[0][0], "C:\Users\vital\Desktop\image\Image_0.bmp"Подмигивание<1) return -1;
return 1;

Суть в чем в координатах
#x, #y, 0, 0, w.width, w, w
поиск изображения идет по всему выбранному окну
если устанавливаешь ограничение то есть отдельную зону в окне
функция должна выполнять поиск
и несли она не нашла пиксель в хоне или во всем окне, выполняется следующие действие активации клавиши
проблема в следующем, при запуске проверки, идет ход выполнение заданных функций, конкретно эта функция либо если это размеры окна а не зоны, при пикселях изображения свыше int Image_0[15][15]; идет поиск по всему окну конкретного пикселя и выбранного цвета в изображении, при исчезновении или место положения того пикселя который я выбрал, должна активироваться клавиша мыши, но если пиксель меняет своё местоположения, функция отслеживает другие если это цвет белый,
я сменил цвет изображения он красный, назначил зону поиска while(findimage(1, #Image_0[0][0], 255, #x, #y, 160, 250, 165, 400, w)==1)sleep(50); к примеру, изображение находится внутри, опять же как только функция отработала она не идет в цик по ожиданием если красного пикселя нет в данной зоне функция должна отдать команду нажать кнопку левой мыши и зажать её.
если это белый цвет с зоной поиска всего окна, функция работает постоянно так как находит пиксели белого цвета, если ограничить зону поиска в окне, функция ведет поиск и завершает команду так как не видит пиксель
с красным цветом, ситуация таже сама только не в зоне всего окна не в выделенной зоне она не видит, тупа выполнят всю функцию как положено не нашла отдала команду нажатие клавиши и завершилась
как это исправить?
2. Dantes3000 - 23 Января, 2023 - 14:02:58 - перейти к сообщению
Если это красного пикселя нет в функции либо если это размеры окна, а при писькелях свыше пыши. Ты сменил цвет он красный, должена отдать команду нажать функцию апорт.
но пиксель меняет своё отслеживание на белый.
3. Igor2023 - 23 Января, 2023 - 14:25:31 - перейти к сообщению
 Dantes3000 пишет:
Если это красного пикселя нет в функции либо если это размеры окна, а при писькелях свыше пыши. Ты сменил цвет он красный, должена отдать команду нажать функцию апорт.
но пиксель меняет своё отслеживание на белый.


я короче по уроку всё сделал, размеры всё своё указал,
фокус с изображением точнее с самой функцией изображения, проявляется как выполненная.
без ожидания изменений в выбранной зоне или в окне,
решил проблему отслеживанием пикселей
теперь мой код значительно больше, а также проблемы одна за одной. решаются просто
единственный проблемы это сейчас когда поклёвка срывается вылазит сообщение подобное голоду, бот считывая информацию, действует функцией заданной для утоления голода, это я исправлю дополнительной проверкой пикселя))) игра сама по себе под управлению мышью или свайпа на мобильном устройстве. дополнительных окон в главном окне нету.

win w=window (-1, -1, -1, -1, 602, 1032, -1);
if (w==0){messagebox ("Нет окна"Подмигивание; goto er;}
activate (w);
pause(1000);



Вход();
Подкустом();
P:;
Заброс();
E:;
Еда();
Клёв();
A:;
Садок();





er:;

function Еда()
{
if (getcolor(73, 483, w)==16777215)
{
mouse(LEFT, 448,553, 0, w);
pause(400);
mouse(LEFT, 541, 54, 0, w);
pause(400);
mouse(LEFT, 432, 214, 0, w);
pause(400);
mouse(LEFT, 202, 985, 0, w);
pause(400);
if (getcolor(30, 87, w)==394758)
{
mouse(LEFT, 152, 77, 0, w);
pause(200);

}
if (getcolor(30, 87, w)!=394758)
{
mouse(LEFT, 582, 907, 0, w);
pause(100);
mouse(LEFT, 582, 907, 0, w);
pause(100);
mouse(LEFT, 448, 556, 0, w);
pause(1000);
mouse(LEFT, 143, 171, 0, w);
pause(1000);
mouse(LEFT, 328, 529, 0, w);
pause(500);
mouse(LEFT, 328, 529, 0, w);
pause(500);
mouse(LEFT, 328, 529, 0, w);
pause(500);
mouse(LEFT, 328, 529, 0, w);
pause(500);
goto global E;
}
}
}


function Садок()
{
if (getcolor(150, 481, w)==12771812)
{
if (getcolor(234, 540, w)==9809632)
{
if (getcolor(230, 540, w)==10466785)
{
mouse(LEFT, 338, 678, 0, w);
}
mouse(LEFT, 338, 678, 0, w);
}
}
sleep(200);
{
if (getcolor(234, 538, w)!=9809632)
{
if (getcolor(230, 540, w)!=10466785)
{
mouse(LEFT, 219, 678, 0, w);
}
mouse(LEFT, 219, 678, 0, w);
}
goto global P
}
}


function Клёв()
{
sleep(200);
int z=0;
loop()
{
if (z==0)
+HIDE3>{
if (getcolor(155, 1019, w)!=255)
{
mousedown(LEFT, 479, 972, 0, w);
z=1;
sleep(1000);
}
}/HIDE3>
if (z==1)
{
if (getcolor(185, 913, w)!=9744045)
+HIDE4>{
mouseup(LEFT, 479, 972, 0, w);
z=0;
sleep(1000);
}/HIDE4>
{
if (getcolor(73, 483, w)==16777215)
+HIDE5>{
goto global E;
}/HIDE5>
if (getcolor(268, 517, w)==16777215)
+HIDE6>{
mouse(LEFT, 447, 553, 0, w);
goto global P;
}/HIDE6>
if (getcolor(150, 481, w)==12771812)
+HIDE7>{
goto global A;
}/HIDE7>
}
}
}
}

function Вход()
+HIDE0>{
mouse(LEFT, 169, 481, 0, w);
pause(500);
mouse(LEFT, 221, 589, 0, w);
pause(1000);
}/HIDE0>

function Подкустом()
+HIDE1>{
mouse(LEFT, 505, 981, 0, w);
pause(500);
mouse(LEFT, 451, 492, 0, w);
pause(500);
mouse(LEFT, 213, 390, 0, w);
mouse(LEFT, 213, 390, 0, w);
pause(500);
}/HIDE1>

function Заброс()
+HIDE2>{
mousetransfer(LEFT, 536, 423, 128, 519, 0.0, 0, w);
pause(500);
mousetransfer(LEFT, 536, 423, 128, 519, 0.0, 0, w);
pause(500);
mousetransfer(LEFT, 536, 423, 128, 519, 0.0, 0, w);
pause(500);
mousetransfer(LEFT, 536, 423, 128, 519, 0.0, 0, w);
pause(500);
mousetransfer(LEFT, 16, 832, 474, 590, 0.0, 0, w);
pause(500);
mouse(LEFT, 475, 949, 0, w);
pause(500);
}/HIDE2>

Powered by ExBB FM 1.0 Final