Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot в Lineage II _ не активное окно

Автор: Bare 18.11.2017, 22:54

Подскажите открыл три окна как сделать что бы пилот захватил и другие окна, стали рабочими,скрипт работает только в том окне которое поверх остальных а которые позади не рубит.И еще хотел спросить можно как не будь сделать что бы управлять остальными окнами через первое. например: из первого окна, я нажима 1 а второй мейн садится ?

Автор: cirus 18.11.2017, 23:33

Цитата
открыл три окна как сделать что бы пилот захватил и другие окна, стали рабочими

Код
set %handle findwindow("Lineage2")  // найти окна Lineage2 (вписать имя окна или часть имени)
hint Найдено окон: size(%handle)
// %handle [1 1] - это будет последнее активное окно
// %handle [2 1] - это будет преппоследнее активное окно
// и т д.
// чтобы нажать клавишу в нужном окне, делаем его рабочим
set workwindow %handle [2 1]  // сделать рабочим предпоследнее активное окно
send 1  // нажать 1
end_script

Цитата
И еще хотел спросить можно как не будь сделать что бы управлять остальными окнами через первое. например: из первого окна, я нажима 1 а второй мейн садится ?

Установить плагин: https://forum.uokit.com/index.php?showtopic=68111
Будет что-то вроде:
Код
if  KB.GetKeyState(q) = 1   // проверям не нажата ли клавиша 'q'
    log Нажата клавиша q
    set workwindow %handle [2 1]  // делаем рабочим предпоследнее окно
    send f5   // нажимаем клавишу f5, допустим что там действие 'сидеть'
end_if
wait 200

При этом в окне на переднем плане тоже будет нажата 1.

Автор: Bare 19.11.2017, 15:19

Спасибо большое будем пробовать

Автор: kostarchuk1984 5.2.2018, 14:10

Добрий день! У меня таже проблема, запускаю несколько окон L2 в неактивних окнах в Пилоте скрипти не работает. sad.gif
Со скриптом не могу разобраться:

set %handle findwindow("Lineage2") // найти окна Lineage2 (вписать имя окна или часть имени)
hint Найдено окон: size(%handle)
// %handle [1 1] - это будет последнее активное окно
// %handle [2 1] - это будет преппоследнее активное окно
// и т д.
// чтобы нажать клавишу в нужном окне, делаем его рабочим
set workwindow %handle [2 1] // сделать рабочим предпоследнее активное окно
send 1 // нажать 1
end_script

Помогите пожалуйста!!!!!!!

Может есть какие то другие скрипты для решение этой проблемы!

Зарание огромное спасибо!!!!

Автор: cirus 5.2.2018, 14:17

Для одного окна нажатия работают?

Автор: kostarchuk1984 5.2.2018, 14:55

Скрипт работают если только второе окно активное, с первого окна скрипт запускает и все хорошо идет даже когда не активное окно.

Автор: cirus 5.2.2018, 15:09

Ничего не понял.
Так работает:?

