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

Страниц (7): « 1 2 [3] 4 5 6 7 »
 

21. 777J0KeR777 - 12 Мая, 2015 - 06:22:38 - перейти к сообщению
Сейчас буду пробовать весь скрипт так менять) С денюжками получилось)) Спасибо огромное))
(Добавление)
Такс)) Прошу, не злитесь на меня, я только учусь)). Пришла мне в голову вот какая идейка:



"Зелёный" круг это крыша дома. "Красный" - это область в которой искать те самые монетки. Как это осуществить?))
(Добавление)
P.S. такой вопрос: этот шаг ускорит быстродействие или напрасная трата времени?
22. Kibor - 12 Мая, 2015 - 11:00:49 - перейти к сообщению
для ускорения вызывать findimage один раз и искать сразу все.
первый параметр -1
искать в массив
его перебирать циклом
23. 777J0KeR777 - 12 Мая, 2015 - 11:57:46 - перейти к сообщению
Интересненько) А можно, пожалуйста, наглядно как это сделать? А то я не представляю даже...(
24. Kibor - 12 Мая, 2015 - 13:49:02 - перейти к сообщению
читайте. давайте наработки. помогу
25. 777J0KeR777 - 12 Мая, 2015 - 13:55:25 - перейти к сообщению
Так я не знаю с чего начать...вот исходники рабочего, но тормозного бота:
CODE:
win w=window ("Forge of Empires - Mozilla Firefox", "MozillaWindowClass", -1);
int Image_1[19][10];
int Image_2[10][11];
int Image_3[8][10];
int Image_4[18][9];
int Image_5[16][19];
int color, xe,ye;
getdisplay(color, xe, ye);
int PosX;int PosY;
load_image();

gg:

if (findimage(1, #Image_1[0][0], -1, #PosX, #PosY, 0, 0, 1280, 992, 50, 50, 50, 50, 50, 50, 80, -1, w)==1)
{

mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50, w);

}


if (findimage(1, #Image_2[0][0], -1, #PosX, #PosY, 0, 0, 1280, 992, 50, 50, 50, 50, 50, 50, 80, -1, w)==1)
{

mouse(LEFT, PosX+imagewidth(#Image_2[0][0])/2, PosY+imageheight(#Image_2[0][0])/2+50, w);

}


if (findimage(1, #Image_3[0][0], -1, #PosX, #PosY, 0, 0, 1280, 992, 50, 50, 50, 50, 50, 50, 80, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_3[0][0])/2, PosY+imageheight(#Image_3[0][0])/2+50, w);

}


if(findimage(1, #Image_4[0][0], -1, #PosX, #PosY, 0, 0, 1280, 992, 50, 50, 50, 50, 50, 50, 80, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_4[0][0])/2, PosY+imageheight(#Image_4[0][0])/2, w);

}


f=if (findimage(1, #Image_5[0][0], -1, #PosX, #PosY, 0, 0, 1280, 992, w)==1)
{
sleep(1000);
mouse(LEFT, PosX+imagewidth(#Image_5[0][0])/2, PosY+imageheight(#Image_5[0][0])/2, w);

}

else: f=false;

goto gg;


function load_image()
{
loadimage (#Image_1[0][0], "J:\kibor\Íîâàÿ ïàïêà\money.bmp");
loadimage (#Image_2[0][0], "J:\kibor\Íîâàÿ ïàïêà\molot.bmp");
loadimage (#Image_3[0][0], "J:\kibor\Íîâàÿ ïàïêà\sleep.bmp");
loadimage (#Image_4[0][0], "J:\kibor\Íîâàÿ ïàïêà\5ì.bmp");
loadimage (#Image_5[0][0], "J:\kibor\Íîâàÿ ïàïêà\çàêðûòü.bmp");
}


Как это всё красиво умеючи провернуть как Вы говорили? Ну про то что с findimage всё сразу запустить....Ну надеюсь Вы поняли
26. Kibor - 12 Мая, 2015 - 14:33:46 - перейти к сообщению
вопрос..
как за один вызов функции findimage найти все картинки?
есть в справке..................
27. 777J0KeR777 - 12 Мая, 2015 - 14:51:13 - перейти к сообщению
Можно, пожалуйста, выноску...я прочитал вроде с данной страницы:
Сканирование экрана.

Или не нашёл, или не понял(
28. Kibor - 12 Мая, 2015 - 15:17:32 - перейти к сообщению
 777J0KeR777 пишет:
Можно, пожалуйста, выноску...я прочитал вроде с данной страницы:

 Цитата:
Синтаксис:
findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind);
Первый параметр - если -1 - искать все совпадающие изображения и записывать их в масив. Если не -1 , к примеру 5... искать до 5 включительно совпадений и завершать поиск.

примеров оч много.
использовать массивы(для просмотра ссылки Вам необходимо авторизоваться) и цикл for(для просмотра ссылки Вам необходимо авторизоваться)
29. 777J0KeR777 - 13 Мая, 2015 - 05:33:16 - перейти к сообщению
Вот такую штуку сделал. Ошибка в for...Не понимаю что-то(

CODE:
win w=window ("Forge of Empires - Mozilla Firefox", "MozillaWindowClass", -1);
int Image_1[19][10];
int Image_2[10][11];
int Image_3[8][10];
int Image_4[18][9];
int Image_5[16][19];
int color, xe,ye;
getdisplay(color, xe, ye);
int PosX;int PosY;
load_image();

gg:


for (findimage(1, #Image_1[0][0] && #Image_2[0][0] && #Image_3[0][0] && #Image_4[0][0] && #Image_5[0][0] -1, #PosX, #PosY, 0, 0, 1280, 992, 50, 50, 50, 50, 50, 50, 80, -1, w)==1)
{

mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50, w);
mouse(LEFT, PosX+imagewidth(#Image_2[0][0])/2, PosY+imageheight(#Image_2[0][0])/2+50, w);
mouse(LEFT, PosX+imagewidth(#Image_3[0][0])/2, PosY+imageheight(#Image_3[0][0])/2+50, w);
mouse(LEFT, PosX+imagewidth(#Image_4[0][0])/2, PosY+imageheight(#Image_4[0][0])/2, w);
sleep(1000);
mouse(LEFT, PosX+imagewidth(#Image_5[0][0])/2, PosY+imageheight(#Image_5[0][0])/2, w);

}


goto gg;

function load_image()
{
loadimage (#Image_1[0][0], "J:\kibor\Íîâàÿ ïàïêà\money.bmp");
loadimage (#Image_2[0][0], "J:\kibor\Íîâàÿ ïàïêà\molot.bmp");
loadimage (#Image_3[0][0], "J:\kibor\Íîâàÿ ïàïêà\sleep.bmp");
loadimage (#Image_4[0][0], "J:\kibor\Íîâàÿ ïàïêà\5ì.bmp");
loadimage (#Image_5[0][0], "J:\kibor\Íîâàÿ ïàïêà\çàêðûòü.bmp");
30. Kibor - 13 Мая, 2015 - 05:40:46 - перейти к сообщению
 777J0KeR777 пишет:
for (findimage(1, #Image_1[0][0] && #Image_2[0][0] && #Image_3[0][0] && #Image_4[0][0] && #Image_5[0][0] -1, #PosX, #PosY, 0, 0, 1280, 992, 50, 50, 50, 50, 50, 50, 80, -1, w)==1)

это где такое у меня есть..??

 Цитата:
int PosX[500], PosY[500];
int kk=findimage (-1, #Image_0[0][0], -1, #PosX[0], #PosY[0], 619, 458, 1091, 725, 20, 20, 20, 20, 20, 20, 90, 1, w);
for(int i=0; i<kk; i++)
{
mouse(LEFT, PosX[i]+imagewidth(#Image_0[0][0])/2+619, PosY[i]+imageheight(#Image_0[0][0])/2+50+458, 0, w);
sleep(100);
}

Powered by ExBB FM 1.0 Final