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

11 страниц V « < 7 8 9 10 11 >  
Ответить в эту темуОткрыть новую тему
> Поиск числа с помощью Findimage, Готовый скрипт
WKnight
сообщение 23.10.2017, 14:33
Сообщение #161


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Цитата
Исправил в 'findimage' поиск запомненной картинки в загруженной области.
Это откатил до десятой беты. Доступно в нестабильной сборке http://uopilot.uokit.com/dld.php
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 23.10.2017, 14:58
Сообщение #162


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
Доступно в нестабильной сборке http://uopilot.uokit.com/dld.php

Что-то не то выложил. Размер 22 байта.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 24.10.2017, 20:30
Сообщение #163


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Пасиб, починил.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Alex83
сообщение 27.10.2017, 0:29
Сообщение #164


*

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



доброго времени, попробовал как работает на этом примере, но что то не оч получилось не находит искомое, или я чтот не так делаю, в этом месте (C:\мойкомпьютер.bmp) должна находится картинка или нет и обязательно ли писать .bmp, после того что хотим найти
// Пример 6
//Чтобы понять как работает поиск можно попробовать на рабочем столе найти значок 'Мой компьютер'.
//Делаем картинку значка в формате bmp, называем 'мойкомпьютер' (без кавычек), закидываем на диск 'C:'.
//При этом можно перекрыть значок каким-нибудь окном.

//Не забываем сделать привязку Ctrl + A.
set #a FindImage(0 0 1920 1080 (C:\мойкомпьютер.bmp) %arr workwindow)
if #a > 0
log Картинка найдена. Наведём на неё курсор.
move %arr [1 1] %arr [1 2]
End_script
else
msg Картинка не найдена.
end_if
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.10.2017, 2:04
Сообщение #165


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Давайте не будем засорять тему вопросами, которые не имеют отношения к данному скрипту.
Лучше создать отдельную тему.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Alex83
сообщение 27.10.2017, 11:56
Сообщение #166


*

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



Цитата(cirus @ 23.10.2017, 14:58) *

Что-то не то выложил. Размер 22 байта.

доброго времени, подскажите пож для данного скрипта что бы он распознал комбинацию цифер, допустим нужно найти число 46, для этого нужно делать 2 картинки с цифрами 4 и 6 или сразу 46 одной картинкой, заранее спс.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.10.2017, 12:09
Сообщение #167


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
допустим нужно найти число 46, для этого нужно делать 2 картинки с цифрами 4 и 6 или сразу 46 одной картинкой, заранее спс.

Если всегда надо искать число 46, то можно одну картинку. Тогда не потребуется этот скрипт.
Если нужно искать разные числа, то надо делать картинки всех цифр.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.2.2018, 11:18
Сообщение #168


***********

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



Собственно совсем забылось. Прикрепи в первый пост, тему помню ты хотел почистить, если есть желание.


Прикрепленные файлы
Прикрепленный файл  FindString.lua ( 40,39 килобайт ) Кол-во скачиваний: 297


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


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
Прикрепи в первый пост

Прикрепил. Потом добавлю примеры вызова.
Цитата
тему помню ты хотел почистить, если есть желание

