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

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Один скрипт на 2 окна одновременно
Korsar2888
сообщение 3.8.2014, 1:29
Сообщение #1


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



Один скрипт на 2 окна одновременно

подскажите как сделать так, чтобы 1 скрипт одновременно работал на несколько окон?

Или если тема уже обсуждалась киньте плс мне ее.

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


***********

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



Задача какая? Что мешает запустить 2 вкладки? Нужна какая-то синхронизация работы?


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



Оптимизация, чтобы на 5-10 окон 1 скрипт а не 10 вкладок
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.8.2014, 13:25
Сообщение #4


***********

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



Оптимизация, простите, чего? Работать будет медленнее, писать сложнее, гибкости меньше. Три вагона проблем и на данный момент смыл совсем не ясен.

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


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



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


***********

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



Цитата
чтобы бинды действовали на все окна сразу

Это в винде изначально абсурд. При отсылке клавиши в некоторое окно требуется указать хендл. Это API винды так устроен. Отсылать в несколько окон можно только посылая несколько раз меняя хендл. Это опять же API винды такой. Т.е. по сути вы можете сделать все тоже самое на пилоте просто меняя workwindow - это и есть тот самый хендл. Отослать во все окна сразу нажатия без привязки вообще не очень умная мысль. У вас в данную секунду несколько тысяч окон, можно конечно выделить видимые/родительские, но в итоге все равно получится хрень "мой кот ходит по клавиатуре, а я узнаю новые сочетания клавиш в опере".

Цитата
не ужели никак не сделать?

Сделать. Перебирайте хендлы через workwindow, отсылайте нажатия в каждый хендл.


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



Да боже у меня 5 окон, которые называются одинаково. Привязка идет как Линейдж 2, но привязывается только к 1му, последнему. Я понимаю 1000 окон. Однако каманда send217 действует только на привязанное окно, даже если оно будет в фоновом режиме, главное, чтобы точки цвета были видны. Я могу спокойно запустить бота на фарм и юзать скайп, браузер и прочее. При команде send217 {2} и т.д. отправляется только в ла2, в отличае от sendeх, который использует только на активное окно. Так как координаты цвета фиксируются по опр окну (не абсолютые), то на 5ти окнах координаты цвета хп моба, хп и мп чара будут одинаковы. Для норм кача у меня 5 скриптов на одно окно, если делать 5 окон это получится 25 скриптов, а если я захочу 20 окон? Потому мне важно чтобы привязка была по 5ти окнам одновременно. Я знаю, что это можно сделать, но не знаю как. Если бы это сделать нельзя было, то я бы не мог пользовать клавиатурой в др программах, при рабочем скрипте в ла2.
Понимаете да? Ла2 в фоне, не активное окно просто на заднем плане.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.8.2014, 19:16
Сообщение #8


***********

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



Я вас понимаю и понимаю, что в результате вам надо. Осталось только вам это доказать)

Прочитайте, то что написано выше. Привязать к 5 окнам не возможно. И к 2 не возможно. Но их возможно динамически переключать.


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



Понимаю, как же мне теперь с этим смириться? Может подскажите какой-нибудь выход?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.8.2014, 20:33
Сообщение #10


***********

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



А чем вас не устраивает глобально мое решение? Неужели настолько нереально извратит ваш скрипт смена workwindow? Ну сделайте подпрогамму на поиск всех окон с заданным заголовком и цикл по отправке нажатий в них.


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



очень долго времени уйдет на переключение, 1 скрипт юзает несколько ф-ций одновременно в опр моменты, если на 1м из око не будет полноценно считаной инфы, которая меняестя ежесекундно, то адекватного фарма не будет.
Я вижу выход открывать 5 пилотов это выход такой же ужасный как и делать по 25 вкладок
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.8.2014, 0:12
Сообщение #12


***********

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



Код
set timer
repeat 100000
set workwindow 1234123
end_repeat
log timer

Время 8112. Т.е. на одну смену фокуса уходит 0.08 миллисекунды. Это просто ничто. За 1 секунду можно сменить фокус 739 644 раза... У вас считывание цвета происходит не чаще, чем 30 раз в секунду. Цифры просто несопостовимы.

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


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



Цитата(DarkMaster @ 4.8.2014, 1:12) *

Код
set timer
repeat 100000
set workwindow 1234123
end_repeat
log timer

Время 8112. Т.е. на одну смену фокуса уходит 0.08 миллисекунды. Это просто ничто. За 1 секунду можно сменить фокус 739 644 раза... У вас считывание цвета происходит не чаще, чем 30 раз в секунду. Цифры просто несопостовимы.

Это типо он будет привязываться ко всем окнам по очереди за 0,08сек?

или как?

даже если так, все равно например команда send217{2} юзанется только в 1но окно, а не во все одновременно. Так же подскажите могу ли я сделать, чтобы команда выбиралась случайным образом типо
goto 1 or goto 2
1но из 2х.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.8.2014, 10:00
Сообщение #14


***********

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



делаете findwindow в массив. Именно в массив. Он тогда возвращает не последнее окно, а все окна. Потом делаете цикл:
Код
set #sizeHandle size(%handle) // Узнаем размер массива
for #i 1 #sizeHandle 1
    set workwindow %handle [ #i ]
    send217 1
end_for


По рандому вам понадобится if и опереатор(ну просто удивительно) random. Читаем - там все достаточно примитивно.

goto лучше не использовать. Это очень сильно усложняет понимание кода и затрудняет его модификацию. Используйте gosub, а подрограммы выносите за пределы основного кода. Это очень сильно окупается во время модификации кода.


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



а можно каждую строчку рассписать, а то с массивами я еще не дружу))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.8.2014, 11:03
Сообщение #16


***********

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



Дык а что тут расписывать? С массивом тут одна строчка в которой индекс просто задан переменной. Все...


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



set timer
repeat 100000
set workwindow Lineage II // название окна
end_repeat
log timer


set #sizeHandle size(%handle) // Узнаем размер массива
for #i 1 #sizeHandle 1 // это что за строчки?
set workwindow %handle [ #i ] //И это?
send217 1 //зачем это?
end_for

Дело в том, что я никогда не сталкивался с массивами не понимаю, что это а в вашей вики по пилоту ничего нет, рассморел примеры очень слабо понял. Можешь или написать конечный вариант для скрипта или объяснить мне
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.8.2014, 17:41
Сообщение #18


***********

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



Цитата
Можешь или написать конечный вариант для скрипта

Дык я его и так написал уже... Все что там нужно - это перед скриптом сделать findwindow в массив.
Откройте справку, нажмите ctrl+f и вбейте findindow. Последнее изменение как раз про поиск с занесением в массив. И даже с примером.

for можно найти там же. Циклы с нуля объяснять точно не буду - они там очень хорошо написаны. Если что-то с ними не понятно, то пишите "в справке написано вот это, но мне не понятен такой-то момент". Смысл мне перепечатывать эту же справку? Если какие-то непонятные моменты, то я их поясню.


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


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



понял спасибо
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 5.8.2014, 19:25
Сообщение #20


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Код

set #google findwindow ( Google Chrome)
set #google GetWindow (#google CHILD)
set #google GetWindow (#google CHILD)
set #google GetWindow (#google CHILD)
set workwindow #google

А если такой хэндл загонять в массив, тогда как делать так?: set %handle[ 1 ] #google
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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