Помощь - Поиск - Пользователи - Календарь
Полная версия: Копирование текста с записью в Log
UoKit.com Форумы > Кликер > UO Pilot
Fors1k
Что надумал я сам:
Код

1            double_left 796, 469 // координаты строки
2            left 796, 469            // третий клик, т.к. двойной выделит 1 слово, тройной всю строку
3            wait 30                    // зачем-то ждем
4            sendex ^c               // вроде как получаем выделенное в буфер
5            get clipboard $c       // пишем содержимое буфера в переменную $c
6            log получено: $c     // по идее в логе увидим например " Получено: 74% "
7            set workwindow 4065370   // скрипт пошел дальше по своим делам....
8            wait 30                               // .....
9            left 3293, 156                       // ....


Запускаю скрипт. Доходит до строчки 6 и зависает. В лог ничего не выводит, дальше выполнение скрипта не продолжает.

Цель:
В браузере определенном месте (х,у) есть строка с цифрами. Их нужно скопировать, (ну видимо предварительно выделив), получить пилотом, записать в лог, пойти дальше выполнять скрипт.
По форуму лазил, пробовал разное, но либо буфер не получает, либо доходит до момента записи в лог, и останавливается..
Fors1k
Поменял строку 1 и 2 местами. Скрипт дошел до 6 строки, сделал запись в логе, и смог пойти дальше. Что ему позволило это сделать, не пойму smile.gif
Но, в лог я увидел " Получено: left 796, 469 " // Ну это видимо то, что было в буфере ранее, когда я строки местами менял.
То, что надо, так и не копирует(
Varlock
от перестановки первой и второй строчки местами у тебя буфер заполнился, ранее вероятно пустой(либо с каким-нить файлом или чем-то объёмным что он в переменную уместить не смог). т.к. у меня и так и так сработало, но в лог записало последнюю мной скопированную строчку.

по поводу остального, вместо посылания контрл-це воспользуйся функцией:
GetSelectedText
по моему должно помочь smile.gif

З.Ы. только что почитал соседнюю тему там попался вариант:
Код
sendex_down ^{C}                // зажать Ctrl+C
wait 200
sendex_up ^{C}                  // отпустить Ctrl+C

Возможно будет удобнее или надежнее т.к. cirus тут главный советчик smile.gif
cirus
Делайте паузы.
Код
sendex ^c   
wait 100  // меньше или больше пробуйте            
get clipboard $c  

sendex ^c не всегда работает. Тогда sendex_down используйте.
Кстати, при нажатии Ctrl+C окно браузера должно быть на переднем плане.
Зависать может если в буфере какой-то код пилота.
Fors1k
Цитата(cirus @ 7.2.2018, 2:34) *

Кстати, при нажатии Ctrl+C окно браузера должно быть на переднем плане.

Спасибо, cirus! это оказалось ключевым моментом. Добавил в начале Showwindow 455689 , и все заработало.
В лог результаты пишет, а как бы сделать еще так, что бы полученное в переменную $c, после "get clipboard $c" пилот умножил на 3.8, и вставил результат обратно. Сам поковырялся, но умножение этой переменной никак не клеится(
Upd.
С умножением справился)
cirus
Цитата
Добавил в начале Showwindow 455689

Хендл можно не вписывать, без параметров работает для текущего рабочего окна.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.