007wan |
Отправлено: 30 Апреля, 2019 - 16:09:53
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Выделено в отдельную тему из темы "Версия 2.07 Отправка сообщений мыши в неактивные и свернутые окна. Работа мыши в фоновом режиме"
CODE:mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
Исполняет как в сказке, даже если много их. Он выполнит одну и перейдет к другой, а есть и похожая, но однако, не работает как нужно.
CODE:mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//выполнит и перейдет к 1
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//1 к 2
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//2 к 3
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//3 к 4
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//4
Вот код:
CODE: sendmousetransfer(LEFT, 200, 100, 845, 450, 0.02, Game);//выполнит
sendmousetransfer(LEFT, 200, 100, 845, 450, 0.02, Game);
sendmousetransfer(LEFT, 200, 100, 845, 450, 0.02, Game);
sendmousetransfer(LEFT, 200, 100, 845, 450, 0.02, Game);
sendmousetransfer(LEFT, 200, 100, 845, 450, 0.02, Game);
Выполнит одну, но потом какие-то скачки идут. Как будто он их пропускает или включаются все одновременно. |
|
|
007wan |
Отправлено: 01 Мая, 2019 - 10:20:41
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Выделено в отдельную тему из темы "Версия 2.07 Отправка сообщений мыши в неактивные и свернутые окна. Работа мыши в фоновом режиме" Забыл упомянуть, что оно выполняется в таймере.
CODE: mouse(LEFT, Image_x[0], Image_y[0], 1, Game);
mouse(LEFT, Image_x[0], Image_y[0], 1, Game);
mouse(LEFT, Image_x[0], Image_y[0], 1, Game);
sleep(500);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
Log(format(#Time[0])+"1.");//это выполняется одновременно с таким же, но время в логе одно и тоже
mousetransfer(LEFT, 573, 454, 194, 133, 0.02, 0, Game);//А должен сначала закончить это и потом уже перейти то, что ниже
Log(format(#Time[0])+"2.");//это выполняется одновременно с таким же, но время в логе одно и тоже
mousetransfer(LEFT, 665, 184, 401, 411, 0.02, 0, Game); |
|
|
007wan |
Отправлено: 01 Мая, 2019 - 11:05:18
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Выделено в отдельную тему из темы "Версия 2.07 Отправка сообщений мыши в неактивные и свернутые окна. Работа мыши в фоновом режиме" Dantes3000 , CODE: Log(format(#Time[0])+"текст1");//1
sleep(5000);//3
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//4
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//5
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//6
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//7
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//8
Log(format(#Time[0])+"текст2");//2
Поставил аж 5 секунд, в результате он всеравно делает не так. Я пронумеровал как это показано в коде. И время в логе не меняется он это делает за считанные миллисекунды
(Добавление)
Это всё в таймере
(Добавление)
Да короче вот весь таймер полностью:
Код (Отобразить)CODE:CREATE_TIMER(2, 1000)
{
Game = window (-1, "GeckoFPSandboxChildWindow", window ("мое окно", "MozillaWindowClass", -1));
if (Game != 0)
{
if(SettingGame == 0)
{
Log(format(#Time[0])+"Идет настройка бота...");
if(findimage(1, #Image_0[0][0], -1, #Image_x[0], #Image_y[0], 0, 0, Game.widthclient, Game.heightclient, Game) > 0)
{
Log(format(#Time[0])+"Обнаружена Image_0.bmp в координатах "+format(Image_x[0])+", "+format(Image_y[0]));
if(format(#Load_Checkbox1[0]) == "1")
{
}
else
{
mouse(LEFT, Image_x[0], Image_y[0], 1, Game);
mouse(LEFT, Image_x[0], Image_y[0], 1, Game);
mouse(LEFT, Image_x[0], Image_y[0], 1, Game);
Log(format(#Time[0])+"Ищу точку отсчета.");
sleep(5000);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
Log(format(#Time[0])+"Перехожу в зону №1.");
mousetransfer(LEFT, 573, 454, 194, 133, 0.02, 0, Game);
Log(format(#Time[0])+"Перехожу в зону №2.");
mousetransfer(LEFT, 665, 184, 401, 411, 0.02, 0, Game);
}
SettingGame = 1;
Log(format(#Time[0])+"Бот настроен.");
}
else
{
StopScript("Не удается найти Image_0.bmp");
}
}
}
else
{
StopScript("Ошибка в работе. Окно игры не найдено.");
}
} |
|
|
Dantes3000 |
Отправлено: 01 Мая, 2019 - 11:12:31
|
Эксперт
Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016
Репутация: 58
|
Выделено в отдельную тему из темы "Версия 2.07 Отправка сообщений мыши в неактивные и свернутые окна. Работа мыши в фоновом режиме"
CODE:Log(format(#Time[0])+"текст1");
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
Log(format(#Time[0])+"текст2"); |
|
|
007wan |
Отправлено: 01 Мая, 2019 - 11:14:38
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Выделено в отдельную тему из темы "Версия 2.07 Отправка сообщений мыши в неактивные и свернутые окна. Работа мыши в фоновом режиме" Dantes3000 , Сейчас попробую, но не уверен, что дело в этом(не успевает отрабатывать все трансферы, только send- не отрабатывает все трансферы, а в mouse только выполняется команды не поочередно)
(Добавление)
Dantes3000 , Суть проблемы в том, что в таймере он выполняет неправильную последовательность команд: У меня выполнил сначала все возможные функции(в данном случаи это Log, она записывает в listbox текст, указанный в вызове функции), потом выполняет sleep, а далее уже сами mousetransfer. А про sendmousetransfer вообще молчу: у меня какие-то рывки появляются может это из-за того, что он не отпускает в конце ЛКМ и потом повторяет ту же операцию, но возвращаясь на тоже место?
(Добавление)
Може из-за того, что функция Log выполняется быстрее, чем mouse-?CODE:Log(format(#Time[0])+"текст1");
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);
Log(format(#Time[0])+"текст2"); |
|
|
007wan |
Отправлено: 01 Мая, 2019 - 15:32:41
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Выделено в отдельную тему из темы "Версия 2.07 Отправка сообщений мыши в неактивные и свернутые окна. Работа мыши в фоновом режиме" Kibor , Я и не сомнивался, но проблема в том, что он выполняет последовательно независимо от того вернулся с места функции или нет.
(Добавление)
т.еCODE:
Log(format(#Time[0])+"текст1");//выполняю 1
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 2
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 3
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 4
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 5
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 6
Log(format(#Time[0])+"текст2");//выполняю 7
А должен:
CODE:
Log(format(#Time[0])+"текст1");//выполняю 1 функцию и возвращаюсь к этому месту после окончания функции
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 2 функцию и возвращаюсь к этому месту после окончания функции
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 3 функцию и возвращаюсь к этому месту после окончания функции
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 4 функцию и возвращаюсь к этому месту после окончания функции
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 5 функцию и возвращаюсь к этому месту после окончания функции
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);sleep(100);//выполняю 6 функцию и возвращаюсь к этому месту после окончания функции
Log(format(#Time[0])+"текст2");//выполняю 7 функцию и возвращаюсь к этому месту после окончания функции
(Добавление)
Тоесть он просто выполняет, но не возвращается после окончания предыдущей, что бы перейти к следующей
(Добавление)
в loop такого нету. он работает как надо |
|
|
Zireael |
Отправлено: 01 Мая, 2019 - 18:17:03
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Выделено в отдельную тему из темы "Версия 2.07 Отправка сообщений мыши в неактивные и свернутые окна. Работа мыши в фоновом режиме"
Цитата: Log(format(#Time[0])+"текст1" );//1
sleep(5000);//3
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//4
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//5
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//6
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//7
mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);//8
Log(format(#Time[0])+"текст2" );//2
Цитата: И время в логе не меняется
А с чего оно должно поменяться? Что было в массиве Time изначально, то и осталось. Тут нет ни одной строки, в которой в этот массив что-то новое записалось. |
|
|
|