Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Таймер На Prompt
Zeleax
сообщение 22.3.2011, 8:46
Сообщение #1


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Darkmaster
Цитата
Нужен таймер на prompt - вынеси отдельный поток для отслеживания его окна и выполнения нужных действий при твоем отсутствии.

А можно на такой код поглядеть? (IMG:style_emoticons/default/smile.gif)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.3.2011, 13:43
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27721
Пользователь №: 11.279



1 скрипт
Код

// Кусок из рабочего скрипта
set $Profile0 ДК 3.1.3
set $Profile1 Дерево
set $Profile2 Пал
set $Profile3 Пусто
set $Profile4 Пусто
//Далее необходимо указать клиенты, которые
// вы будите использовать в профилях.
// Указывать необходимо папку с WOW.
// Количество клиентов не ограничено.
set %ClientList[1] M:\WOW 3.0.13
set %ClientList[2] M:\WOW 3.3.2
set %ClientList[2] M:\WOW 2.4.3
set %ProfileList[1] $Profile0
set %ProfileList[2] $Profile2
set %ProfileList[3] $Profile3
set %ProfileList[4] $Profile4
set %ProfileList[5] $Profile5
set $Profile prompt ($Profile1 $Profile2 $Profile3 $Profile4 Новый)// Предложение выбора профиля

2 скрипт
Код
set #handle findwindow ("UoPilot Prompt") // Без кавычек будет забавная фича.
wait 100
if #handle > 0
    set #timeout timer + 30000 // 30 секунд на выбор.
    while #handle > 0 and #timeout > timer
        set logging #handle
        wait 100
        set #handle findwindow ("UoPilot Prompt") // Без кавычек будет забавная фича.
    end_while
    if #timeout < timer
        msg СЮДА ПИСАТЬ ДЕЙСТВИЯ.
        showwindow #handle
        sendex @{F4}
    end_if
end_if


Сообщение отредактировал DarkMaster - 22.3.2011, 16:57


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_LESTAT_
сообщение 22.3.2011, 21:12
Сообщение #3


****

Apprentice
Сообщений: 103
Регистрация: 12.3.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.512
Возраст: 25



Это работает ?
Я как раз нечто подобное просил в пожеланиях, но чтоб реализовать можно одной строчкой, а не писать в скрипте поэму, для выполнения такого простого действия.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 22.3.2011, 21:44
Сообщение #4


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



А можно узнать поподробнее, как это можно было бы реализовать 1 строчкой?
И насколько часто такое бывает нужно, тоже.


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.3.2011, 22:51
Сообщение #5


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27721
Пользователь №: 11.279



работает...

хз... мне за все время таймер по не активности не был нужен никогда. выбор частенько использую, но там и встроенного хватает. ничего страшного в 15(включая две строки wait 100 для снижения нагрузки специально посчитал) строчках не вижу...

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

Код

get mouse_pos #xLast #yLast
set #detected 0

