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

 
Ответить в эту темуОткрыть новую тему
> Ctrl+a U Muonline, v tochke ne tot cvet
CmeC
сообщение 10.11.2011, 16:49
Сообщение #1


**

Neophyte
Сообщений: 34
Регистрация: 22.1.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.408
Возраст: 21



доброе время суток

хотел написать простеиший скриптик на проверку цвета в определеной точке "if кординаты цвет"
возникла проблема с при нажатые контрол+А
установил последний пилот 2.22, там вклучив показание координат штоб легче наити нужную координату, и за одно показивает цвет,
проблема в том што в етои точке цвет не меняетса (тоесть пилот читает цвет не в окне а с робочево стола, пока незасжать левий клавиш мыши (убедился етим когда зажимаю левий клавиш мыши в точке то цвет меняетса, но при нажатие контр+а пилот несохроняет цвет)
в тои точке цвет идет 5 сек (2 секудни меняетса (с серово на ярково белово) потом держетса 1 секудну, и потом меняетса с белово на серий и исчезает)
скрипт "get color #color координати некатит так как трудно поймать нужний момент
пол ночи кувирясля с етим непомогло, цвет ловит но потом когда ставлю в стои "IF" он нечитает нормально
в пилоте настроено:
в табличке адд:
win 7
client mu sezon 3 и више
в табличке скрипт:
окно му
посоветуите как поймать нормально цвет
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 10.11.2011, 17:54
Сообщение #2


*********

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



Прочитал предыдущий пост. Буков много, но так и не понял что нужно автору )
Какой цвет нужно ловить нормально, если он всё время меняется? А если нужны все значения цвета в этой точке (для анализа), то советую посмотреть раздел "Определение диапазона цветов" в Полезных советах - там есть пример скрипта


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CmeC
сообщение 10.11.2011, 18:17
Сообщение #3


**

Neophyte
Сообщений: 34
Регистрация: 22.1.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.408
Возраст: 21



Цитата(Zeleax @ 10.11.2011, 18:54) *

Прочитал предыдущий пост. Буков много, но так и не понял что нужно автору )
Какой цвет нужно ловить нормально, если он всё время меняется? А если нужны все значения цвета в этой точке (для анализа), то советую посмотреть раздел "Определение диапазона цветов" в Полезных советах - там есть пример скрипта

он не все время мениаетса
после убиства чара он перемешаетса в другую локацию и там вискакивает картинка с названием города
но ета картинка меняет цвет (делаетса ярче и потом опять исчезает) http://www.youtube.com/watch?v=qsSMcCnXCCU появлиаетса надпись Lorencia и исчезает 15-23 секунди ролика
надо поимать цвет пе середине указаново таима (он там держетса неизменившися долше)
get color некатит

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


