Evgeniy-39rus |
Отправлено: 05 Декабря, 2024 - 14:17:07
|


Участник

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

|
Zireael , Kibor , Здраствуйте. подскажите как называется блок функции куда можно вставить блоки поиска изображения с блоками мыши. Что бы блоки в логике переходили на эту функцию и после её прохождения логика шла далее. так как есть одинаковые этапы в логике, которые по сути дублируются.
Или название видео где можно этому научиться.
(Добавление)
Zireael пишет: Цитата: Подскажите как сделать бота работающего в свёрнутой игре.
В свёрнутых окнах не выводится графика. Возможно будут клики работать, но скрин с окна не получить.
Можно запустить виртуальную машину, VirtualBox или подобное. В ней запустить игру и кибор. Окно ВМ можно будет свернуть.
Спасибо, понял, пока такой вариант не рассматриваю, в дальнейшем возможно протестирую и такое. |
|
|
Evgeniy-39rus |
Отправлено: 06 Декабря, 2024 - 13:46:32
|


Участник

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

|
Zireael , спасибо за помощь.
подскажите как прописать действие не от комбинации, а от нажатия одной клавиши?
function getmessage(2, WM_CREATE)
{
RegisterHotKey(gethwnd(2), 1111, MOD_ALT, formatci("C")); // ALT + C
RegisterHotKey(gethwnd(2), 1112, MOD_ALT, formatci("X")); // ALT + X
}
сейчас так, а хочу 1111 пробел, 1112 Х
(Добавление)
пробел старт/стоп
Х закрыть программу |
|
|
Evgeniy-39rus |
Отправлено: 06 Декабря, 2024 - 22:31:50
|


Участник

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

|
#define MOD_NONE 0x0000 // Без модификаторов
#define VK_Z 0x5A // Исправленный код клавиши Z
#define VK_X 0x58 // Код клавиши X
external(INT, "RegisterHotKey", "RegisterHotKey", "User32.dll");
int StopScript = 1;
createdialog(2);
enabletimer(0);
sleep(200);
CREATE_TIMER(0, 100)
{
while (StopScript) sleep(10);
}
function getmessage(2, WM_CREATE)
{
RegisterHotKey(gethwnd(2), 1111, MOD_NONE, VK_Z); // Регистрация клавиши Z
RegisterHotKey(gethwnd(2), 1112, MOD_NONE, VK_X); // Регистрация клавиши X для выхода
}
function getmessage(2, WM_HOTKEY)
{
if (message.wparam == 1111)
{
beep(500, 300);
if(StopScript) StopScript = 0;
else StopScript = 1;
}
if(message.wparam==1112)
{
beep(500, 1000);
close();
}
}
вот этот код в блок старт, получилось собрать |
|
|
Zireael |
Отправлено: 08 Декабря, 2024 - 00:09:19
|


Эксперт

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

|
Сделать скрин экрана, либо части экрана, которая точно должна измениться. В таймере раз в 2 минуты искать этот скрин на экране. Если не совпал значит бот работает, сделать новый скрин, если совпал значит ничего не изменилось, бот не работает, перейти на метку вначале скрипта.
Пример ожидания когда на экране произойдут изменения:
CODE:int PosX, PosY;
int Image0[3000][3000];
int Coord[4] = {0, 0, 1920, 1080}; // координаты, по которым будет сделать скрин
sleep(500);
screen (#Image0[0][0], Coord[0], Coord[1], Coord[2], Coord[3], -1);
loop()
{
int result = findimage(1, #Image0[0][0], -1, #PosX, #PosY, Coord[0], Coord[1], Coord[2], Coord[3], 0,0,0,0,0,0,100,1,-1);
if (result == 0)
{
messagebox("На экране произошли изменения");
break;
}
sleep(300);
} (Отредактировано автором: 08 Декабря, 2024 - 00:21:53) |
|
|
|