Изначально я предлагал сделать отдельную тему, чтоб эту не чистить (IMG:style_emoticons/default/smile.gif)
Почищу как время будет. Я так понимаю права нужны.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 28.9.2018, 15:42
Сообщение #170


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Как с помощью данного скрипта вывести значения картнок в таблицу из массива?
Прикрепленное изображение
Есть стандартное поле с условно-рандомно генерируемых цифр разделенных сеткой
нужно записать значение по боксам
set %arr [ 1 1] число из 1 строки 1столбца
set %arr [ 1 2] число из 1 строки 2столбца
set %arr [ 1 3] число из 1 строки 3столбца
set %arr [ 1 4] число из 1 строки 4столбца
set %arr [ 2 1] число из 2 строки 1столбца
set %arr [ 2 2] число из 2 строки 2столбца
set %arr [ 2 3] число из 2 строки 3столбца
set %arr [ 2 4] число из 2 строки 4столбца
set %arr [ 3 1] число из 3 строки 1столбца
set %arr [ 3 2] число из 3 строки 2столбца
set %arr [ 3 3] число из 3 строки 3столбца
set %arr [ 3 4] число из 3 строки 4столбца
set %arr [ 4 1] число из 4 строки 1столбца
set %arr [ 4 2] число из 4 строки 2столбца
set %arr [ 4 3] число из 4 строки 3столбца
set %arr [ 4 4] число из 4 строки 4столбца
Нужно ли прописывать для каждой ячейки область поиска или можно сделать лишь задав одну, а найденные изображения(цифры) можно будет записать с лево на право и с верху вниз???
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.9.2018, 16:06
Сообщение #171


***********

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



Можно обойтись одной областью, но скрипт нужно обновить. У меня походу монитор накрылся... Не могу сделать это прямо сейчас...


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


***********

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



Скрипт из нестабильной версии. Вроде был рабочий =)


Прикрепленные файлы
Прикрепленный файл  FindStringDev.lua ( 40,94 килобайт ) Кол-во скачиваний: 222


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


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Цитата(DarkMaster @ 30.9.2018, 17:07) *

Скрипт из нестабильной версии. Вроде был рабочий =)

где задаются координаты поиска? в коментарии есть строчка crds={<xStart>, <yStart>, <xEnd>, <yEnd>, [abs=0|1]} которая хадает облость поиска, но в рабочей части только есть эта строка default.crds = function(window) -- Координаты поиска.

При попытке запустить выдает ошибку версия нестабильная.
syntax error during precompilation. 95: invalid escape sequence near "t> ~lua
do
function table.show(data, comment)
правки которые делал в файле:
Код

local default = {}
    default.window       = function() return workwindow() end   -- Метод|хендл_окна в котором происходит поиск (если указан источник изображения(source), то параметр будет проигнорирован).
    default.loadFolder   = nil      -- Путь, по которому будут загружены все изображения с указанной маской {path=путь, mask=маска, sub=1|0}(sub - подпапки). Имя файла будет соответсвовать имени символа.
                                            -- Набор стандартных символов.
    default.symbols      = {["0"]={"0"}, ["2"]={"2"}, ["4"]={"4"}, ["8"]={"8"}, ["16"]={"16"}, ["32"]={"32"}, ["64"]={"64"}, ["128"]={"128"}, ["256"]={"256"}}
    default.path         = "D:\_UOPilot\_2048"       -- Папка с картинками.
    default.ext          = ".bmp"           -- Расширение картинок.
    default.crds         = function(window) -- Координаты поиска.

ну и первый комент подчистил для уменьшения объема
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.10.2018, 5:54
Сообщение #174


***********

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



Цитата
local default = {}

Это таблица умолчаний. Т.е. если не заданы какие-либо параметры, то они берутся отсюда. Это править можно, но нужно понимать, что это это едва ли то, что нужно делать первый раз увидев скрипт. Для начала сделайте обычный вызов функции. Картинки рекомендую подгружать через loadFolder.


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


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



В общем понял, что ничего не понял...язык пилота мне понятнее.

Cirus что может быть запускаю скрипт на языке пилота доходит до строчки:
Код
call test %picture %symbol %GetImage %path #deltaY #deltaspace #accuracy #deviation #wait #timeproc #repeatimage    // процедура поиска

и далее ничего не происходит и не стопоритя и ошибок не выбивает и до вывода результата с if также не даходит. Включал слежку за строками он доходит до вызова процедуры(код строки выше) и все никуда больше не на выполнение процедуры не переходит и дальше на if тоже не переходит. Попробовал взять в скобки то что находится после test вроде как проскакивает на выполнение и потом назад... можэ что там смесь % и # данных (IMG:style_emoticons/default/ohmy.gif) .... Помоги разобраца (IMG:style_emoticons/default/mellow.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 2.10.2018, 11:19
Сообщение #176


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
Как с помощью данного скрипта вывести значения картнок в таблицу из массива?

