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

 
Ответить в эту темуОткрыть новую тему
> Помогите Со Скриптом, Разбить поиск с скриншота на нескольк
Cerber
сообщение 9.8.2010, 1:41
Сообщение #1


*

Registred
Сообщений: 2
Регистрация: 9.8.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.917



:start
if #k = 4
set #k 0
end_if
if #k = 0
move 565, 100
kleft 565, 100
end_if
if #k = 1
move 655, 100
kleft 655, 100
end_if
if #k = 2
move 655, 130
kleft 655, 130
end_if
if #k = 3
move 565, 130
kleft 565, 130
end_if
:seen
set $a findcolor ( 250 135 990 625 1 1 18002 %arr 1)
if $a > 0
set #x %arr [1 1] - 25
set #y %arr [1 2] - 25 - 50
set #x1 #x + 20
set #y1 #y + 20
set $a findcolor ( #x #y #x1 #y1 1 1 144 %arr2 1)

if $a = 0
set #x %arr [1 1]
set #y %arr [1 2] - 50
move #x, #y
double_kleft #x, #y
wait 18s
if 628, 565 4873365
move 628, 565
kleft 628, 565
end_if
goto seen
end_if
end_if
set #k #k + 1
goto start
Вообщем есть такой скрипт.
Требуеца для ускорения работы скрипта, разбить облость поиска на 4 части, тобиш пилот делает скриншот, разбивает его на 4 части, и одновременно в 4х ишит, как находит 1 совпадение, оканчивает все скрипты, и выполняет действие с найденым..
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 9.8.2010, 9:55
Сообщение #2


***********

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



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


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


*

Registred
Сообщений: 2
Регистрация: 9.8.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.917



Ну я про это и говорил, скажи как это будет выглядить, не разу с этим дело не имел..
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 9.8.2010, 21:30
Сообщение #4


***********

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



0 скрипт:
set #n 0

stop_script 1 // Для полного перезапуска, т.к. пауза была на середине выполнения
stop_script 2
stop_script 3
stop_script 4

start_script 1
start_script 2
start_script 3
start_script 4

while #n 0
if $a.1 = 0 and $a.2 = 0 and $a.3 = 0 and $a.4 = 0
msg Совпадений не найдено
end_if
wait 100
end_while
wait 100

pause_script 1 //Ставим паузы, а не останавливаем, чтобы сохранились массивы.
pause_script 2
pause_script 3
pause_script 4

left arr.#n [1 1], arr.#n [1 2] // left был взят для примера, чтобы было понятно как вытащить координаты.

вспомогательные скрипты:
// Для примера возьмем общую область поиска 100 на 100 пикселей.
// Таким образом у нас получится 4 зоны:
// 0 0 50 50
// 50 0 100 50
// 0 50 50 100
// 50 50 100 100
set $a 1
set $a findcolor (0 0 50 50 1 1 144 %arr 1) // %arr не изменять к нему идет обращение из другого скрипта
if $a > 0
set #n.0 1 //ВНИМАНИЕ для следующих областей будет не 1, а 2, 3 и 4 соответственно номеру закладки скрипта.
end_if
pause_script

Теоретически как то так. Проверить сейчас нет возможности.


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

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

 

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