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

4 страниц V < 1 2 3 4 >  
Ответить в эту темуОткрыть новую тему
> Findimage?, покажите, как это работает?
asalko
сообщение 17.1.2013, 21:00
Сообщение #21


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



Цитата(Zeleax @ 17.1.2013, 20:52) *

да, но там очень сложно все, не для простых смертных так сказать.
спасибо, куда эту строчку воткнуть?
set $b FindImage (10 100 30 150 (d:\myImages\wolf.bmp) %arr 2 80 20 5)

Цитата(DarkMaster @ 17.1.2013, 20:33) *

[#deviation] - Погрешность оттенка. Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением.

покажите на примере плз как объеденить эти 3 скрипта,
set $a findimage (0, 0 1280, 1024 (d:\uopilot\станции.bmp) %crds 2 100 1)
if $a > 0
move %crds [ 1 1 ] %crds [ 1 2 ]
wait 5s
end_if

set $a findimage (0, 0 1280, 1024 (d:\uopilot\ваттуолен.bmp) %crds 2 100 1)
if $a > 0
move %crds [ 1 1 ] %crds [ 1 2 ]
wait 5s
end_if

set $a findimage (0, 0 1280, 1024 (d:\uopilot\войтивдок.bmp) %crds 2 100 1)
if $a > 0
move %crds [ 1 1 ] %crds [ 1 2 ]
left %crds [ 1 1 ] %crds [ 1 2 ]
wait 5s
end_if

или его можно прямо в таком виде использовать уже.
этот скрипт отправляет корабль на станцию, перед ним еще надо указать условие, если грузовой отсек руды полный.


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


***********

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



Цитата
его можно прямо в таком виде использовать уже.


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


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



Цитата(Zeleax @ 17.1.2013, 20:52) *


set $b FindImage (0, 0 1366 719 (d:\uopilot\астероид.bmp) %arr 2 80 20 5)
if $a > 0
move %crds [ 1 1 ] %crds [ 1 2 ]
left %crds [ 1 1 ] %crds [ 1 2 ]
wait 5s
end_if

выдает ошибку


set $a findimage (0, 0 1280, 1024 (d:\uopilot\астероид.bmp) %crds 2 100 1)
set $b FindImage (0, 0 1280 1024 (d:\uopilot\астероид.bmp) %arr 2 80 20 5)
if $a > 0
move %crds [ 1 1 ] %crds [ 1 2 ]
left %crds [ 1 1 ] %crds [ 1 2 ]
wait 5s
end_if

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


***********

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



Какую ошибку то?
Цитата
set $b FindImage (0, 0 1280 1024 (d:\uopilot\астероид.bmp) %arr 2 80 20 5)

результаты нигде не используются


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


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



Цитата(DarkMaster @ 17.1.2013, 21:27) *

Какую ошибку то?

результаты нигде не используются


ошибку на строчке move

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


***********

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



Цитата
когда он прозвучит выполнить команду.

нет
Цитата
set $b FindImage (0, 0 1366 719 (d:\uopilot\астероид.bmp) %arr 2 80 20 5)
if $a > 0

записываете в $b, проверяете $a


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


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



Цитата(DarkMaster @ 17.1.2013, 21:39) *

нет

записываете в $b, проверяете $a


я могу использовать клик при свернутом окне?

set $a findimage (0, 0 1366, 719 (d:\uopilot\астероид.bmp) %crds 2 100 1)
if $a > 0
move %crds [ 1 1 ] %crds [ 1 2 ]
left %crds [ 1 1 ] %crds [ 1 2 ]
wait 2s
if 1263, 77 255
wait 30s
else
move 1266, 78
left 1266, 78
wait 5s
end_if
end_if

при свернутом окне пилот не находит и не кликает.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
asalko
сообщение 19.1.2013, 17:32
Сообщение #28


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



(IMG:style_emoticons/default/sad.gif)
set $a findimage (0, 0 1366, 719 (d:\uopilot\астероид.bmp) %crds 2 100 4)
if $a > 0
move %crds [ 1 1 ] %crds [ 1 2 ]
left %crds [ 1 1 ] %crds [ 1 2 ]
wait 1s
if 1263, 77 255
else
move 1266, 78
left 1266, 78
wait 10s
end_if
move %crds [ 2 1 ] %crds [ 2 2 ]
left %crds [ 2 1 ] %crds [ 2 2 ]
wait 1s
if 1263, 77 255
else
move 1266, 78
left 1266, 78
wait 10s
end_if
move %crds [ 3 1 ] %crds [ 3 2 ]
left %crds [ 3 1 ] %crds [ 3 2 ]
if 1263, 77 255
else
move 1266, 78
left 1266, 78
wait 10s
end_if
move %crds [ 4 1 ] %crds [ 4 2 ]
left %crds [ 4 1 ] %crds [ 4 2 ]
if 1263, 77 255
else
move 1266, 78
left 1266, 78
wait 10s
end_if
end_if

можно ли упростить этот скрипт?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 19.1.2013, 18:06
Сообщение #29


***********

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



for используйте, а в обращениях к массиву задавайте переменной индекс массива.


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


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



Цитата(DarkMaster @ 19.1.2013, 18:06) *

for используйте, а в обращениях к массиву задавайте переменной индекс массива.


можете вставить for? и индекс массива

Сообщение отредактировал Zeleax - 22.1.2013, 21:40
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 22.1.2013, 21:40
Сообщение #31


*********

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



Код
set $a findimage (0, 0 1366, 719 (d:\uopilot\астероид.bmp) %crds 2 100 4)
if $a > 0
for #i 1 4
  move %crds [ #i 1 ] %crds [ #i 2 ]
  left %crds [ #i 1 ] %crds [ #i 2 ]
  wait 1s
  if_not 1263, 77 255
    move 1266, 78
    left 1266, 78
    wait 10s
  end_if
end_for
end_if


Сообщение отредактировал Zeleax - 22.1.2013, 21:41


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


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



Цитата(Zeleax @ 22.1.2013, 21:40) *

Код
set $a findimage (0, 0 1366, 719 (d:\uopilot\астероид.bmp) %crds 2 100 4)
if $a > 0
for #i 1 4
  move %crds [ #i 1 ] %crds [ #i 2 ]
  left %crds [ #i 1 ] %crds [ #i 2 ]
  wait 1s
  if_not 1263, 77 255
    move 1266, 78
    left 1266, 78
    wait 10s
  end_if
end_for
end_if


(IMG:style_emoticons/default/huh.gif) я как зулус , не понимаю как работает for для меня это чистая магия.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 23.1.2013, 8:09
Сообщение #33


*********

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



а так?
Код
msg Начинаем...
for #i 2 4
   msg Значение i равняется #i
end_for
msg Закончили!


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


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



Цитата(Zeleax @ 23.1.2013, 8:09) *

а так?
Код
msg Начинаем...
for #i 2 4
   msg Значение i равняется #i
end_for
msg Закончили!


то есть for меняется, от 1 до 4 ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BydloScripter
сообщение 24.1.2013, 11:59
Сообщение #35


**

Neophyte
Сообщений: 42
Регистрация: 16.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.680
Возраст: 23



Цитата(asalko @ 24.1.2013, 11:31) *

то есть for меняется, от 1 до 4 ?

for это оператор цикла, циклы придуманы для многократного повторения какой-либо операции стоящей между for и end_for. Чтобы цикл выполнялся нужное кол-во раз существует переменная-счётчик #i изначально равная единице (но можно задать самому), счётчик (#i) при каждом выполнении цикла увеличивается на шаг цикла (по умолчанию тоже единица, но можно и задать свой шаг) Также придуманы числа, которые определяют когда цикл начнет работать и когда закончит. Например
Код
for #i 5 100 5
for #<имя> <начало> <конец> [шаг]

цикл будет выполняться при условии что #i будет больше или равно 5, и закончит выполняться при #i >= 100, при каждом выполнении цикла к #i будет прибавляться 5 (шаг), как можно посчитать цикл выполнится 19 раз. Все параметры цикла (вродебы) можно задавать переменными и использовать их внутри цикла.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.1.2013, 12:46
Сообщение #36


***********

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



Цитата
Все параметры цикла (вродебы)

все


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


**

Neophyte
Сообщений: 24
Регистрация: 17.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.682
Возраст: 29



Цитата(BydloScripter @ 24.1.2013, 11:59) *

for это оператор цикла, циклы придуманы для многократного повторения какой-либо операции стоящей между for и end_for. Чтобы цикл выполнялся нужное кол-во раз существует переменная-счётчик #i изначально равная единице (но можно задать самому), счётчик (#i) при каждом выполнении цикла увеличивается на шаг цикла (по умолчанию тоже единица, но можно и задать свой шаг) Также придуманы числа, которые определяют когда цикл начнет работать и когда закончит. Например
Код
for #i 5 100 5
for #<имя> <начало> <конец> [шаг]

цикл будет выполняться при условии что #i будет больше или равно 5, и закончит выполняться при #i >= 100, при каждом выполнении цикла к #i будет прибавляться 5 (шаг), как можно посчитать цикл выполнится 19 раз. Все параметры цикла (вродебы) можно задавать переменными и использовать их внутри цикла.

спасибо, тебе преподавать надо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dron4938
сообщение 25.3.2017, 16:51
Сообщение #38


****

Apprentice
Сообщений: 256
Регистрация: 20.3.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.395



// Пример 5
// поиск нескольких картинок
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
set #startX 0
set #startY 0
set #endX 1920
set #endY 1080
set $path "C:\Program Files\UOPilot\images\" // путь к картинкам
set %image [1] картинка1 // имя изображения
set %image [2] картинка2 // имя второго изображения
set %image [3] картинка3 // третьего
set %image [4] карти // имена могут быть любыми

set #size size(%image) // всего картинок
hint Всего картинок #size

:metka
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2)
if #a > 0
move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
wait 500 // ждать 0,5 секунды
end_if
end_for
wait 3000 // ждать 3 секунды
goto metka


Нужно условие- если найдена картинка3, то:
Как прописать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.3.2017, 17:02
Сообщение #39


***********

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



Цитата
if #a > 0
move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
wait 500 // ждать 0,5 секунды
end_if

Код
if #a > 0
    if #i = 3
        специфические действия для 3 изображения
    else
        move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
        wait 500 // ждать 0,5 секунды
    end_if
end_if



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


****

Apprentice
Сообщений: 256
Регистрация: 20.3.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.395



Цитата(DarkMaster @ 25.3.2017, 17:02) *

Код
if #a > 0
    if #i = 3
        специфические действия для 3 изображения
    else
        move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
        wait 500 // ждать 0,5 секунды
    end_if
end_if



Спасибо, но немного не правильно объяснил)
Нужно узнать какую картинку пилот нашел из 4ёх

например

log Картинка3 совпала
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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