Для этой задачи не нужен этот скрипт. Т. к. часть фишек могут отсутствовать, всё равно придётся играться с координатами, чтобы заполнить массив.
Допустим поле 4*4 размером 400*400, нашли картинку цифры 2 в координатах 120, 215. Значит цифру надо записать в arr[2][3]. Т. к. размеры клетки 100*100, то координаты от 0 до 100 это первая строка/столбец, 100-200 вторая и т. д.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 2.10.2018, 11:47
Сообщение #177


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Цитата(cirus @ 2.10.2018, 11:19) *

Для этой задачи не нужен этот скрипт. Т. к. часть фишек могут отсутствовать, всё равно придётся играться с координатами, чтобы заполнить массив.
Допустим поле 4*4 размером 400*400, нашли картинку цифры 2 в координатах 120, 215. Значит цифру надо записать в arr[2][3]. Т. к. размеры клетки 100*100, то координаты от 0 до 100 это первая строка/столбец, 100-200 вторая и т. д.

Ну с утра тоже думаю просто сделать по координатам, написать простой скрипт типа по точкам где присваются значения (состоящая из точек) и процедура где есть все значения от 0 до 2048. И ужэ условно производить по очереди перебор значений. Но пака есчо перевариваю как это лучше сворганить.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 9.10.2018, 22:04
Сообщение #178


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Цитата(cirus @ 2.10.2018, 11:19) *

Для этой задачи не нужен этот скрипт. Т. к. часть фишек могут отсутствовать, всё равно придётся играться с координатами, чтобы заполнить массив.

Если ты имеешь в виду пустые плитки то их значение делаем 0(т.е пустую плитку делаем картинку с именем 0.bmp). Если имеешь в виду к примеру большие числа 4 ... 512 1024 и 2048 то и буквы и цифры тоже не всегда появляется на экране, не думаю что это как-то критично. наша задача найти из того что есть и присвоить значения. Грубо говоря все в рамках есть картина состоящая из стандартных кусков(картинок) которые то появляются то передвигаются, других нестандартных кусков нет.

Цитата

Допустим поле 4*4 размером 400*400, нашли картинку цифры 2 в координатах 120, 215. Значит цифру надо записать в arr[2][3]. Т. к. размеры клетки 100*100, то координаты от 0 до 100 это первая строка/столбец, 100-200 вторая и т. д.

Есть вопросы...не совсем понятно какой код нужен что бы связать поиск с присвоением значением массива?
Код

set linedelay 0
log clear
log mode compact
set $path "D:\_UOPilot\_2048" // папка с картинками
//init_arr %image 0 2 4 8 16 32 64 128 256 512 1024 2048    //имена картинок (0.bmp, 1.bmp и т.д.)
//init_arr %bukva 0 2 4 8 16 32 64 128 256 512 1024 2048   // цифра
set delimiter ' '
dir (%image $path *.bmp*)   // поиск картинок в папке и загрузка их в массив
log В папке найдено: size(%image) картинок
//дописать процесс поиска по облостям
for #i 1 size(%image)   // цикл для поиска картинок (дописать)
    set #x11 findimage( координаты 1.2  #startX #startY #endX #endY) поиск нужной? // область поиска ячейка 1- 1
    if  #x11 > 0 //если в ячейке 1 1 нашлась картинка присвоить значение
        set %arr [1 1] присвоить число картинки
    end_if
    set #x12 findimage( координаты 1.2  #startX #startY #endX #endY) поиск нужной? // область поиска ячейка 1- 2
    if  #x12 > 0 //если в ячейке 1 1 нашлась картинка присвоить значение
        set %arr [1 2] присвоить число картинки
    end_if
    //анологично для остальных
    set #x44 findimage( координаты 4.4  #startX #startY #endX #endY) поиск нужной? // область поиска ячейка 4- 4
    if  #x44 > 0 //если в ячейке 4 4 нашлась картинка присвоить значение
        set %arr [4 4] присвоить число картинки
    end_if
    //сделать проверку если все значение заданы перейти то выйти из цикла и перейти к поиску и просчету хода
    if все значения if> 0
        log %arr [1 1] %arr [1 2] и т.д
       Break
    end_if
