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

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

21. VladosS - 17 Января, 2015 - 09:28:43 - перейти к сообщению
спс, попробую
(Добавление)
Окно кибор пропадает и появляется снова




int Posk[200][200];
int P_X, P_Y, u_X, u_Y;
int xe, ye, color;
int S_X, S_Y, F_X, F_Y;
win wind=window ("StarConflict 1.0.13.64275", "game_main_window", -1);
getdisplay(color, xe, ye);
P_X=9; P_Y=705;
loadimage(#Posk[0][0],"E:\Star Conflict\Screenshots\svsdfva.bmp);
F_X=P_X[0]+899; F_Y=P_Y[0]-400;
sleep(10);
S_X=P_X[0]+879; S_Y=P_Y[0]-448;
sleep(10);
loop:;
sleep(10);
if (getkeystate(192)==1)Poisk();
goto loop;
function Poisk()
{
findimage(1, #Posk[200][200], 0, #u_X, #u_Y, S_X, S_Y, F_X, F_Y, 50, 50, 50, 50, 50, 50, 50, 1, wind);
mousemove(u_X,u_Y);
}
22. Kibor - 17 Января, 2015 - 11:28:55 - перейти к сообщению
 Цитата:
loadimage(#Posk[0][0],"E:\Star Conflict\Screenshots\svsdfva.bmp тут ");


видно нет подсвети после
?
23. VladosS - 17 Января, 2015 - 11:37:50 - перейти к сообщению
 Kibor пишет:
 Цитата:
loadimage(#Posk[0][0],"E:\Star Conflict\Screenshots\svsdfva.bmp тут ");


видно нет подсвети после
?


Оу, точно, спасибо
(Добавление)
теперь просто вылетает, когда на тильду жмешь) (192)
24. Kibor - 17 Января, 2015 - 12:13:59 - перейти к сообщению
 VladosS пишет:
теперь просто вылетает, когда на тильду жмешь)

гг гг
ошибка про которую я писал в
 Цитата:

Цитата:
finddynamic(0, u_X, u_Y, 0, 0, 0, 0, S_X, S_Y, F_X, F_Y, wind);
sleep(30);
k=finddynamic(1, u_X, u_Y, 20, 20, 30, 30, S_X, S_Y, F_X, F_Y, wind);
sleep(10);
mousemove(u_X,u_Y);


поиск оконный. движение экранное


 Цитата:
findimage(1, #Posk[200][200], 0, #u_X, #u_Y, S_X, S_Y, F_X, F_Y, 50, 50, 50, 50, 50, 50, 50, 1, wind);
mousemove(u_X,u_Y)wind;


и новая
findimage(1, #Posk[200][200], 0, #u_X, #u_Y, S_X, S_Y, F_X, F_Y, 50, 50, 50, 50, 50, 50, 50, 1, wind);

указатель на что? на конец массива?


CODE:
findimage(1, #Posk[0][0], 0, #u_X, #u_Y, S_X, S_Y, F_X, F_Y, 50, 50, 50, 50, 50, 50, 50, 1, wind);
mousemove(u_X,u_Y, wind);



Posk эт массив чисел (http://kibor-bot.com/forum/topic.php?forum=14&topic=10)
в этом массиве цвета пикселей рис.
указатель надо на начало рис.


 Цитата:
findimage(1, #Posk[0][0], 0, #u_X, #u_Y, S_X, S_Y, F_X, F_Y, 50, 50, 50, 50, 50, 50, 50, 1, wind);
mousemove(S_X + u_X,S_Y + u_Y,wind);
25. VladosS - 17 Января, 2015 - 12:15:15 - перейти к сообщению
Дошло, сейчас проверю
26. Kibor - 17 Января, 2015 - 12:19:57 - перейти к сообщению
 Цитата:
findimage(1, #Posk[0][0], 0, #u_X, #u_Y, S_X, S_Y, F_X, F_Y, 50, 50, 50, 50, 50, 50, 50, 1, wind);
mousemove(S_X + u_X,S_Y + u_Y,wind);

разобраться почему выделено красным. это правильно.

подсказываю... координаты ищутся относительно старта поиска..
то есть если старт не 0 надо делать смещение так как мышь работает от 0
27. VladosS - 17 Января, 2015 - 12:47:32 - перейти к сообщению
Теперь просто виснет
28. VladosS - 04 Марта, 2015 - 23:12:08 - перейти к сообщению
Я маленько подумал и придумал, может быть стоит искать форму объекта примерного цвета с расхождением 15-20%?
29. Kibor - 05 Марта, 2015 - 10:30:40 - перейти к сообщению
 VladosS пишет:
Я маленько подумал и придумал, может быть стоит искать форму объекта примерного цвета с расхождением 15-20%?

все зависит от того что надо искать. и от условий.

Сканирование изображения экрана
finddynamic- Искать динамично меняющиеся области экрана
findimage- Искать изображение на экране по маске изображения загруженного в память Кибор
findheapcolor- Ищет области на которых есть скученности пикселей определенных цветов
getcolor- Получить цвет пикселя
scanpixel- Сравнивает введенный цвет с цветом пикселя в веденных координатах ориентируясь на разбежности в цветах RGB
findcolor- Найти все координаты всех пикселей указанного цвета

30. VladosS - 05 Марта, 2015 - 12:05:14 - перейти к сообщению
Вот, новый вариант, упростил поиск



CODE:
int f,g;
sleep(10);
int xe, ye, color, n, m;
sleep(10);
int S_X, S_Y, F_X, F_Y;
sleep(10);
win wind=window ("StarConflict 1.0.13.64275", "game_main_window", -1);
sleep(10);
getdisplay(color, xe, ye);
sleep(10);
loop:;
sleep(50);
if (getkeystate(192)==1)Poisk();
goto loop;
function Poisk()
{
getmouse(n, m, wind);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);
mousemove(n,m);
};

Powered by ExBB FM 1.0 Final