|
|
|
Что ему не нравиться, решил писать на луа |
|
|
XaЛBa |
22.5.2020, 2:24
|
Neophyte
Сообщений: 32
Регистрация: 12.4.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.293
|
решил писать на Луа, а в маленьком скрипте сразу же запнулся Код --lua local path = [["C:\Users\Второй Пользователь\Desktop\UoPiloT\LA\G.bmp"]] ::metka:: if color(1171, 1024) == 7925487 then --if 1171, 1024 7925487 send ("{Spacebar}") -- send {Spacebar} wait (100) -- wait 100 end --end_if local A, a = findimage (578, 281, 1469, 888, {path}, 2, 80, 1, 5) --set #a findimage (578, 281 1469, 888 (LA\G.bmp) %a 2 80 1 5) log ( A a ) --//log #a if A then --if #a > 0 send ("G") -- send G wait (200) -- wait 200 end --end_if goto metka уже волосы дыбом. Пишет такую ошибку - 14: ')' expected near 'a', к чему относиться так и не въеду
|
|
|
|
XaЛBa |
22.5.2020, 2:36
|
Neophyte
Сообщений: 32
Регистрация: 12.4.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.293
|
Цитата(cirus @ 22.5.2020, 2:32) Он же пишет в какой строке ошибка. В данном случае в 14, т. к. индексация строк начинается с 0, то смотрим на 13 строку. Параметры в лог нужно передавать через запятую. Код твоюж медь, ааааа, все, у меня коронавирус, спасиб огромное
|
|
|
|
XaЛBa |
15.6.2020, 18:16
|
Neophyte
Сообщений: 32
Регистрация: 12.4.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.293
|
Код --lua local path = [[C:\Users\второй пользователь\Desktop\UoPiloT\VicDeath]] --рабочий каталог local image, count = dir (path, "*.bmp") --загрузка картинок в массив тока bmp local pole = {750,150,1220,520} --размер поля для поиска while true do for i=1, count do workwindow(windowfromcursor()) local A, a = findimage (pole[1], pole[2], pole[3], pole[4], {image[i][1]}, 2, 80, -1) log ( A, a ) if A then local x = ((A[1][1] + A[1][3])/2) local y = ((A[1][2] + A[1][4])/2) left (x, y) --жмакает в центр wait (3000) end end wait (5) end вопрос1 - выдает ошибку nil -4, что тут не так ему натворил, вопрос2 - почему не хочет понимать local A, a = findimage (pole, {image[i][1]}, 2, 80, -1), хотя финдимадж с массивом может работать
|
|
|
|
Madeus |
15.6.2020, 22:56
|
Apprentice
Сообщений: 283
Регистрация: 19.11.2019 Группа: Пользователи Наличность: 8482
Пользователь №: 19.451
Возраст: 32
|
Цитата(XaЛBa @ 15.6.2020, 18:16) вопрос1 - выдает ошибку nil -4, что тут не так ему натворил, вопрос2 - почему не хочет понимать local A, a = findimage (pole, {image[i][1]}, 2, 80, -1), хотя финдимадж с массивом может работать
вопрос1 - выдает ошибку nil -4 -- count = nil вопрос2 - почему не хочет понимать local A, a = findimage (pole, {image[i][1]}, 2, 80, -1), хотя финдимадж с массивом может работать -- не правильно задан путь Код local image = {"1", "2", "3"} local A, a = findimage (pole[1], pole[2], pole[3], pole[4],{path .. image[i] .. ".bmp"}, 2, 80, -1)
|
|
|
|
XaЛBa |
16.6.2020, 11:53
|
Neophyte
Сообщений: 32
Регистрация: 12.4.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.293
|
Цитата(cirus @ 16.6.2020, 1:36) Картинка не найдена. Если в пути есть пробелы, то он должен быть заключён в кавычки. Код local path = [["C:\Users\второй пользователь\Desktop\UoPiloT\VicDeath"]] --рабочий каталог чудеса в решете, ставлю кавычки - пишет в логе - Найдено файлов 0, убираю пишет уже что найдено 7 файлов, но выдает ошибку в строке с финдом, хотя там уже прописал путь по другому , а именно local A, a = findimage (pole[1], pole[2], pole[3], pole[4], {path .. "\\" .. image[i] .. ".bmp"}, 2, 80, -1). Да и image - это уже масссив, где image[i][1] содержит полный путь с именем и расширением . а вот такой мутью типа local image = {"1", "2", "3"} - ну , это муть избирательная, но не как для 10 файлов, а если 50 .... и проверял ещо Код if count then -- если файлы найдены for i=1, #image do log (image[i][1]) -- показать в логе список end end
|
|
|
|
cirus |
16.6.2020, 12:50
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26762
Пользователь №: 16.971
Возраст: 29
|
Код --lua log 'clear' log 'mode compact' local path = [[C:\Users\второй пользователь\Desktop\UoPiloT\VicDeath]] -- путь к папке local image, count = dir (path, '*.bmp', 'norecursion') local pole = {750,150,1220,520}
log ("Найдено файлов: " .. tostring(count))
if count then for i=1, #image do log (tostring(i) .. ' ' .. image[i][1]) local A, a = findimage (pole[1], pole[2], pole[3], pole[4], { string.format ("%q", image[i][1]) }, 2, 80, -1) log('Результат поиска: ' .. tostring(a)) log () end end В рамках пилота лучше не использовать пути с пробелами, чтобы избежать лишних проблем.
|
|
|
|
XaЛBa |
16.6.2020, 13:40
|
Neophyte
Сообщений: 32
Регистрация: 12.4.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.293
|
тестанул, все ок, корень зла именно в пробеле, в local path..... кавычки мешают (хотя почему так и не понял), а в финде - там грамотно избавились за счет string.format ("%q", image[i][1]) - вернуть строку в двойных кавычках, проще переставить пилот в другое место и гиморой исправиться, спасибки , разобрался , учту
|
|
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|