end_for
end_script

или
Код

set linedelay 0
log clear
log mode compact
set $path "D:\_UOPilot\_2048" // папка с картинками
//init_arr %image 0 2 4 8 16 32 64 128 256 512 1024 2048    //имена картинок (0.bmp, 1.bmp и т.д.)
//init_arr %bukva 0 2 4 8 16 32 64 128 256 512 1024 2048    // цифра
set delimiter ' '
dir (%image $path *.bmp*)   // поиск картинок в папке и загрузка их в массив
log В папке найдено: size(%image) картинок
//дописать процесс поиска по облостям
for #i 1 size(%image)   // цикл для поиска картинок (дописать)
    //присвоение значений по сетке поле 4*4 размером 400*400
    //код?
end_for
end_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 10.10.2018, 2:18
Сообщение #179


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
какой код нужен что бы связать поиск с присвоением значением массива?

код
Код
init_arr %image 2 4 8 16 32 64  // имена картинок
set $path "D:\_UOPilot\_2048\"    // путь к картинкам
init_arr %coord 403, 236 882, 713  // координаты для findimage


set #stepX (%coord [3] - %coord [1]) / 4   // шаг по X
set #stepY (%coord [4] - %coord [2]) / 4   // шаг по Y
set #z 0
for #i 1 size(%image)   // поиск картинок
    set #a findimage(%coord [1] %coord [2] %coord [3] %coord [4] ($path%image[#i].bmp) %arr 2 90 -1 3)
    if  #a > 0
        for #j 1 size(%arr)
            set #z #z + 1
            init_arr %temp (#z) %arr [#j 1] %arr [#j 2] %image[#i] // добавить в массив координаты и имя картинки
        end_for
    end_if
end_for

for #i 1 4   // заполнить массив 4*4 нулями
    init_arr %field (#i) 0 0 0 0
end_for

for #i 1 #z  // подсчёт позиции картинки на поле
    set #x (%temp [#i 1] - %coord [1]) / #stepX + 1
    set #y (%temp [#i 2] - %coord [2]) / #stepY + 1
    set %field [#y #x] %temp [#i 3]  // имя картинки в нужный элемент массива
end_for


log clear
log mode compact
set delimiter ' '
for #i 1 4            // вывод в лог
    log %field [#i]
end_for
set delimiter
end_script

Чтобы быстрее работало загрузить картинки в массив, сделать скрин и на нём искать картинки.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName212
сообщение 4.1.2019, 6:03
Сообщение #180


**

Neophyte
Сообщений: 13
Регистрация: 6.10.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.068
Возраст: 28



Можно ли возвращать результат работы скрипта(числа) через вызов процедуры? Отправить скрипту координаты, он находит числа и возвращает строку

Код

set #x 30, 17
set #y 42, 113
call Number_meat #x #y

if $Number_meat > 200
  ...
if $Number_meat > 100
   ...
  if $Number_meat > 50
   ...
   if $Number_meat > 10
   ...
   end_if
  end_if
end_if
end_if


как то так ... (IMG:style_emoticons/default/smile.gif)

один proc в котором скрипт, и 5-10 call'ов или сколько нужно... или только так можно: 1 proc - 1 call ?

___________

хотя можно по нескольким вкладкам скрипты разнеси останавливать их включать и т.д.


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

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

 

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