Ilya001 |
Отправлено: 07 Сентября, 2021 - 11:24:15
|
Эксперт
Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020
Репутация: 23
|
Попробуйте данный код:
CODE:sleep(100); //засыпаем 100мс
keydown(16); //зажать шифт
mouse(LEFT, 500, 400); //клик левой кнопкой мыши по х,у
sleep(300);
keyup(16); //отпускаем шифт
sleep(100);
Либо так:
CODE:sleep(100);
sendkeydown(16, W_Kib); //W_Kib - стандартный указатель на окно/контроль
mouse(LEFT, 500, 400);
sleep(300);
sendkeyup(16, W_Kib);
sleep(100);
Выше описанный код с использованием sendkeydown/up предназначен для работы с неактивным окном, по этому 'Кибор должен быть запущен после программы в которой будет автоматизация..'(Отредактировано автором: 07 Сентября, 2021 - 11:25:53) |
|
|
Lukash |
Отправлено: 07 Сентября, 2021 - 11:41:50
|
Наблюдатель
Покинул форум
Сообщений всего: 39
Дата рег-ции: Июль 2021
Репутация: 0
|
Ilya001 пишет: Попробуйте данный код:
CODE:sleep(100); //засыпаем 100мс
keydown(16); //зажать шифт
mouse(LEFT, 500, 400); //клик левой кнопкой мыши по х,у
sleep(300);
keyup(16); //отпускаем шифт
sleep(100);
Либо так:
CODE:sleep(100);
sendkeydown(16, W_Kib); //W_Kib - стандартный указатель на окно/контроль
mouse(LEFT, 500, 400);
sleep(300);
sendkeyup(16, W_Kib);
sleep(100);
Выше описанный код с использованием sendkeydown/up предназначен для работы с неактивным окном, по этому 'Кибор должен быть запущен после программы в которой будет автоматизация..'
У меня по активному окну идут действия. У меня в каждом из блоков установлена пауза 200мс перед стартом данного блока и после выполнения действия данного блока:
200мс клик мыши 200мс
200мс нашать на шифт 200мс
200мс двойной клик мыши(пробовал одиночный клик тоже) 200мс
200мс двойной клик мыши 200мс
200мс отпустить шифт 200мс
200мс клик мыши 200мс
Но попробую сделать поправку в самом коде без визуального редактора. Лишь бы не на косячть) а то я не имею познаний с кодами и их основой.
То есть до и после каждого действия у меня стоит задержка.
Единственное в голове крутится попыка увелечения задержки в плоть до 1000мс. Опробовать смогу только часов через 5.если же не выйдет, прийдется шаманить код на распознание текста и внесение этого текста в игре(Отредактировано автором: 07 Сентября, 2021 - 11:44:38) |
|
|
Ilya001 |
Отправлено: 07 Сентября, 2021 - 16:10:47
|
Эксперт
Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020
Репутация: 23
|
Lukash пишет: 200мс клик мыши 200мс
200мс нашать на шифт 200мс
200мс двойной клик мыши(пробовал одиночный клик тоже) 200мс
200мс двойной клик мыши 200мс
200мс отпустить шифт 200мс
200мс клик мыши 200мс
CODE:sleep(200);
keydown(16);
sleep(200);
mouse(LEFT, x, y);
sleep(200);
mouse(LEFT, x, y);
sleep(200);
keyup(16);
sleep(200);
mouse(LEFT, x, y);
sleep(200);
(Добавление)
Lukash пишет: Но попробую сделать поправку в самом коде без визуального редактора.
Протестируйте этот код просто скопировав в Кибор:
CODE:sleep(200);
keydown(16);
sleep(200);
mouse(LEFT, x, y); //x,y координаты надо указать вручную
sleep(200);
mouse(LEFT, x, y);
sleep(200);
keyup(16);
sleep(200);
mouse(LEFT, x, y);
sleep(200); |
|
|
Zireael |
Отправлено: 08 Сентября, 2021 - 01:39:05
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: 22,01 1
В блоке распознавания текста есть галка 'Удалять пробелы'.
Если не менять предметы местами, а просто кликнуть по другому предмету, то после этого сработает клик с шифтом по первому предмету?(Отредактировано автором: 08 Сентября, 2021 - 01:40:52) |
|
|
Dart_Zaiac |
Отправлено: 08 Сентября, 2021 - 01:50:41
|
Участник
Покинул форум
Сообщений всего: 59
Дата рег-ции: Март 2014
Репутация: 0
|
Lukash пишет: Выкрутился с донной проблемы, но решить её не получилось и в дальнейшем могут быть проблемы в торговле.
https://youtu.be/nMFpTZLaygU
1. Русские песни долой. Только отвлекают от твоего голоса.
2. Ты правильно заметил, что mouse зачастую работает хуже, чем mousedown-mouseup. Имеет смысл поменять. Можно прямо отдельную функцию написать, чтобы не сильно увеличивать код.
3. У Альбиона свой шрифт. Убери сглаживание и попробуй поиграться с разрешением. Помни, что для каждого надо учить Кибор заново. Создай продажу мусора за 1234567890 серы и на этом примере учи своего бота.
4.Переносить вещи можно, но всё повторяющееся должно повторяться в цикле. Не надо делать функцию проверки 16 ячеек.
Как бы сделал я.
CODE:X=центр 1й ячейки по Х;
Y=центр 1й ячейки по Y;
H=растояние между центрами ячеек;
while (findimage(1, #EmptySlot[0][0], 0, #PosX_0[0], #PosY_0[0], X-H/2-3, Y-H/2-3, X+H/2+3, Y+H/2+3,Albion)!=1)
{
////
работа с товаром
////
//Проверка следующей ячейки без перетаскивания
X=X+H;
if (X>Albion.width)
{
Y=Y+H;
X=X-4*H;
}
} |
|
|
Lukash |
Отправлено: 08 Сентября, 2021 - 07:52:56
|
Наблюдатель
Покинул форум
Сообщений всего: 39
Дата рег-ции: Июль 2021
Репутация: 0
|
Zireael пишет: Цитата: 22,01 1
В блоке распознавания текста есть галка 'Удалять пробелы'.
Если не менять предметы местами, а просто кликнуть по другому предмету, то после этого сработает клик с шифтом по первому предмету?
в каком то видео я ставил пункт удаление пробелов, но ни чего не изменилось. на всякий случай проверю это отдельно ещё раз. но мне подсказали код с помощью которого можно удалить запятые и пробелы. это помогло...
через программу кибо, не пробовал так делать. но надо проверить.
(Добавление)
Dart_Zaiac пишет: 1. Русские песни долой. Только отвлекают от твоего голоса.
2. Ты правильно заметил, что mouse зачастую работает хуже, чем mousedown-mouseup. Имеет смысл поменять. Можно прямо отдельную функцию написать, чтобы не сильно увеличивать код.
3. У Альбиона свой шрифт. Убери сглаживание и попробуй поиграться с разрешением. Помни, что для каждого надо учить Кибор заново. Создай продажу мусора за 1234567890 серы и на этом примере учи своего бота.
4.Переносить вещи можно, но всё повторяющееся должно повторяться в цикле. Не надо делать функцию проверки 16 ячеек.
Как бы сделал я.
CODE:
X=центр 1й ячейки по Х;
Y=центр 1й ячейки по Y;
H=растояние между центрами ячеек;
while (findimage(1, #EmptySlot[0][0], 0, #PosX_0[0], #PosY_0[0], X-H/2-3, Y-H/2-3, X+H/2+3, Y+H/2+3,Albion)!=1)
{
////
работа с товаром
////
//Проверка следующей ячейки без перетаскивания
X=X+H;
if (X>Albion.width)
{
Y=Y+H;
X=X-4*H;
}
}
виноват. Спасибо. воспользуюсь вашим советом для обучения. в дальнейшем попробую данный код как то освоить и воспользоваться. вся проблема в том, что у меня нет познаний в языке программирования, нет основ. а так было бы на много проще в создании бота+при ошибке сам смог бы её исправить. |
|
|
|