|
|
|
Findimage?, покажите, как это работает? |
|
|
asalko |
17.1.2013, 21:00
|
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 или его можно прямо в таком виде использовать уже. этот скрипт отправляет корабль на станцию, перед ним еще надо указать условие, если грузовой отсек руды полный. эта игра такая сложная, если получится с погрешностью, будет просто прекрасно)
|
|
|
|
asalko |
17.1.2013, 21:16
|
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 может вот так?
|
|
|
|
asalko |
17.1.2013, 21:38
|
Neophyte
Сообщений: 24
Регистрация: 17.1.2013 Группа: Пользователи Наличность: 0
Пользователь №: 15.682
Возраст: 29
|
Цитата(DarkMaster @ 17.1.2013, 21:27) Какую ошибку то?
результаты нигде не используются
ошибку на строчке move кстати, после того как астероид выкопан, голос говорит, залежи руды полностью иссякли, можно записать этот голос и вставить в скрипт, чтоб когда он прозвучит выполнить команду.
|
|
|
|
asalko |
18.1.2013, 10:45
|
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 при свернутом окне пилот не находит и не кликает.
|
|
|
|
asalko |
19.1.2013, 17:32
|
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 можно ли упростить этот скрипт?
|
|
|
|
asalko |
23.1.2013, 7:19
|
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 для меня это чистая магия.
|
|
|
|
asalko |
24.1.2013, 10:31
|
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 ?
|
|
|
|
BydloScripter |
24.1.2013, 11:59
|
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 раз. Все параметры цикла (вродебы) можно задавать переменными и использовать их внутри цикла.
|
|
|
|
asalko |
24.1.2013, 13:35
|
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 раз. Все параметры цикла (вродебы) можно задавать переменными и использовать их внутри цикла. спасибо, тебе преподавать надо.
|
|
|
|
dron4938 |
25.3.2017, 18:07
|
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 совпала
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|