UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
Fors1k
В описании на вики такой формат указан, но он, оказывается, и правда не работает. Значит в следующей версии по идее исправят.
Вверх
Glosha
Цитата(Fors1k @ 4.8.2019, 23:53)

код
Код
set #ld linedelay
set linedelay 40
//
set #cw 1 // номер рабочего стола, в котором сейчас находится окно.
set #tw 4 // в какой стол переместить
set workwindow 394820 // окно, которое будем перемещать
//
showwindow workwindow
if #cw < #tw
set #a 2
else
set #a 1
end_if
sendex_down {WindowsLeft}{Tab}
sendex_up {WindowsLeft}{Tab}
wait 350
sendex_down ~{F10}
sendex_up ~{F10}
wait 15
sendex {Down}
sendex {Down}
sendex {Down}
sendex {Right}
repeat #tw - #a
sendex {Down}
end_repeat
sendex {Enter}
sendex {Escape}
set linedelay #ld
end_script



Обновился на вин 1903 и перестало работать, после вин +таб не прожимает выбора стола
Вверх
Fors1k
Цитата(Glosha @ 7.8.2019, 15:05)

Обновился на вин 1903 и перестало работать, после вин +таб не прожимает выбора стола

Попробуй этот
в первой строке: откуда куда окно
Код
call vDesktop 1 2 5116634
end_script
proc vDesktop #iz #v #handle
set linedelay 0
set workwindow #handle
showwindow workwindow
sendex_down {WindowsLeft}{Tab}
sendex_up {WindowsLeft}{Tab}
if  #iz < #v
set #a 2
else
set #a 1
end_if
wait 400
sendex_down ~{F10}
sendex_up ~{F10}
sendex {Down}
sendex {Down}
sendex {Down}
sendex {Right}
repeat #v - #a
sendex {Down}
end_repeat
sendex {Enter}
sendex {Escape}
end_proc

Этот работает побыстрее.
Если не срабатывает, то прибавляй к вэйту по 10, и пробуй, пока не заработает. У всех разная скорость анимации, тебе надо подобрать свою, что бы он успевал.
Лучше подбирать на самом дальнем столе, из всех, которые будут использоваться. Чем дальше стол, из которого нужно перетащить окно, тем больше нужен вэйт. У меня для 8го стола вышло 400мс для безошибочной работы. То есть, если у тебя 3 стола, то подбирай для третьего, и т.д..
Вверх
Glosha
Цитата(Fors1k @ 7.8.2019, 16:36)

Попробуй этот
в первой строке: откуда куда окно
Код
call vDesktop 1 2 5116634
end_script
proc vDesktop #iz #v #handle
set linedelay 0
set workwindow #handle
showwindow workwindow
sendex_down {WindowsLeft}{Tab}
sendex_up {WindowsLeft}{Tab}
if  #iz < #v
set #a 2
else
set #a 1
end_if
wait 400
sendex_down ~{F10}
sendex_up ~{F10}
sendex {Down}
sendex {Down}
sendex {Down}
sendex {Right}
repeat #v - #a
sendex {Down}
end_repeat
sendex {Enter}
sendex {Escape}
end_proc

Этот работает побыстрее.
Если не срабатывает, то прибавляй к вэйту по 10, и пробуй, пока не заработает. У всех разная скорость анимации, тебе надо подобрать свою, что бы он успевал.
Лучше подбирать на самом дальнем столе, из всех, которые будут использоваться. Чем дальше стол, из которого нужно перетащить окно, тем больше нужен вэйт. У меня для 8го стола вышло 400мс для безошибочной работы. То есть, если у тебя 3 стола, то подбирай для третьего, и т.д..


выскакивает в самом начале

ps. фиксанул твой старый код, там лишний "sendex {Down}" был, просто стояла без задержек и не успевал сообразить, что происходило.
Вверх
Fors1k
Цитата(Glosha @ 7.8.2019, 17:21)

выскакивает в самом начале

Не все строки скопировал.
Код
end_proc

Он просит эту строку в конце.
Вверх
FREEON
Цитата(Glosha @ 7.8.2019, 17:21)

ps. фиксанул твой старый код, там лишний down был, просто стояла без задержек и не успевал сообразить, что происходило.

желательно еще определиться с pid процесса(окна)
Вверх
Fors1k
Цитата(Glosha @ 7.8.2019, 17:21)
..., там лишний down был, просто стояла без задержек и не успевал сообразить, что происходило.

Поздравляю, что все заработало)
Вверх
DarkMaster
Цитата
подскажите, а есть ограничения на команды wait ? ну например мне нужно 3 часа ожидания... или лучше такие промежутки заводить через таймер?

Они есть и не очень большие. То ли 3 то ли 4 с чем-то часа. Связано, как я подозреваю, с переполнением переменной. Чтобы избежать таких проблем при больших задержках используйте циклы, как приведено выше.
Вверх
Fors1k
Цитата(DarkMaster @ 9.8.2019, 18:31)
Связано, как я подозреваю, с переполнением переменной.

Wait - это int? Получается он может вместить ~2.15 млрд мс, что равно ~600 часов. Значит даже wait 596h должно работать, разве нет? В описании у вэйта есть параметр h, но чет он сломался.
Вверх
WKnight
Похоже со времен написания wait, символ h был зарезервирован. Скорее всего для указания шестнадцатеричного формата чисел. И wait так невзначай отвалился...
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.