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

> findimage Lua., Помощь написание скрипта.
Санёк.R.
сообщение 6.11.2022, 10:22
Сообщение #1


**

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



Добрый день. Хочу написать скрипт с 0. Кто сможет помогите пожалуйста. Буду писать по очериди что надо.
Это есть.
Код

--lua
math.randomseed(os.clock())
local handle = findwindow('кнут')
if handle then
  workwindow(handle[1][1])
  showwindow(handle[1][1])
  windowpos(1, 1, 1366, 768)
else
  log('Окно не найдено')
end
log 'clear' log 'mode compact'
log ("open", 10, 563, 290, 190) -- открыть окно лога в координатах , с размером
log ("АС")

--есть: Работает не очень как хочу но это ПОТОМ.
local startX, startY, endX, endY = 0, 0, 1366, 768  -- координаты поиска
local path = [[C:\Newfindi]] -- путь к картинкам

local image = {"Сундук", "Красный", "Синий", "Зелёный", "Отдать", "Забрать"}   -- Именами картинок
hint ("Всего картинок для поиска " .. #image)
for i= #image, 1, -1  do   --  for i=1, #image do  -- цикл для поиска картинок
    local arr, a = findimage (startX, startY, endX, endY, {path .. "\\" .. image[i] .. ".bmp"}, 2)  -- поиск картинки
    if a > 0 then    -- if  arr then
       kleft (arr[1][1], arr[1][2])
       wait (310 + math.random (100))
    end
end


НАДО:
Сделать Ждал появления Красной картинки на экране и нашёл её в папке где картинки. Это как пример while color(639, 165,"abs") ~= 1331506 do -- ЖДАТЬ
Это первое что надо решить. Потом всё остальное.Спасибо.

Сообщение отредактировал DarkMaster - 6.11.2022, 10:54
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 6.11.2022, 11:03
Сообщение #2


***********

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



Цитата
for i= #image, 1, -1 do -- for i=1, #image do -- цикл для поиска картинок

Обратный порядок чем-то обусловлен? Закоменченное for i=1, #image do пробще и как-то логичнее.

Цитата
НАДО:
Сделать Ждал появления Красной картинки на экране и нашёл её в папке где картинки.

Что есть нашел картинку в папке? Ну если мы ищем на экране "ваза.bmp", то в папке будет "ваза.bmp".
По ожиданию:
Код

while color(x, y) ~= your_color do
    wait(100)
end


Если задача стоит в случае верного цвета дополнительно проверить наличие картинки (так делать не рекоменду., т.к. только замедлите скрипт, обычно проще по ресурсам сразу искать конечную картинку за исключением случаев очень большой зоны поиска и большой картинки):
Код

while not (color(x, y) == your_color and findimage(...)) do
    wait(100)
end


Сообщение отредактировал DarkMaster - 6.11.2022, 11:08


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


**

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



while not (color(x, y) == your_color and findimage(...)) do
wait(100)
end
Куда не ставлю не выходит у меня. Вот написал простой скрипт чтоб понятней было что хочу . Всё по парядку работает как надо.только надо сократить и правельно сделать всё в findimange.Если не трудно помогите или отавлю таким рабочим но не красивым.

Код

::start::
local startX, startY, endX, endY = 0, 0, 1366, 768  -- координаты поиска
local path = [[C:\Newfindi]] -- путь к картинкам

while color(715, 396,"abs") ~= 1914709 do -- ЖДАТЬ  НАДО Что бы findimange Было.
wait(500 + math.random(150))
end

-- БЛОК КАРТИНОК ПРЕДМЕТОВ.
local image = {"книга", "клыки", "коты"} -- ИМЕНА КАРТИНОК.
  hint ("Всего картинок для поиска " .. #image)
    for i=1, #image do  -- цикл для поиска картинок
local arr, a = findimage (startX, startY, endX, endY, {path .. "\\" .. image[i] .. ".bmp"}, 2)  -- поиск картинки
    if  arr then
kleft (arr[1][1], arr[1][2])
   wait (230 + math.random (100))
end
end

После клика по картинки выезжает табло со словами.
-- БЛОК КАРТИНОК НАДПИСЕЙ.
   wait (230 + math.random (100))
local image = {"открыть", "опусташить", "вскрыть"} -- ИМЕНА СЛОВ.
  hint ("Всего картинок для поиска " .. #image)
    for i=1, #image do  -- цикл для поиска картинок
local arr, a = findimage (startX, startY, endX, endY, {path .. "\\" .. image[i] .. ".bmp"}, 2)  -- поиск картинки
    if  arr then
kleft (arr[1][1], arr[1][2])
   wait (1110 + math.random (170))
end
end

local image = {"череп"} --
  hint ("Всего картинок для поиска " .. #image)
    for i=1, #image do  -- цикл для поиска картинок
local arr, a = findimage (startX, startY, endX, endY, {path .. "\\" .. image[i] .. ".bmp"}, 2)  -- поиск картинки
    if  arr then
   wait (210 + math.random (100))
log('Череп')
goto start
end
end
while color(715, 396,"abs") ~= 1914709 do -- ЖДАТЬ  НАДО Что бы findimange Было.
wait(500 + math.random(150))
end
Ниже бругие блоки срипта.
goto start


Сообщение отредактировал DarkMaster - 7.11.2022, 23:13
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Санёк.R.   findimage Lua.   6.11.2022, 10:22
Санёк.R.   Обратный порядок чем-то обусловлен? Закоменченное ...   6.11.2022, 11:21
Demych1   Аналогичная проблема: нужно дождаться появления оп...   6.11.2022, 11:47
Санёк.R.   Аналогичная проблема: нужно дождаться появления о...   6.11.2022, 12:02
Demych1   Не знаю сам только учусь. А так while_not #a ...   6.11.2022, 12:31
Demych1   Аналогичная проблема: нужно дождаться появления о...   6.11.2022, 13:44
DarkMaster   Demych1, пишите сразу на луа. В данный момент нет ...   6.11.2022, 16:16
Madeus   while not (color(x, y) == your_color and findimag...   7.11.2022, 10:53
Санёк.R.   Если правильно понял что ты хочешь repeat imag...   7.11.2022, 11:06
DarkMaster   Если проблема осталась - сообщите, поможем. // По...   7.11.2022, 23:14
Санёк.R.   Спасибо Всем. Ошибка найдена, проблема решена, всё...   8.11.2022, 9:20
Zenogiasu   Прошу прощения за нубский вопрос, но не подскажете...   3.12.2022, 4:14
nykep   Прошу прощения за нубский вопрос, но не подскажет...   3.12.2022, 4:51
Zenogiasu   https://uopilot.tati.pro/index.php?title=Findimag...   3.12.2022, 5:22
Остап Бендер   Блин, ошибся)) я имел в виду Финдколор. Финдколор...   3.12.2022, 8:26
Zenogiasu   Читай темы тут много таких образцов для Колор. А ...   13.12.2022, 23:27
DarkMaster   там есть "фишки" close = {} -- Обязател...   3.12.2022, 11:34
Санёк.R.   Может кому пригодится новичкам как я. Подсказка ci...   3.12.2022, 15:27
DarkMaster   Производительность очень сильно зависит от размера...   14.12.2022, 9:12
Мащекус   Нужна помощь - понимаю логику написания, но не до ...   8.3.2023, 16:39
cirus   Для примера 2 скрипта, нужно понимать разницу: --...   8.3.2023, 18:40
nykep   а почему здесь {path1 .. "\\" ...   8.3.2023, 20:19
cirus   Escape-последовательность --lua log("C...   8.3.2023, 20:58


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

 

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