start
get mouse_pos #x #y
if ( #x <>#xLast ) or ( #y <>#yLast )
    if #detected = 1
        if #targetTime < timer
            set #detected 0
            СЮДА ПИШЕМ ЧТО СДЕЛАТЬ ПРИ ПРОСТОЕ(запуск/остановка скрипта, изменение переменной и т.д.)
        end_if
    else
       set #targetTime timer + 25000 // ВРЕМЯ ПРОСТОЯ
       set #detected 1
    end_if
else
    set #detected 0
end_if
set #xLast #x
set #ylast #y
goto start


Сообщение отредактировал DarkMaster - 22.3.2011, 23:06


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 23.3.2011, 7:58
Сообщение #6


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



DarkMaster
Слушай, здорово!
Вот такие мелкие полезные скрипты с комментами нужно собирать в какую-то отдельную тему (жестко модерируемую, чтоб не было флуда). Туда еще можно добавить пробразование hex->dec и т.п.


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_LESTAT_
сообщение 23.3.2011, 16:03
Сообщение #7


****

Apprentice
Сообщений: 103
Регистрация: 12.3.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.512
Возраст: 25



Для DarkMaster
А может скрипт отличить движение реальной мыши, от движения мыши другими скриптами, просто у меня, в некоторые скрипты прописано реальное движение, типа kleft, moveto . А так же движение небольшими макросами. Можно ли как то заставить скрипт не реагировать, на движения мыши начатые макросом или другими скриптами. А реагировать только когда двигают реальную мышь ? Или это не возможно.
Так же интересно, насчет перехвата любой клавиши. Даже когда окно пилота неактивно.
Спасибо за ответы и интересные решения.


Так же незнаете ли как можно сделать окно логов, чтобы оно показывалось поверх всех окон, и желательно полу прозрачным ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 23.3.2011, 16:09
Сообщение #8


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27721
Пользователь №: 11.279



Клавиши пилот не в состоянии перехватывать для этих целей(извратиться можно но это будет не юзабельно). Отличить движение мыши скриптовое от пользовательского не возможно, однако можно ставить скрипт-детектор на паузу при перемещении мышки, возвращать в исходное положение и возобновлять работу детектора:
get mouse_pos #x #y
pause_script 2
move/kleft/right(и т.д.) #x2, #y2
move #x1, #x2
resume_script 2


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ГАВАР
сообщение 25.8.2021, 10:18
Сообщение #9


**

Neophyte
Сообщений: 13
Регистрация: 19.8.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 20.049
Возраст: 31



Добрый день. с left kleft работает. А вот когда попадает на Ждать нет. К примеру: Работает скрипт тут на весь экран РАЗРЫВ СОЕДИНЕНИЯ и Т.Д и ждёт не делая нужного действия ( КНОПКА ПЕРЕЗАГРУКА)
while_not 1075, 384 2831929 abs
wait 5000
end_while

Как сделать чтоб срабатывало на while_not ? Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 25.8.2021, 17:15
Сообщение #10


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Если применяется оператор wait, то по сути - это приостановка работы скрипта. Для анализа чего-либо во время ожидания, надо использовать циклы с использованием таймеров, внутри которых анализировать всё что требуется в течение заданного промежутка времени. Определить движение мышки? А что тут невозможного? Если её двигают скрипты, следовательно можно контролировать это через любой пользовательский лог, если конечно не задаётся большой рандом по координатам. Вопрос в способе передачи данных между скриптами. Как это делать в lua было показано в отдельной теме.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ГАВАР
сообщение 26.8.2021, 12:12
Сообщение #11


**

Neophyte
Сообщений: 13
Регистрация: 19.8.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 20.049
Возраст: 31



ОЧЕНЬ познавательной ответ. Хорошо помог.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 26.8.2021, 16:55
Сообщение #12


****

Apprentice
Сообщений: 283
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8463
Пользователь №: 19.451
Возраст: 32



А в чем суть вопроса? Когда разрыв соединения дожать реконекта?
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ГАВАР
сообщение 27.8.2021, 8:15
Сообщение #13


**

Neophyte
Сообщений: 13
Регистрация: 19.8.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 20.049
Возраст: 31



Цитата(Madeus @ 26.8.2021, 16:55) *

А в чем суть вопроса? Когда разрыв соединения дожать реконекта?

Доброе Утро. Есть код который выше прописан. в этом коде прописаны мои действия например : left kleft и т.д. Код работает появляется к примеру на экране табло Разрыв соединения с сервером или Реклама и т.д. то есть скрипт получается не работает. Включается через указанное время делает что мне надо это Перезагрузить страницу сработало всё хорошо делает дальше что надо. НО ЕСЛИ в моём скрипте есть WHILE_NOT он не срабатывает дёргается на этом месте Ждёт. Как сделать чтоб код срабатывал и с WHILE_NOT. Скрипр формат Пилота не Lua. Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 23.4.2024, 11:49
Designed by Nickostyle