Fogsand |
Отправлено: 13 Марта, 2015 - 00:17:10
|
Прохожий
Покинул форум
Сообщений всего: 13
Дата рег-ции: Февр. 2015
Репутация: 0
|
Здравствуйте!
Помогите разобраться с 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) указать сколько ей подподрят нажать раз. можно и со слипом. |
|
|
Kibor |
Отправлено: 13 Марта, 2015 - 08:56:14
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
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;
} |
|
|
Fogsand |
Отправлено: 13 Марта, 2015 - 09:31:36
|
Прохожий
Покинул форум
Сообщений всего: 13
Дата рег-ции: Февр. 2015
Репутация: 0
|
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 к метки поиска.
В правильном направлении мои мысли по поводу поиска подряд???
И правильно у меня написан основной скрипт только ошибка в возврате данных??? |
|
|
Kibor |
Отправлено: 13 Марта, 2015 - 21:18:04
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
скайп в личку. поясню . тут не знаю как уже пояснять в каждой теме о возврате значений и тд
(Добавление)
Цитата: 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;
(для просмотра ссылки Вам необходимо авторизоваться) |
|
|
Fogsand |
Отправлено: 13 Марта, 2015 - 21:27:55
|
Прохожий
Покинул форум
Сообщений всего: 13
Дата рег-ции: Февр. 2015
Репутация: 0
|
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;
} |
|
|
Kibor |
Отправлено: 13 Марта, 2015 - 21:33:55
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
в 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;
} |
|
|
Fogsand |
Отправлено: 13 Марта, 2015 - 21:41:45
|
Прохожий
Покинул форум
Сообщений всего: 13
Дата рег-ции: Февр. 2015
Репутация: 0
|
тогда поучается
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; правильно? |
|
|
Kibor |
Отправлено: 13 Марта, 2015 - 21:49:07
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
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)
(для просмотра ссылки Вам необходимо авторизоваться) |
|
|
Fogsand |
Отправлено: 13 Марта, 2015 - 21:51:42
|
Прохожий
Покинул форум
Сообщений всего: 13
Дата рег-ции: Февр. 2015
Репутация: 0
|
скажите как мне лучше реализовать поиск картинок
через масивы катинок
примерно как здесь
вар 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 и думою до меня окончательно допрёт! |
|
|
|