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

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

21. sakr1dd - 06 Октября, 2013 - 03:48:31 - перейти к сообщению
 Kibor пишет:


Ищем относительно зеленого контакта

 Цитата:
int Image_1[100][100];
if (loadimage (#Image_1[0][0], "C:\Image_1.bmp")>0)messagebox("Image_1 Congr");//Зеленая тамка это
else messagebox ("Image_1 nooo");

int Image_2[100][100];
if (loadimage (#Image_2[0][0], "C:\Image_2.bmp")>0)messagebox("Image_2 Congr");
else messagebox ("Image_2 nooo");

int PosX_K, PosY_K;//Координаты рамки зеленой
int PosX, PosY;//Координаты галки

if (findimage(1, #Image_1[0][0], фоновый_цвет_красный, #PosX_K, #PosY_K, 0, 0, 1366, 768, -1)==1)//Нашли зеленую рамку
{
//Ищется галка начиная от PosX_K, PosY_K (левый верхний угол рамки)
if (findimage(1, #Image_2[0][0], 0, #PosX, #PosY, PosX_K, PosY_K, 1366, 768, -1)==1)
{
mousemove(PosX, PosY);
mouse(LEFT);
}
}

Спасибо большое,с этим разобрался,интересует еще кое что,можно ли перемещать зажатую кнопку мыши наводя ее на некую картинку,тоесть мне надо чтобы ползунок всегда перетаскивался вверх,но место откуда и до куда его надо перетаскивать меняется
22. Kibor - 06 Октября, 2013 - 03:55:07 - перейти к сообщению
 sakr1dd пишет:
можно ли перемещать зажатую кнопку мыши наводя ее на некую картинку

mousetransfer

Лучше ползунок перемещать клавой если работает такой сдвиг ползунка.
23. sakr1dd - 06 Октября, 2013 - 04:52:40 - перейти к сообщению
 Kibor пишет:
 sakr1dd пишет:
можно ли перемещать зажатую кнопку мыши наводя ее на некую картинку

mousetransfer

Лучше ползунок перемещать клавой если работает такой сдвиг ползунка.

Что-то не получается никак найти стрелочку от зеленой рамки,как сделать красный фоновый цвет? Просто закрасить? И выдает ошибку
CODE:
if (findimage(1, #Image_1[0][0] , #PosX_K, #PosY_K, 0, 0, 1366, 768, -1)==1)
,когда вписываю фоновый_цвет_красный,помогите распутаться)
24. Kibor - 06 Октября, 2013 - 05:04:21 - перейти к сообщению
 sakr1dd пишет:
выдает ошибку
if (findimage(1, #Image_1[0][0] , #PosX_K, #PosY_K, 0, 0, 1366, 768, -1)==1)
,когда вписываю фоновый_цвет_красный



фоновый_цвет_красный - псевдокод.
Когда создаете рисунок в редакторе кибор, выделите именно саму рамку зеленую, без середины - квадратный бублик...
Выберите в палитре в том ж редакторе фоновый цвет красный.
Сохраните рисунок этого бублика через кибор.
Фоновый цвет сам все не выделенное заполнит в bmp.
В геренерируемой loadimage автоматом напишется этот красный цвет фона.
Сканер графического интерфейса
Поиск изображений на экране
Читайте еще раз.
25. sakr1dd - 06 Октября, 2013 - 05:05:31 - перейти к сообщению
как бы по коду все ясно что и как будет делатся,но выдает ошибку



 Kibor пишет:
Ответ постом выше

(Добавление)
Спасибо,понял,зеленый квадратный бублик с красной начинкой сделанной в кибореГолливудская улыбка

Сделал все как надо,мышку переводит не туда куда надо,картинку распознает,что-то не так с #PosX, #PosY, PosX_K, PosY_K
(Добавление)
26. Kibor - 06 Октября, 2013 - 05:34:16 - перейти к сообщению
Код в студию. Не надо отвечать с цитированием. Нагромождение получается.
27. sakr1dd - 06 Октября, 2013 - 05:39:16 - перейти к сообщению
CODE:
int Image_0[100][100];
if (loadimage (#Image_0[0][0], "C:\Prog\A6.bmp")>0)messagebox("Image_1 Congr");
else messagebox ("Image_1 nooo");

int Image_1[100][100];
if (loadimage (#Image_1[0][0], "C:\Prog\A7.bmp")>0)messagebox("Image_2 Congr");
else messagebox ("Image_2 nooo");

int PosX_K, PosY_K;//?????????? ????? ???????
int PosX, PosY;//?????????? ?????

if (findimage(1, #Image_0[0][0],255, #PosX_K, #PosY_K, 0, 0, 1366, 768, -1)==1
{
if (findimage(1, #Image_1[0][0], 0, #PosX, #PosY, PosX_K, PosY_K, 1366, 768, -1)==1)
{
mousemove(PosX, PosY);
mouse(LEFT);
sleep (2000);
}
}
28. Kibor - 06 Октября, 2013 - 05:48:25 - перейти к сообщению
 sakr1dd пишет:
int Image_0[100][100];
if (loadimage (#Image_0[0][0], "C:\Prog\A6.bmp")>0)messagebox("Image_1 Congr");
else messagebox ("Image_1 nooo");

int Image_1[100][100];
if (loadimage (#Image_1[0][0], "C:\Prog\A7.bmp")>0)messagebox("Image_2 Congr");
else messagebox ("Image_2 nooo");

int PosX_K, PosY_K;//?????????? ????? ???????
int PosX, PosY;//?????????? ?????

if (findimage(1, #Image_0[0][0],255, #PosX_K, #PosY_K, 0, 0, 1366, 768, -1)==1)Пропуск скобки
{
if (findimage(1, #Image_1[0][0], 0, #PosX, #PosY, PosX_K, PosY_K, 1366, 768, -1)==1)
{
mousemove(PosX, PosY);
mouse(LEFT);
sleep (2000);
}
}
29. sakr1dd - 06 Октября, 2013 - 14:04:27 - перейти к сообщению
Проблема не в этом,т.к. это ошибка была допущена когда я убирал комментарии ваши,просто они были в виде "????????? ????",сейчас пробую запустить с точно такими же параметрами как и было но сейчас даже мышь не перемещается.. что-то не так
(Добавление)
Сообщение выше не совсем точное,не работала потому что стрелочку сделал не правильную,переделал вроде бы заработала,но тем не менее наводит все равно куда-то в угол экрана
(Добавление)
Совершенно случайно,пробуя все варианты все таки получилось решить проблему,ошибка была в этой строчке
CODE:
if (findimage(1, #Image_1[0][0], 0, #PosX, #PosY, 0,0, 1366, 768, -1)==1)

вместо 0 стояли PosX_K,PosY_K
30. Kibor - 06 Октября, 2013 - 14:39:23 - перейти к сообщению
 sakr1dd пишет:
ошибка была в этой строчке
CODE:
if (findimage(1, #Image_1[0][0], 0, #PosX, #PosY, 0,0, 1366, 768, -1)==1)

вместо 0 стояли PosX_K,PosY_K


Там не ошибка...

Это специально ограниченно начало поиска на экране левым верхним углом рамки зеленой...

Просто надо так теперь координаты указывать

mousemove(PosX+PosX_K, PosY+PosY_K);
Поскольку в PosX, PosY находятся координаты относительно PosX_K,PosY_K(координаты начала поиска)


Вот так:
 Цитата:
int Image_0[100][100];
if (loadimage (#Image_0[0][0], "C:\Prog\A6.bmp")>0)messagebox("Image_1 Congr");//Зеленая рамка
else messagebox ("Image_1 nooo");

int Image_1[100][100];
if (loadimage (#Image_1[0][0], "C:\Prog\A7.bmp")>0)messagebox("Image_2 Congr");//Галка
else messagebox ("Image_2 nooo");

int PosX_K, PosY_K;
int PosX, PosY;

if (findimage(1, #Image_0[0][0],255, #PosX_K, #PosY_K, 0, 0, 1366, 768, -1)==1)
{
if (findimage(1, #Image_1[0][0], 0, #PosX, #PosY, PosX_K, PosY_K, 1366, 768, -1)==1)
{
mousemove(PosX+PosX_K, PosY+PosY_K);
mouse(LEFT);
sleep (2000);
}
}


Я пропустил...
(Добавление)
Если поставить 0, 0 замест PosX_K, PosY_K опять искаться будет первая галка которая не нужна.

Powered by ExBB FM 1.0 Final