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


 Помощь      Поиск      Пользователи

 

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

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

> Без описания
Zireael
Отправлено: 08 Декабря, 2019 - 04:16:57
Post Id



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


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




https://drive.google.com/open?id...u6lmS4cXIdDYzaFJ
В архиве длл и примеры использования. Саму длл закинуть в папку с кибор.

Длл позволяет рисовать на экране некоторые фигуры и текст.
Все объекты выводятся поверх всех окон. Отображаются в порядке их первого вызова, т. е. если сначала вывели текст, а поверх него нарисовали прямоугольник, то текста не будет видно, потому что текст будет закрашен.
Функции достаточно вызвать 1 раз, они будут работать до их отключения. Можно вызывать их повторно, если требуется изменить какие-то параметры.

Остановка скрипта кибор не приведёт в отключению вывода, убрать с экрана нарисованные объекты можно:
1. Вызвать функцию disable_item(), потом можно включить отключенные объекты.
2. Вызвать функцию end_paint(), все объекты уничтожаются.
3. Нажать Ctrl+Alt+Z, тоже самое что вызов end_paint().
4. Закрыть кибор.


Функции:
begin_paint - начать рисовать
end_paint - закончить рисовать
rectangle - нарисовать на экране прямоугольник
circle - нарисовать окружность
ellipse - нарисовать эллипс
line - нарисовать линию
textout - вывести текст
image - вывести картинку из bmp файла
enable_item - включить отображение объекта
disable_item - отключить отображение объекта

Параметры функций:
CODE:
begin_paint(); // вызывается без параметров
end_paint(); // вызывается без параметров


CODE:
rectangle(0, 100, 10, 250, 100, 0, 5, 255, 16633191, 0, 0); // прямоугольник

1 - порядковый номер от 0 до 999
2-5 - координаты, левый верхний угол и правый нижний
6 - тип линии контура: 0 - сплошная, 1 - тире, 2 - точки, 3 - чередующиеся тире и точки, 4 - чередующиеся тире и две точки, 5 - невидимый
7 - толщина контура
8 - цвет контура
9 - цвет фона, если -1, то фон будет прозрачным
10 - 11 - ширина и высота радиусов углов

CODE:
circle(0, 100, 100, 40, 0, 5, 255, 16633191); // окружность

1 - порядковый номер от 0 до 999
2 - центр окружности по X
3 - центр окружности по Y
4 - радиус окружности
5 - тип линии контура (см. описание rectangle)
6 - толщина контура
7 - цвет контура
8 - цвет фона, если -1, то фон будет прозрачным

CODE:
ellipse(0, 100, 100, 180, 160, 0, 4, 255, 16633191); // эллипс

1 - порядковый номер от 0 до 999
2-5 - координаты, левый верхний угол и правый нижний
6 - тип линии контура
7 - толщина контура
8 - цвет контура
9 - цвет фона, если -1, то фон будет прозрачным

CODE:
line(0, 100, 20, 300, 20, 0, 4, 255); // линия

1 - порядковый номер от 0 до 999
2-5 - координаты, левый верхний угол и правый нижний
6 - тип линии контура
7 - толщина линии
8 - цвет линии

CODE:
Textout(3, 100, 350, "Текст Text", 65280, 255, "Arial", -24, 0,0,0,0,1,0,0); // текст

1 - порядковый номер от 0 до 999
2 - координата X
3 - координата Y
4 - текст
5 - цвет текста
6 - цвет фона, если -1, то фон прозрачный
7 - имя шрифта
8 - размер шрифта
9 - расстояние между символами
10 - угол наклона текста
11 - хз за что отвечает, см. описание CreateFontA winapi
12 - толщина символов, от 0 до 900
13 - курсив, 0|1
14 - подчёркнутый, 0|1
15 - зачёркнутый, 0|1

CODE:
image(0, 200, 50, 200, "C:\123.bmp", -1); // изображение

1 - порядковый номер от 0 до 999
2 - координата X
3 - координата Y
4 - масштаб в процентах
5 - путь к изображению в формате bmp, функция вернёт -1 если изображение не найдено
6 - цвет, который считается прозрачным. Если -1, то выводит картинку как есть.

CODE:
disable_item("rectangle", 2); // отключение отображения объекта

1 - какой объект не требуется отображать: "rectangle", "circle", "ellipse", "line", "textout", "image".
2 - порядковый номер объекта. Если -1, то отключит отображение всех объектов указанного типа.

CODE:
enable_item("rectangle", 2); // включение отображения объекта