Код
set %handle findwindow("Lineage2")  // найти окна Lineage2 (вписать имя окна или часть имени)
for #i 1 size(%handle)
    set workwindow %handle[#i 1]
    log %handle[#i 1]  // хендл окна, в котором нажимаем клавишу
    send 1        // нажать 1 во всех окнах l2
end_for
end_script

Автор: kostarchuk1984 5.2.2018, 15:24

У меня 4 окна хавк, ее, пп, и свс. Я хочу чтоби ее каждие 2 минути кидала пати свсу, а тот денсил в ответ и выходил с пати. На окне ее скрипт работает даже когда окно не активное, а второй скрипт на свсе не хочет работать срабатывает только тогда когда захожу на свса и делаю окно активним.

set %handle findwindow("Lineage2") // найти окна Lineage2 (вписать имя окна или часть имени)
for #i 1 size(%handle)
set workwindow %handle[#i 1]
log %handle[#i 1] // хендл окна, в котором нажимаем клавишу
send 1 // нажать 1 во всех окнах l2
end_for
end_script

этот скрипт я не понимаю, какое имя окна и где оно берется, куда его вставлять? Куда этот скрипт вставлять в начало скрипта? sad.gif

Автор: cirus 6.2.2018, 1:31

Цитата
Куда этот скрипт вставлять в начало скрипта?

Никуда, это лишь пример что нажатия срабатывают хоть в активном окне, хоть в неактивном.
Цитата
какое имя окна и где оно берется

На панели задач каждое окно имеет имя.
Цитата
а второй скрипт на свсе не хочет работать срабатывает только тогда когда захожу на свса и делаю окно активним.

Выкладывайте скрипт, который не работает.
Цитата
Я хочу чтоби ее каждие 2 минути кидала пати свсу, а тот денсил в ответ и выходил с пати.

На свса придётся переключаться, л2 воспринимает только kleft, а он работает для активного окна.




Автор: kostarchuk1984 6.2.2018, 12:03

первый скрипт ее кидает пати свсу
send F4
wait 500
send F5
wait 128000

второй скрипт с помощью программы L2Walker принимает пати и когда пати прийнято свс спомощу if проверяет цвет пати и начинает денсить, но сонгиует только тогда когда окно активное sad.gif , после завершение сонгов выходит с пати.
// СВС Скрипт
if 5, 111 3414288
send F4
wait 2500
send F5
wait 2500
send F6
end_if


Автор: cirus 6.2.2018, 12:37

Цитата
if 5, 111 3414288

Работает только для активного окна.
Я так понимаю через if проверяете в пати свс или нет.
Сделайте картинку профы ЕЕ и ищите её с помощью http://uopilot.tati.pro/index.php?title=Findimage.
Код
set #a findimage (0 0 1920 1080 (C:\Users\abc\Desktop\1111.bmp) %arr workwindow)
hint #a  // результат поиска, в правом нижнем углу, можно убрать
if  #a > 0
    send F4
    wait 2500
    send F5
    wait 2500
    send F6
end_if
wait 1000



Автор: ChipS 21.12.2018, 16:01

Добрый день вопрос по воду определения окон set %handle findwindow("RPG HF : xxxx") как перечислить тут несколько окон (те которые нужны так как загужено 7 а надо чтобы скрипты нажимался на определенных окнах )

Автор: cirus 21.12.2018, 16:16

Код
set #h1 findwindow("RPG HF : xxxx")
set #h2 findwindow("RPG HF : yyyy")

init_arr %handle #h1 #h2
log %handle [1]   // хендл первого окна
log %handle [2]   // хендл второго окна
end_script

Автор: ChipS 21.12.2018, 19:23

Скрипт такой

set #h1 findwindow("RPG HF : xxx")
set #h2 findwindow("RPG HF : yyy")
init_arr %handle #h1 #h2
log %handle [1]
log %handle [2]
if KB.GetKeyState(q) = 1
log Нажата клавиша q
set workwindow %handle [1]
set workwindow %handle [2]
send 2
end_if
wait 200

Действие при нажатии происходит только на окне "yyy" первое окно игнорирует( че не так делаю(?

Автор: DarkMaster 21.12.2018, 19:33

потому что workwindow содержит только одно значение и два окна одновременно рабочими быть не могут. Вы же сразу же меняете ххх на ууу. Какое последним активировали - то и работает.

Автор: cirus 21.12.2018, 19:34

Цитата
че не так делаю

Код
set workwindow %handle [1]
send 2   // нажать клавишу
set workwindow %handle [2]
send 2

Или можно так:
Код
set #h1 findwindow("RPG HF : xxx")
set #h2 findwindow("RPG HF : yyy")
init_arr %handle #h1 #h2
log %handle [1]
log %handle [2]
// всё что выше можно выполнить 1 раз

while 1 = 1    // бесконечный цикл
    if  KB.GetKeyState(q) = 1
        log Нажата клавиша q
        for #i 1 size(%handle)    // цикл для всех окон
            set workwindow %handle [#i]    // сделать окно рабочим
            send 2                         // нажать 2
        end_for
    end_if
    wait 200
    // дальнейшие действия
end_while

Автор: ChipS 21.12.2018, 19:37

Короче так как я хочу с одного окна пересылать кнопки на несколько окон не получится (?

ага ща попробую

Автор: DarkMaster 21.12.2018, 19:55

Цитата
Короче так как я хочу с одного окна пересылать кнопки на несколько окон не получится (?

Получится. Просто слать нужно в каждый раз после смены workwindow.

Автор: ChipS 21.12.2018, 20:31

Ребят спасибо что потратили время все получилось,
вот так попробовал, 2 способ не тестил, когда то давно занимался програмированием, вспомнил аж интересно стало)
set workwindow %handle [1]
send 2 // нажать клавишу
set workwindow %handle [2]
send 2

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)