Приобрёл плату Arduino, чтобы использовать её как имитатор клавиатуры и мыши по инструкции(для просмотра ссылки Вам необходимо авторизоваться) т.к. в игре Lost Ark защита не пропускала обычные нажатия, который отправлял Kibor.
Т.к. бота создаю в Визуальном редакторе, задался вопросом, можно ли как-то модифицировать окно Визуального редактора, чтобы в нём в выборе блоков в Эмуляции кроме функций "key" и "mouse" появились функции "_Key_Arduino" и "_Mouse_Arduino", которые используются для Arduino. И если их используешь, то в начале дописывался бы следующий текст для объявления переменных:
CODE:
#define MOUSE_LEFT 1
#define KEY_RETURN 0xB0
#define KEY_TAB 0xB3
string path_to_dll = pathfolder()+"Arduino.dll";
external(INT, "get_port", "get_port", path_to_dll);
external(INT, "set_port", "set_port", path_to_dll);
// Параметры для мыши
external(INT, "get_port", "get_port", path_to_dll);
external(INT, "set_port", "set_port", path_to_dll);
external(INT, "set_delay_mouse", "set_delay_mouse", path_to_dll);
external(INT, "set_delay_mousemove", "set_delay_mousemove", path_to_dll);
external(INT, "set_offset_mousemove", "set_offset_mousemove", path_to_dll);
external(INT, "set_random_delay_mouse", "set_random_delay_mouse", path_to_dll);
external(INT, "mouse_click", "mouse_click", path_to_dll);
external(INT, "mouse_click_dbl", "mouse_click_dbl", path_to_dll);
external(INT, "mouse_drag_left", "mouse_drag_left", path_to_dll);
external(INT, "mouse_drag_right", "mouse_drag_right", path_to_dll);
external(INT, "mouse_left", "mouse_left", path_to_dll);
external(INT, "mouse_left_dbl", "mouse_left_dbl", path_to_dll);
external(INT, "mouse_left_down", "mouse_left_down", path_to_dll);
external(INT, "mouse_left_up", "mouse_left_up", path_to_dll);
external(INT, "mouse_middle", "mouse_middle", path_to_dll);
external(INT, "mouse_middle_dbl", "mouse_middle_dbl", path_to_dll);
external(INT, "mouse_middle_down", "mouse_middle_down", path_to_dll);
external(INT, "mouse_middle_up", "mouse_middle_up", path_to_dll);
external(INT, "mouse_move", "mouse_move", path_to_dll);
external(INT, "mouse_right", "mouse_right", path_to_dll);
external(INT, "mouse_right_dbl", "mouse_right_dbl", path_to_dll);
external(INT, "mouse_right_down", "mouse_right_down", path_to_dll);
external(INT, "mouse_right_up", "mouse_right_up", path_to_dll);
external(INT, "mouse_wheel_down", "mouse_wheel_down", path_to_dll);
external(INT, "mouse_wheel_up", "mouse_wheel_up", path_to_dll);
// Параметры для клавиатуры
external(INT, "set_delay_key", "set_delay_key", path_to_dll);
external(INT, "set_random_delay_key", "set_random_delay_key", path_to_dll);
external(INT, "_key", "key", path_to_dll);
external(INT, "_key_down", "key_down", path_to_dll);
external(INT, "_key_up", "key_up", path_to_dll);
external(INT, "text", "text", path_to_dll);
int com = get_port(2341, 8037); // узнать в каком com порте находится ардуино, передаются VID и PID
if(com==0)
{
messagebox("Arduino с указанными VID и PID не найдено");
}
set_port(com); // установить порт, в него будут отправляться команды из длл
// Параметры для мыши
set_delay_mouse(100); // установить паузу между нажатием и отпусканием кнопок мыши
set_random_delay_mouse(20); // рандом между нажатием и отпускание кнопок мыши
set_delay_mousemove(1); // пауза между каждым шагом перемещением мыши, чем меньше тем быстрее
set_offset_mousemove(2); // шаг перемещения курсора, чем больше, тем быстрее перемещается курсор
// Параметры для клавиатуры
set_delay_key(100); // установить паузу между нажатием и отпусканием клавиш
set_random_delay_key(20); // установить рандом между нажатием и отпусканием клавиш
#define KEY_RETURN 0xB0
#define KEY_TAB 0xB3
string path_to_dll = pathfolder()+"Arduino.dll";
external(INT, "get_port", "get_port", path_to_dll);
external(INT, "set_port", "set_port", path_to_dll);
// Параметры для мыши
external(INT, "get_port", "get_port", path_to_dll);
external(INT, "set_port", "set_port", path_to_dll);
external(INT, "set_delay_mouse", "set_delay_mouse", path_to_dll);
external(INT, "set_delay_mousemove", "set_delay_mousemove", path_to_dll);
external(INT, "set_offset_mousemove", "set_offset_mousemove", path_to_dll);
external(INT, "set_random_delay_mouse", "set_random_delay_mouse", path_to_dll);
external(INT, "mouse_click", "mouse_click", path_to_dll);
external(INT, "mouse_click_dbl", "mouse_click_dbl", path_to_dll);
external(INT, "mouse_drag_left", "mouse_drag_left", path_to_dll);
external(INT, "mouse_drag_right", "mouse_drag_right", path_to_dll);
external(INT, "mouse_left", "mouse_left", path_to_dll);
external(INT, "mouse_left_dbl", "mouse_left_dbl", path_to_dll);
external(INT, "mouse_left_down", "mouse_left_down", path_to_dll);
external(INT, "mouse_left_up", "mouse_left_up", path_to_dll);
external(INT, "mouse_middle", "mouse_middle", path_to_dll);
external(INT, "mouse_middle_dbl", "mouse_middle_dbl", path_to_dll);
external(INT, "mouse_middle_down", "mouse_middle_down", path_to_dll);
external(INT, "mouse_middle_up", "mouse_middle_up", path_to_dll);
external(INT, "mouse_move", "mouse_move", path_to_dll);
external(INT, "mouse_right", "mouse_right", path_to_dll);
external(INT, "mouse_right_dbl", "mouse_right_dbl", path_to_dll);
external(INT, "mouse_right_down", "mouse_right_down", path_to_dll);
external(INT, "mouse_right_up", "mouse_right_up", path_to_dll);
external(INT, "mouse_wheel_down", "mouse_wheel_down", path_to_dll);
external(INT, "mouse_wheel_up", "mouse_wheel_up", path_to_dll);
// Параметры для клавиатуры
external(INT, "set_delay_key", "set_delay_key", path_to_dll);
external(INT, "set_random_delay_key", "set_random_delay_key", path_to_dll);
external(INT, "_key", "key", path_to_dll);
external(INT, "_key_down", "key_down", path_to_dll);
external(INT, "_key_up", "key_up", path_to_dll);
external(INT, "text", "text", path_to_dll);
int com = get_port(2341, 8037); // узнать в каком com порте находится ардуино, передаются VID и PID
if(com==0)
{
messagebox("Arduino с указанными VID и PID не найдено");
}
set_port(com); // установить порт, в него будут отправляться команды из длл
// Параметры для мыши
set_delay_mouse(100); // установить паузу между нажатием и отпусканием кнопок мыши
set_random_delay_mouse(20); // рандом между нажатием и отпускание кнопок мыши
set_delay_mousemove(1); // пауза между каждым шагом перемещением мыши, чем меньше тем быстрее
set_offset_mousemove(2); // шаг перемещения курсора, чем больше, тем быстрее перемещается курсор
// Параметры для клавиатуры
set_delay_key(100); // установить паузу между нажатием и отпусканием клавиш
set_random_delay_key(20); // установить рандом между нажатием и отпусканием клавиш
Модифицированные файлы для визуального редактора:
_Key_Arduino -(для просмотра ссылки Вам необходимо авторизоваться) _Mouse_Arduino -(для просмотра ссылки Вам необходимо авторизоваться)
Примеры для клавиатуры:
CODE:
text("Напечатать этот текст"); // ввести текст
_key(KEY_TAB); // нажать Tab
text("Print this text"); // ввести текст
_key(KEY_RETURN); // нажать Enter
_key('a'); // нажать клавишу a
_key('A'); // нажать SHift+a
pause(2000);
_key_down('z'); // зажать клавишу z
pause(3000); // ждать 3 секунды, клавиша z будет зажата
_key_up('z'); // отпустить клавишу z
_key_down(122); // можно и так, передав код нужной клавиши из таблицы ASCII
pause(3000);
_key_up(122);
_key(KEY_TAB); // нажать Tab
text("Print this text"); // ввести текст
_key(KEY_RETURN); // нажать Enter
_key('a'); // нажать клавишу a
_key('A'); // нажать SHift+a
pause(2000);
_key_down('z'); // зажать клавишу z
pause(3000); // ждать 3 секунды, клавиша z будет зажата
_key_up('z'); // отпустить клавишу z
_key_down(122); // можно и так, передав код нужной клавиши из таблицы ASCII
pause(3000);
_key_up(122);
Примеры для мыши:
CODE:
mouse_move(250, 300); // переместить курсор в нужные координаты
mouse_click(MOUSE_LEFT); // клик левой кнопкой мыши в текущих координатах курсора
pause(1000);
mouse_left(100, 500); // клик левой кнопкой мыши в указанных координатах
pause(1000);
mouse_drag_left(100, 200, 1000, 500); // зажать курсор в координатах 100, 200 и переместить в 1000, 500
pause(1000);
set_offset_mousemove(10); // изменить шаг перемещения курсора
mouse_right(40, 30); // клик правой кнопкой мыши в указанных координатах
mouse_click(MOUSE_LEFT); // клик левой кнопкой мыши в текущих координатах курсора
pause(1000);
mouse_left(100, 500); // клик левой кнопкой мыши в указанных координатах
pause(1000);
mouse_drag_left(100, 200, 1000, 500); // зажать курсор в координатах 100, 200 и переместить в 1000, 500
pause(1000);
set_offset_mousemove(10); // изменить шаг перемещения курсора
mouse_right(40, 30); // клик правой кнопкой мыши в указанных координатах
(Добавление)
UPD. Вроде бы сделал.
Добавил файлы "_Mouse_Arduino" и "_Key_Arduino" в папки "templates" и "templates_web"
И добавил строчки:
Цитата:
_Mouse_Arduino
_Key_Arduino
_Key_Arduino
Во все файлы в папках "profile" и "profile_web" в раздел "SECTION "Эмуляция" 0"
(Добавление)
Только не нашел, как сделать так, чтобы при добавлении новых блоков вначале вставлялся текст с объявлением переменных.