Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Без описания
Budni
Отправлено: 02 Июня, 2019 - 06:55:37
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2018  
Репутация: 2




Помогите сделать. Нужно сделать скриншот на котором я по нажатии кнопки Ё мог сделать клик по 8 координатам на скриншоте,
чтобы они записались в переменные int x[8], y[8] и сохранились в блокноте для дальнейшего использования. Помогите пожалуйста.
 
 Top
Zireael
Отправлено: 02 Июня, 2019 - 10:29:40
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4384
Дата рег-ции: Нояб. 2017  
Репутация: 580




Помочь - это подсказать как сделать или указать на ошибки в скрипте, всё остальное это - напишите за меня скрипт.
Тут простые действия, все нужные функции в киборе есть. Нужно лишь использовать их в нужном порядке.
 
 Top
Budni
Отправлено: 02 Июня, 2019 - 12:30:45
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2018  
Репутация: 2




Подскажите пожалуйста как сделать, пока тока так получается, как быть со скриншотами?
CODE:

int x[4], y[4];
getdisplay(color, X_displey, Y_displey);// Для начала я думаю нужно получить размер экрана
int a[X_displey][Y_displey];//Выделяем память, но не уверен что правильно значение добавил
int ekran screen (#a[0][0], 0, 0, X_displey, Y_displey, -1);// а сюда верно записал?

open (ekran)//Тут нужно как то открыть скриншот на весь экран вообще не представляю как это сделать, хочу как в инструменте быстрого создания схем
textbkcolor(255, 16637860);
textout(0, 500, 500, "Получить x[0],y[0]", 1);
while(getkeystate(192)==0)sleep(10);// Ждем когда будет нажата Ё, чтобы получить координаты
getmouse(x[0], y[0]); // получаем координаты курсора
resettextout(1); // сбрасываем текст

// Получаем значения других координат
textout(0, 500, 500, "Получить x[1],y[1]", 1);
while(getkeystate(192)==0)sleep(10);
getmouse(x[1], y[1]);
resettextout(1);

textout(0, 500, 500, "Получить x[2],y[2]", 1);
while(getkeystate(192)==0)sleep(10);
getmouse(x[2], y[2]);
resettextout(1);

textout(0, 500, 500, "Получить x[3],y[3]", 1);
while(getkeystate(192)==0)sleep(10);
getmouse(x[3], y[3]);
resettextout(1);
///////////////////////////////////////

//Далее надо как то занести полученные данные в блокнот, тут я вообще не понимаю
fopen ("c:\koordinaty.txt", "a");
fwrite(x[0],x[1],x[2],x[3],y[0],y[1],y[2],y[3],); // Так??
fclose();

(Отредактировано автором: 02 Июня, 2019 - 12:31:22)

 
 Top
Zireael
Отправлено: 02 Июня, 2019 - 13:06:11
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4384
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
open (ekran)//Тут нужно как то открыть скриншот

CODE:
int Image_0[1920][1080];
loadimage (#Image_0[0][0], "C:\image.bmp"); // загрузить картинку
visualwindow(0, 0, 0, imagewidth(#Image_0[0][0]), imageheight(#Image_0[0][0]), 0, 0, 100, #Image_0[0][0]); // вывести
loop()sleep(10);
 
 Top
Budni
Отправлено: 02 Июня, 2019 - 13:16:58
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2018  
Репутация: 2




 Zireael пишет:
 Цитата:
open (ekran)//Тут нужно как то открыть скриншот

CODE:
int Image_0[1920][1080];
loadimage (#Image_0[0][0], "C:\image.bmp"); // загрузить картинку
visualwindow(0, 0, 0, imagewidth(#Image_0[0][0]), imageheight(#Image_0[0][0]), 0, 0, 100, #Image_0[0][0]); // вывести
loop()sleep(10);

А можно как то не сохраняя скриншот на диск а брать его из переменной и открывать?
 
 Top
Zireael
Отправлено: 02 Июня, 2019 - 13:20:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4384
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
А можно как то не сохраняя скриншот на диск а брать его из переменной и открывать?

 Цитата:
visualwindow- Выводит часть изображения выбранного окна, файла или экрана поверх всех окон или на диалоговое окно

(Добавление)
CODE:
int count=3; // сколько координат нужно получить
win w=window (-1, "Edit", window (-1, "Notepad", -1)); // указатель на окно (блокнот в данном случае)

if(w) // если окно найдено
{
new int x[count]; // массив для координат X
new int y[count]; // массив для координат Y
new int scr[w.width+1][w.height+1]; // или клиентские координаты w.widthclient w.heightclient если указатель на главное окно

screen (#scr[0][0], 0, 0, w.width, w.height, w); // сделать скрин
visualwindow(0, 0, 0, sizearray(scr), sizearray(scr[]), 0, 0, 100, #scr[0][0]); // вывести

textbkcolor(255, 16637860);
for(int i=0; i<count; i++)
{
textout(0, 500, 500, "Получить x["+format(i)+"], y["+format(i)+"]", 0);
while(getkeystate(192)==0)sleep(10);// Ждем когда будет нажата Ё, чтобы получить координаты
while(getkeystate(192))sleep(10); // ждать когда будет отпущена Ё
getmouse(x[i], y[i]); // получаем координаты курсора
}

resettextout(1);

if(fopen ("C:\koordinaty.txt", "w")) // открыть файл для записи
{
for(i=0; i<count; i++) // для всех координат
{
fwrite(format(x[i])+", "+format(y[i])); // записывать координаты X и Y
fwrite(ENDL); // перенос строки
}
fclose();
start("C:\koordinaty.txt");
}
}
else messagebox("Окно не найдено");
 
 Top
Budni
Отправлено: 02 Июня, 2019 - 13:53:30
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2018  
Репутация: 2




Zireael , Спасибо огромное, а можно как то увеличивать, уменьшать скриншот?
 
 Top
Zireael
Отправлено: 02 Июня, 2019 - 13:59:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4384
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
а можно как то увеличивать, уменьшать скриншот?

 Цитата:
visualwindow(0, 200, 250, 300, 320, 10, 10 , 100, #Image_0[0][0]);
параметры:
1 - порядковый номер вывода изображения. от 0 до 1000.
2-5 - рамка захвата (клиентские координаты по указателю w)
6-7 - позиция вывода на экран изображения (экранные координаты)
8 - масштаб вывода
9 - указатель на окно или двухмерный массив int в котором хранится изображение или -1 если получаем снимок экрана
 
 Top
Budni
Отправлено: 02 Июня, 2019 - 14:02:52
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2018  
Репутация: 2




 Zireael пишет:
 Цитата:
а можно как то увеличивать, уменьшать скриншот?

 Цитата:
visualwindow(0, 200, 250, 300, 320, 10, 10 , 100, #Image_0[0][0]);
параметры:
1 - порядковый номер вывода изображения. от 0 до 1000.
2-5 - рамка захвата (клиентские координаты по указателю w)
6-7 - позиция вывода на экран изображения (экранные координаты)
8 - масштаб вывода
9 - указатель на окно или двухмерный массив int в котором хранится изображение или -1 если получаем снимок экрана

Имею в виду как в инструменте быстрого создания схем?
(Добавление)
И ещё окно мерцает сильно при запуске в игре, можно это как то исправить?
 
 Top
Kibor
Отправлено: 02 Июня, 2019 - 15:06:44
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Budni пишет:
И ещё окно мерцает сильно при запуске в игре, можно это как то исправить?

Игра тоже хочет обновить экран и вывести свое изображение.
Исправить это можно только если прорисовывать непосредственно на холсте котором рисует игра перед выводом изображения. То есть никак.
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by