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

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

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

> Без описания
faryatiev
Отправлено: 30 Декабря, 2023 - 15:46:32
Post Id



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


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




textout(0, 100, 50, "текст", 0);

или

textout(0, 100, 50, format(#t[0])+"----------", 0);

у меня на ноутбуке текст успешно выводится поверх игры, а на компьютере текст виден, только когда окно игры свернуть.

Что с этим можно сделать?
 
 Top
Zireael
Отправлено: 30 Декабря, 2023 - 16:05:28
Post Id



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


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




Так тоже?:
CODE:
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "TextOut", "TextOutA", "Gdi32.dll");

int HDC = GetDC(0);
loop()TextOut(HDC, 200, 100, "qwerty", 6);


Такое поведение только с этой игрой или другими тоже?
(Добавление)
Ещё можно такой вариант использовать:
CODE:
#define LWA_COLORKEY 0x00000001
#define GWL_STYLE -16
#define GWL_EXSTYLE -20
#define COLOR_3DFACE 15
#define WS_EX_LAYERED 0x00080000
#define WS_EX_TRANSPARENT 0x00000020
#define WS_VISIBLE 0x10000000
#define RUSSIAN_CHARSET 204
#define TRANSPARENT 1
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "TextOut", "TextOutA", "Gdi32.dll");
external(INT, "CreateSolidBrush", "CreateSolidBrush", "Gdi32.dll");
external(INT, "SelectObject", "SelectObject", "Gdi32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "SetBkMode", "SetBkMode", "Gdi32.dll");
external(INT, "SetBkColor", "SetBkColor", "Gdi32.dll");
external(INT, "SetTextColor", "SetTextColor", "Gdi32.dll");
external(INT, "GetSysColor", "GetSysColor", "User32.dll");
external(INT, "SetLayeredWindowAttributes", "SetLayeredWindowAttributes", "User32");
external(INT, "GetWindowLong", "GetWindowLongA", "User32");
external(INT, "SetWindowLong", "SetWindowLongA", "User32");

createdialog(2);
int DisplayColor, DisplayHeight, DisplayWidth;
int HWND = gethwnd(2);
int crKey = GetSysColor(COLOR_3DFACE);
SetWindowLong(HWND,GWL_STYLE, WS_VISIBLE);
SetWindowLong(HWND,GWL_EXSTYLE, WS_EX_LAYERED + WS_EX_TRANSPARENT);
SetLayeredWindowAttributes(HWND, crKey, 0, LWA_COLORKEY);
getdisplay(DisplayColor, DisplayHeight, DisplayWidth);
int HDC = GetDC(HWND);
int Font = CreateFont(-48, 0, 0, 0, 0, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial"); // шрифт
SelectObject(HDC, Font);
SetTextColor(HDC, rgb(255, 0, 0)); // цвет текста
SetBkColor(HDC, rgb(0, 255, 0)); // цвет фона
showdialog(2, "", 0, 0, DisplayHeight, DisplayWidth, 0, 1);
pause(1000);


int x = 0;
loop()
{
TextOut(HDC, 200, 100, format(x), size(format(x)));
x++;
sleep(100);
}

(Отредактировано автором: 30 Декабря, 2023 - 16:06:32)

 
 Top
faryatiev
Отправлено: 30 Декабря, 2023 - 18:23:09
Post Id



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


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




Zireael , спасибо!

Я играю только в одну игру, так что о других не могу сказать.

Ваш второй вариант рабочий, правда, в моём случае сильно мерцает, но разглядеть можно.

CODE:
external(INT, "GetKey", "GetKeyState", "user32.dll");
external (INT, "mciSendString", "mciSendStringA", "Winmm.dll");

char t[4];

#define LWA_COLORKEY 0x00000001
#define GWL_STYLE -16
#define GWL_EXSTYLE -20
#define COLOR_3DFACE 15
#define WS_EX_LAYERED 0x00080000
#define WS_EX_TRANSPARENT 0x00000020
#define WS_VISIBLE 0x10000000
#define RUSSIAN_CHARSET 204
#define TRANSPARENT 1
external(INT, "GetDC", "GetDC", "User32.dll");
external(INT, "TextOut", "TextOutA", "Gdi32.dll");
external(INT, "CreateSolidBrush", "CreateSolidBrush", "Gdi32.dll");
external(INT, "SelectObject", "SelectObject", "Gdi32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "SetBkMode", "SetBkMode", "Gdi32.dll");
external(INT, "SetBkColor", "SetBkColor", "Gdi32.dll");
external(INT, "SetTextColor", "SetTextColor", "Gdi32.dll");
external(INT, "GetSysColor", "GetSysColor", "User32.dll");
external(INT, "SetLayeredWindowAttributes", "SetLayeredWindowAttributes", "User32");
external(INT, "GetWindowLong", "GetWindowLongA", "User32");
external(INT, "SetWindowLong", "SetWindowLongA", "User32");

createdialog(2);
int DisplayColor, DisplayHeight, DisplayWidth;
int HWND = gethwnd(2);
int crKey = GetSysColor(COLOR_3DFACE);
SetWindowLong(HWND,GWL_STYLE, WS_VISIBLE);
SetWindowLong(HWND,GWL_EXSTYLE, WS_EX_LAYERED + WS_EX_TRANSPARENT);
SetLayeredWindowAttributes(HWND, crKey, 0, LWA_COLORKEY);
getdisplay(DisplayColor, DisplayHeight, DisplayWidth);
int HDC = GetDC(HWND);
int Font = CreateFont(-48, 0, 0, 0, 0, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial"); // шрифт
SelectObject(HDC, Font);
SetTextColor(HDC, rgb(255, 0, 0)); // цвет текста
SetBkColor(HDC, rgb(0, 255, 0)); // цвет фона
showdialog(2, "", 0, 0, DisplayHeight, DisplayWidth, 0, 1);
pause(1000);

ex:

int x0 = 0;

//resettextout(0);

loop(200)
{

x0++;

mciSendString("status waveLevel level", address(#t[0]), 16, 3);

//TextOut(HDC, 200, 100, format(x0), size(format(x0)));

textout(0, 200, 100, format(#t[0])+"----------", 0);

if (formatsn(format(#t[0]))>50)

{
mouse (RIGHT);

sleep(rand(1700,1900));

goto ex:;

}
sleep(100);
}

(Отредактировано автором: 30 Декабря, 2023 - 18:32:33)

 
 Top
Zireael
Отправлено: 30 Декабря, 2023 - 18:41:21
Post Id



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


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




 Цитата:
в моём случае сильно мерцает

Так не используйте textout.
 
 Top
faryatiev
Отправлено: 30 Декабря, 2023 - 18:42:34
Post Id



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


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




 Zireael пишет:
 Цитата:
в моём случае сильно мерцает

Так не используйте textout.


Не понял, а что использовать? Мне надо вывести уровень звука.

(Отредактировано автором: 30 Декабря, 2023 - 18:43:32)

 
 Top
Kibor
Отправлено: 30 Декабря, 2023 - 18:46:47
Post Id



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


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




 faryatiev пишет:
а что использовать?

Можно использовать еще
CODE:
kiborlog (0, "Текст", 5, 5, 300, 250);
(для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Zireael
Отправлено: 30 Декабря, 2023 - 18:47:05
Post Id



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


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




 Цитата:
а что использовать?

TextOut.
 
 Top
faryatiev
Отправлено: 30 Декабря, 2023 - 18:53:22
Post Id



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


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




 Zireael пишет:
 Цитата:
а что использовать?

TextOut.


Ого, я думал это одно и то же. Теперь всё красиво. Спасибо огромное.
Внешняя функция. Я понял.

(Отредактировано автором: 30 Декабря, 2023 - 19:01:54)

 
 Top
resident
Отправлено: 30 Декабря, 2023 - 23:27:07
Post Id



Пользователь
Участник


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




 Zireael пишет:
Так тоже?:

Есть что-нибудь для написания текста в созданном скриншоте?
screen(#scr[0][0],0,0,1280,720,w);
//добавляем текст на скриншот
saveimage(BMP, #scr[0][0], "screenshot_"+format(ts)+".bmp"Подмигивание; // сохраняем скриншот с текстом
Я представляю как это сделать, но не так сильно надо, чтоб разрабатывать это
 
 Top
Zireael
Отправлено: 30 Декабря, 2023 - 23:58:42
Post Id



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


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




 Цитата:
Есть что-нибудь для написания текста в созданном скриншоте?

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


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




Powered by