1 - какой объект требуется отобразить, если ранее он был отключен: "rectangle", "circle", "ellipse", "line", "textout", "image".
2 - порядковый номер объекта. Если -1, то включит отображение всех, ранее отключенных, объектов указанного типа.


Если будут баги или надо что-то изменить/добавить, пишите может доделаю.
 
 Top
007wan
Отправлено: 08 Декабря, 2019 - 10:07:25
Post Id



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


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




Почему мне кажется, что это где-то есть? Зачем изобретать велосипед заного? Не сомненно эти функции проще в использовании , например, не придется расчитывать ширину прямоугольника, высчитывая начальные и конечные координаты.
Помоги лучше придумать как указать стиль диалогу, что бы его края были острые, а кнопки Закрыть, Свернуть и др, не пропадали.
 
 Top
Zireael
Отправлено: 23 Января, 2020 - 16:18:11
Post Id



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


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




https://drive.google.com/open?id..._dS7Ii7iHbOKg3bO
Исправил передачу параметров с виде string.
Теперь все функции возвращают INT, а не VOID.
CODE:
external(INT, "begin_paint", "begin_paint", pathfolder()+"Draw.dll");
external(INT, "Textout", "textout", pathfolder()+"Draw.dll");

string s="Tahoma";
begin_paint();

Textout(0, 50, 0, "Остановить скрипт Ctrl+Shift+Z", 16000000, 65280, "Arial", -28, 0,0,0,0,0,0,0);
Textout(1, 50, 40, "Отключить вывод текста Ctrl+Alt+Z", 255, 65280, "Arial", -28, 0,0,0,0,0,0,0);

int x=0;
loop()
{
Textout(2, 100, 170, s+" "+format(x), 255, 65279, s, -24, 0,0,0,0,0,0,0);
x++;
sleep(50);
}
 
 Top
Kutuz_off
Отправлено: 05 Февраля, 2020 - 20:45:25
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 28
Дата рег-ции: Окт. 2016  
Репутация: 0
Карма 0




Теперь натолкнулся на следующую проблему: не обрабатываются вводные переменные типа double.

пример:
rectangle(254, S_X0+GSf_cbTX0+12*s_d, S_Y0+GSf_cbTY0+15*s_d, S_X0+GSf_cbTX0 +120*s_d, S_Y0+GSf_cbTY0 +40*s_d, 0, 1, 772211, -1, 0, 0);

- функция ничего не выводит, пока не убрать *s_d. Файл поменял, VOID сменил на INT. - не помогло. (s_d типа double)

(Отредактировано автором: 05 Февраля, 2020 - 21:00:28)

 
 Top
Zireael
Отправлено: 05 Февраля, 2020 - 21:19:24
Post Id



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


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




 Цитата:
s_d типа double

Функции принимают int.
CODE:
int S_X0 = 10;
int GSf_cbTX0 = 10;
double s_d = 5.2;
messagebox(S_X0+GSf_cbTX0+12*s_d);

Нужно так:
CODE:
int S_X0 = 10;
int GSf_cbTX0 = 10;
double s_d = 5.2;
int result=S_X0+GSf_cbTX0+12*s_d; // присвоить результат переменной int
messagebox(result); // потом передавать в функцию
 
 Top
Kutuz_off
Отправлено: 06 Февраля, 2020 - 12:10:52
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 28
Дата рег-ции: Окт. 2016  
Репутация: 0
Карма 0




Кажется, не хватает расширить буфер под цвет. Не съедает самые яркие тона.

Не работает:
rectangle(248, _LO_X0, _LO_Y0, _LO_X1, _LO_Y1, 0, 1, 15790320, -1, 0, 0); // показать обл поиска
(цвет брал пипеткой кибора)

Работает:
rectangle(248, _LO_X0, _LO_Y0, _LO_X1, _LO_Y1, 0, 1, 14790320, -1, 0, 0); // показать обл поиска

...

Хотя нет... - остальные работают. Цвет невидимости что ли?)
(это серый цвет, взят с краешка окна кибора)

(Отредактировано автором: 06 Февраля, 2020 - 12:19:57)

 
 Top
Zireael
Отправлено: 06 Февраля, 2020 - 12:24:54
Post Id



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


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




 Цитата:
15790320

Это системный цвет фона диалога при стандартной теме винды. rgb(240, 240,240).
 Цитата:
COLOR_3DFACE - Face color for three-dimensional display elements and for dialog box backgrounds.

Рисование происходит на диалоге, который поверх всех окон. Да, этот цвет прозрачный.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Готовые скрипты »


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




Powered by