даже после исползования
wait 5s // Делаем паузу, чтобы развернуть нужное приложение и навести мышь на нужную точку.
set timer
set #n 1
get mouse_pos #x #y
while timer < 20000 // Собираем все цвета в выбранной точке на протяжении 20 секунд.
get color #colorForArr #x, #y
set %colorArr [#n] #colorForArr // Напрямую массив использовать нельзя.
set #n #n + 1
end_while
save_array %colorArr d:\color.txt
alarm // Подаем звуковой сигнал об окончании работы скрипта.
stop_script


он мне цвет читает рабочево стола
попробувал


set #handle1 FindWindow (MU.TTS.LT)
set WorkWindow #handle1
ShowWindow
:start
ShowWindow
wait 5s // Делаем паузу, чтобы развернуть нужное приложение и навести мышь на нужную точку.
set timer
set #n 1
get mouse_pos #x #y
while timer < 20000 // Собираем все цвета в выбранной точке на протяжении 20 секунд.
get color #colorForArr #x, #y
set %colorArr [#n] #colorForArr // Напрямую массив использовать нельзя.
set #n #n + 1
end_while
save_array %colorArr d:\color.txt
alarm // Подаем звуковой сигнал об окончании работы скрипта.
stop_script
резултат тотже самий (цвет меняетса в точке, но пилот мне дает токо 1 значение, погуглив цвет десяточний нахожу такои цвет как на рабочем столе (+- такои)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 10.11.2011, 22:45
Сообщение #4


*********

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



попробуй в конце каждой команды get добавить abs (чтоб работать с абсолютными координатами). Окно игры должно быть развернуто на экране.


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


**

Neophyte
Сообщений: 34
Регистрация: 22.1.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.408
Возраст: 21



Цитата(Zeleax @ 10.11.2011, 23:45) *

попробуй в конце каждой команды get добавить abs (чтоб работать с абсолютными координатами). Окно игры должно быть развернуто на экране.

esle postavit absoliutnie to potom problema budet kak eti koordinati vpihnut v igru
igra kak prozrachnaja
vzial druguju progu kotoraja pokazivaet cvet v tochke
v igre navel na krasnic cvet (chisto krasnij bez kakix libo premesej)
a proga pokazivaet chernij (pilot v toi tochke lovit tochno totzhe cvet) (snizil igru a tam chernoe s rabochevo stola)

kogda zhmu levoi miwju v igre i derzhu to pilot i eta drugaja proga srazu otobrozhaet krasnij

esle kakoe to reshenie naschet okna igri?
izvenite za translit (nadejus` glaza nezabolit)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 11.11.2011, 0:35
Сообщение #6


*********

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



Цитата(CmeC @ 10.11.2011, 22:58) *

izvenite za translit (nadejus` glaza nezabolit)

http://www.translit.ru/
попробуй перед вызовом команды get color делать активным окно игры (ShowWindow <handle окна игры>)


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


**

Neophyte
Сообщений: 34
Регистрация: 22.1.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.408
Возраст: 21



Цитата(Zeleax @ 11.11.2011, 1:35) *

http://www.translit.ru/
попробуй перед вызовом команды get color делать активным окно игры (ShowWindow <handle окна игры>)

в посте више написал как использовал showwindow
спс за помош, ету проблему решил
возник новий вопрос
возможно 2 таимера поставить?
какбы такое
set timer1
set timer2
if timer1 <8888
move xx
kleft xx
move xx2
kleft xx2
set timer1
end_if
if timer2 <2222222222
set timer2
start_script 1
stop_script 0
такое сделать возможно и как ето примерно вигледит?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 11.11.2011, 8:16
Сообщение #8


*********

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



Цитата(CmeC @ 11.11.2011, 1:09) *

спс за помош, ету проблему решил
возник новий вопрос
возможно 2 таимера поставить?
какбы такое
set timer1
set timer2
if timer1 <8888
move xx
kleft xx
move xx2
kleft xx2
set timer1
end_if
if timer2 <2222222222
set timer2
start_script 1
stop_script 0
такое сделать возможно и как ето примерно вигледит?

ну раз решил проблему, так отпишись - как именно? (помогли тебе - помоги другим)

таймеры можно, конечно. Посмотри тут в темах "авто..." . Ну и есть служебная переменная timer (см.хелп), её можно использовать


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


**

Neophyte
Сообщений: 34
Регистрация: 22.1.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.408
Возраст: 21



Цитата(Zeleax @ 11.11.2011, 9:16) *

ну раз решил проблему, так отпишись - как именно? (помогли тебе - помоги другим)

таймеры можно, конечно. Посмотри тут в темах "авто..." . Ну и есть служебная переменная timer (см.хелп), её можно использовать

как решил незнаю, просто поймал цвет, и больше ненадо

по поводу таймера тоже решил, помог DarkMaster



set #kast timer 0
set #proverka timer 0
set timer
:start
if #kast < timer // Первый блок
move xx

left xx
move xx2
right xx2

wait 2000
set #kast timer + 300000 // Указываем через сколько времени повторить действие в миллисекундах (1000 = 1 cек).
end_if

if #proverka < timer // Второй блок
start_script 1
set #proverka timer + 1800000 // Указываем через сколько времени повторить действие в миллисекундах (1000 = 1 cек).
stop_script 0
end_if
goto start
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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