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

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

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

> Без описания
Kutuz_off
Отправлено: 24 Ноября, 2018 - 00:46:20
Post Id



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


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




Дано:
Браузерная игра, статичный интерфейс, три вида его отображения (город, над городом+карта, игровая почта)

Задача:
Полностью изменить внешний облик интерфейса без мерцания и тормозов.

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

Вопрос:
Возможно ли решение такой задачи без заметного лага?
Есть ли у кого-нибудь подобные наработки? Кто-нибудь успешно решал подобные задачи?

Спасибо.
 
 Top
Zireael
Отправлено: 24 Ноября, 2018 - 02:05:22
Post Id



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


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




Что-то вроде этого?
CODE:
win desktop=window ("FolderView", "SysListView32", window ("Program Manager", "Progman", -1)); // рабочий стол

createdialog(0);
showdialog(0, "Диалог", 600, 400, 500, 300, 1, 1);

while(window("Диалог")==0)sleep(100); // ждём когда диалог откроется
win dialog=window("Диалог"); // указатель на диалог
visualwindow(dialog, 0, 0, 0, 500, 300, 0, 0, 100, desktop); // вывод на диалог

int x, y;
loop()
{
if(getkeystate(1)==1) // если нажата левая кнопка
{
getmouse(x, y, dialog); // получаем координаты курсора относительно диалога
sendmouse(LEFT, x, y, desktop); // клик левой по рабочему столу
}
sleep(10);
}

Клик левой кнопкой по диалогу будет отсылать клик на рабочий стол.

На счёт изменения скрина, смотря сколько пикселей надо будет перекрасить. Если какие-то мелкие элементы, то можно циклами в самом кибор. Если закрашивать большие области, то это только в длл, иначе будет медленно. И, скорее всего, придётся играться с двумя скринами, пока один выводится, второй перекрашивать, потом выводить второй и перекрашивать первый. Если один и тот же скрин выводить и перекрашивать, то будет мерцание.
 
 Top
Kutuz_off
Отправлено: 24 Ноября, 2018 - 08:56:08
Post Id



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


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




Zireael,

- да, именно это.

- да, интересно научиться работать с длл, был бы рад узнать максимально практичные книжки/мануалы/видео, желательно с более подробными ссылками на темы/резделы, которые так помогут в решении данного вопроса. Думаю тема будет актуальна не только для меня. Уверен, многие начинают программировать с нуля благодаря этой программе и увлечению к играм.

Сейчас задача по перекрашиванию примерно в 600/200 или 900/300px в зависимости от разрешения экрана. Часть работы уже реализовывал (непосредственным выводом на экран, а не в диалог), и было заметно как КИБОР перекрашивает картинку по столбцам. В принципе приемлемо, но только для реализации вывода одного такого изображения, если же нагружать далее - эфект уже будет не тот. Интерфейс который отрисовывается с задержкой не радует глаз. Определенно нужна более быстрая работа с изображениями.
 
 Top
Dantes3000
Отправлено: 24 Ноября, 2018 - 10:54:43
Post Id



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


Покинул форум
Сообщений всего: 1464
Дата рег-ции: Июнь 2016  
Репутация: 58




Нужно изменить сам HUD или абсолютно всё, в т.ч игровой процесс?

Если первое, то проще сделать png картинку и вывести ее на экран поверх HUDа, но кибором лучше этого не делать
 
 Top
Kutuz_off
Отправлено: 24 Ноября, 2018 - 13:58:27
Post Id



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


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




Dantes3000, появится пара новых кнопок упрощающих кооперацию в игре.

Я уже сделал такое в Кибе, и надо сказать: выглядит не очень презентабельно.. даже если сделать вывод более грамотно, на Си (в чем почти не имею опыта) - эффект будет все равно не тот. А в окне - оно смотрится, там можно убрать разные косяки зримые глазу, например занизив время отклика, или просто сделав черный экран загрузки скрывая потроха работы программы.
 
 Top
Dantes3000
Отправлено: 24 Ноября, 2018 - 16:29:23
Post Id



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


Покинул форум
Сообщений всего: 1464
Дата рег-ции: Июнь 2016  
Репутация: 58




Kutuz_off , а не проще сделать диалог с кнопками поверх окна игры?
(Добавление)
.
 Kutuz_off пишет:
Я уже сделал такое в Кибе, и надо сказать: выглядит не очень презентабельно

 Dantes3000 пишет:
но кибором лучше этого не делать


я об этом и говорил
 
 Top
Kutuz_off
Отправлено: 24 Ноября, 2018 - 17:48:28
Post Id



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


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




Dantes3000, это совсем не то что я хочу) Костыли уже есть)
 
 Top
Zireael
Отправлено: 24 Ноября, 2018 - 18:51:28
Post Id



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


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




https://drive.google.com/open?id...-hGv-dQIXj07Nry3
В архиве dll и картинка для примера, закинуть всё в папку с кибор.
Функция paint копирует двухмерный массив int в другой двухмерный массив int.
Принимаемые параметры:
1. Указатель на двухмерный массив int, в который будет копироваться другой массив.
2. Первая размерность массива.
3. Вторая размерность массива.
4. Указатель на двухмерный массив int, который будет копироваться.
5. Первая размерность массива.
6. Вторая размерность массива.
7. Цвет фона. Этот цвет игнорируется при копировании. Т. е., если надо поместить на скрин круг, то надо закрасить всё что не нужно в один цвет, например белый (16777215) и указать его в качестве фона.
8. Позиция X.
9. Позиция Y.
code (Отобразить)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by