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

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

1. Fogsand - 12 Марта, 2015 - 17:17:10 - перейти к сообщению
Здравствуйте!
Помогите разобраться с findeimage
Вот такой скрипт.
Задача под скриптом!
win w=window ("Ôðàíöóçñêàÿ ðóëåòêà - Casino King", "PTIODEVICE", -1);
activate (w);
w.leftclient=10; w.topclient=30;
moveclient(w);



int Image_0[21][25];
loadimage (#Image_0[0][0], "C:\Kibor\king\Image_0.bmp"Подмигивание;
int PosX_0[1];int PosY_0[1];
int Image_1[23][26];
loadimage (#Image_1[0][0], "C:\Kibor\king\Image_1.bmp"Подмигивание;
int PosX_1[1];int PosY_1[1];
int Image_2[27][27];
loadimage (#Image_2[0][0], "C:\Kibor\king\Image_2.bmp"Подмигивание;
int PosX_2[1];int PosY_2[1];
int Image_3[27][27];
loadimage (#Image_3[0][0], "C:\Kibor\king\Image_3.bmp"Подмигивание;
int PosX_3[1];int PosY_3[1];

loop: if (poisk()==-1){messagebox("ÍÀÉÄÅÍÎ"Подмигивание;goto error;}
mouse(LEFT, 458, 539);
sleep (200);
goto loop;

error:;

function poisk()
{
if (poisk_level(#Image_0[0][0])==1) return 1;
if (poisk_level(#Image_1[0][0])==1) return 1;
if (poisk_level(#Image_2[0][0])==1) return 1;
if (poisk_level(#Image_3[0][0])==1) return 1;

return -1;


}

function poisk_level(int #Image_par)
{
if (findimage(-1, #Image_par[0][0], 65280, #PosX_0[0], #PosY_0[0], 0, 0, 800, 600, w)<1)
{
return 1;
}

return -1;

}
(Добавление)
Вопрос почему не находит картинки?
если ставить ретурн 1 в функции поис в фигурные скобки находит только одну первую в списке картинку другие не ишет.
В таком виде ниодной не находит. подсмотрел в солитёре!

Вопрос
1 как сделать так что бы из допустим 10 картинок он находил 9 не учитывая повторяюшиеся картинки при выпадении и показывал оставшиюся не найденую.

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

Хотябы с вопросом 2 хелп поподробнее. Даже не представлю как реализовать или в обших чертах поэтапно напишите что делать!

3 Можно ли функции mouse(LEFT) указать сколько ей подподрят нажать раз. можно и со слипом.
2. Kibor - 13 Марта, 2015 - 01:56:14 - перейти к сообщению
 Fogsand пишет:
function poisk_level(int #Image_par)
{
if (findimage(-1, #Image_par[0][0], 65280, #PosX_0[0], #PosY_0[0], 0, 0, 800, 600, w)<1)
{
return 1;
}

return -1;

}
3. Fogsand - 13 Марта, 2015 - 02:31:36 - перейти к сообщению
 Kibor пишет:
 Fogsand пишет:
function poisk_level(int #Image_par)
{
if (findimage(-1, #Image_par[0][0], 65280, #PosX_0[0], #PosY_0[0], 0, 0, 800, 600, w)<1)
{
return 1;
}

return -1;

}


получается у меня ошибка в отправлении обратно данных

но я пробывал ставить на отправку и 0 и - 1 и 1 так и не понял как правильно должно быть
напишите плиз как правильно!!!
по поводу поиска подподрят
надо создать переменную сётика

например
int sch=0;
if poisk()=1;
sch++
if sch(>8) goto
к метке ставки
else sch (format)?
или правильно обратно обратно присвоить shc=0?
goto к метки поиска.

В правильном направлении мои мысли по поводу поиска подряд???

И правильно у меня написан основной скрипт только ошибка в возврате данных???
4. Fogsand - 13 Марта, 2015 - 14:10:34 - перейти к сообщению
да я уже голову сломал. если смотреть как в солитёре сделано тогда он выполняет месаджбкс где у меня написано НАЙДЕНО
(Добавление)
ПОдскажите вот такой вопрос.

Если в коде из функции возврашается 1 то выполняется месачбох -да?
еслив возврашается 0 или -1 то выполняется mouse итд - ДА?
loop: if (poisk()==1){messagebox("ÍÀÉÄÅÍÎ");goto error;}
mouse(LEFT, 458, 539);
sleep (200);
goto loop;
5. Kibor - 13 Марта, 2015 - 14:18:04 - перейти к сообщению
скайп в личку. поясню . тут не знаю как уже пояснять в каждой теме о возврате значений и тд
(Добавление)
 Цитата:
loop: if (poisk()==1){messagebox("ÍÀÉÄÅÍÎ");goto error;}
mouse(LEFT, 458, 539);
sleep (200);
goto loop;


 Цитата:
loop: if (poisk()==1){messagebox("ÍÀÉÄÅÍÎ");goto error;}

else mouse(LEFT, 458, 539);


sleep (200);
goto loop;

(для просмотра ссылки Вам необходимо авторизоваться)
6. Fogsand - 13 Марта, 2015 - 14:27:55 - перейти к сообщению
 Kibor пишет:
скайп в личку. поясню . тут не знаю как уже пояснять в каждой теме о возврате значений и тд


сори ни скайпом ни подобными не пользуюсь тыкните где про возврат вычитать.
я просто не догоняю в данной ситуации
в функцию if (poisk()==1) значение на прямую возврашается из poisk_levl или
сначала из poisk_level в функцию poisk а потом из posk к проверке иф???

oop: if (poisk()==1){messagebox("ÍÀÉÄÅÍÎ");goto error;}
mouse(LEFT, 458, 539);
sleep (200);
goto loop;

function poisk()
{
if (poisk_level(#Image_0[0][0])==1) return 1;
if (poisk_level(#Image_1[0][0])==1) return 1;
if (poisk_level(#Image_2[0][0])==1) return 1;
if (poisk_level(#Image_3[0][0])==1) return 1;

return 0;


}

function poisk_level(int #Image_par)
{
if (findimage(-1, #Image_par[0][0], 65280, #PosX_0[0], #PosY_0[0], 0, 0, 800, 600, w)==1)
{
return 1;
}

return 0;

}
7. Kibor - 13 Марта, 2015 - 14:33:55 - перейти к сообщению
в if (poisk()==1) чихать что вернул poisk_level


в if (poisk()==1) будет то что после return в функции poisk


то есть

 Цитата:
if (a()==1)
{

}

function a()
{
if (b()==0)return 1;
}

function b()
{
return 0;
}


равносильно

 Цитата:
if (1==1)
{

}

function a()
{
if (0==0)return 1;
}

function b()
{
return 0;
}
8. Fogsand - 13 Марта, 2015 - 14:41:45 - перейти к сообщению
тогда поучается
if (findimage(-1, #Image_par[0][0], 65280, #PosX_0[0], #PosY_0[0], 0, 0, 800, 600, w)==1)
{
return 1; этот ретурн у нас подтверждает наличе найденой картинки и возврашает

значение 1 сюда if (poisk_level(#Image_0[0][0])==1) return 1; правильно?
9. Kibor - 13 Марта, 2015 - 14:49:07 - перейти к сообщению
 Fogsand пишет:
тогда поучается
if (findimage(-1, #Image_par[0][0], 65280, #PosX_0[0], #PosY_0[0], 0, 0, 800, 600, w)==1)
{
return 1; этот ретурн у нас подтверждает наличе найденой картинки и возврашает

значение 1 сюда if (poisk_level(#Image_0[0][0])==1) return 1; правильно?


правильно

но не верно

 Цитата:
if (findimage(-1, #Image_par[0][0], 65280, #PosX_0[0], #PosY_0[0], 0, 0, 800, 600, w)==1)

(для просмотра ссылки Вам необходимо авторизоваться)
10. Fogsand - 13 Марта, 2015 - 14:51:42 - перейти к сообщению
скажите как мне лучше реализовать поиск картинок
через масивы катинок
примерно как здесь
вар 1
int Image_0[10][100][100];
int PosX, PosY;

int n=0;
a: if (n<10)
{
loadimage (#Image_0[n][0][0], "C:\Image_"+format(n)+".bmp");
n++;
goto a;
}

n=0;
a1: if (n<10)
{
if (findimage(1, #Image_0[n][0][0], 0, #PosX, #PosY, 0, 0, 1366, 716, -1)==1)
{
mousemove(PosX, PosY);
sleep(600);
}
n++;
goto a1;
}


или как здесь
вар2
nt Image_3[48][16];loadimage (#Image_3[0][0], "C:\2\Image_3.bmp");
int q
int w
int e
int r

int PosX_0[1];int PosY_0[1];
int PosX_2[1];int PosY_2[1];
int PosX_3[1];int PosY_3[1];

n:

q=findimage(1, #Image_0[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, xe, ye, -1);
if (q==1)
{
mouse(LEFT,PosX_1[0], PosY_1[0]) ;
sleep(rand(1988,2312));
goto n ;
}


w=findimage(1, #Image_2[0][0], 0, #PosX_2[0], #PosY_2[0], 0, 0, xe, ye, -1);
if (w==1)
{
mouse(LEFT,PosX_2[0], PosY_2[0]) ;
sleep(rand(1988,2312));
goto n ;
}
или как сейчас делаю
вар 3???

ворос!!!

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

например
int sch=0;
if poisk()=1;
sch++
if sch(>8) goto
к метке ставки
else sch (format)?
или правильно обратно обратно присвоить shc=0?
goto к метки поиска.

просто скажите правильное направление а дальше форум лопатить буду!!
(Добавление)
да что куда ретурн возврашает примерно понял, почитаю правильность где надо ставить 1,0,-1 и думою до меня окончательно допрёт!

Powered by ExBB FM 1.0 Final