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

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> findimage Lua., Помощь написание скрипта.
DarkMaster
сообщение 14.12.2022, 9:12
Сообщение #21


***********

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



Производительность очень сильно зависит от размера области и размера изображения. Так изображение 5x5 в области 100x100 будет находиться в 16 раз быстрее, чем 10x10 в области 200x200.


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


*

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



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

Задача:
Пока ждем картинку1, ищем картинку2 или 3. После нахождения картинки1, проверяем, нашлась ли картинка2 или 3.

Мой код:

Код

--lua

local startX, startY, endX, endY = 0, 0, 1920, 1080

local path = [["F:\путь\картинка1.bmp"]]
while not findimage (startX, startY, endX, endY, {path}, 2) do
        local path1 = [[F:\путь]]
        local image = {"картинка2", "картинка3"}
        for i=1, #image do                    
            local arr, c = findimage (startX, startY, endX, endY, {path1 .. "\\" .. image[i] .. ".bmp"}, 2, 70, 2, 2)
        end
end

-- после появления картинки1, проверяем, нашлась ли картинка2 или 3 (то есть берем переменную из предыдущего цикла)
if c then        
        local x = (1727 + math.random (39))
        local y = (965 + math.random (15))
        move (x, y)
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 8.3.2023, 18:40
Сообщение #23


**********

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



Цитата
но не до конца понимаю отдельные моменты в работе Lua.

Для примера 2 скрипта, нужно понимать разницу:
Код
--lua
if true then
    local c = 123  -- локальная переменная, существует только в этом блоке if end
end

log(c)    -- nil переменной не существует

Код
--lua
local c
if true then
    c = 123
end

log(c)
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 8.3.2023, 20:19
Сообщение #24


****

Apprentice
Сообщений: 233
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1161
Пользователь №: 15.246
Возраст: 25



а почему здесь {path1 .. "\\" .. image[i] .. ".bmp"} двойной слэш? это получается F:\путь\\картинка2.bmp. Это верная запись?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 8.3.2023, 20:58
Сообщение #25


**********

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



Цитата
а почему здесь {path1 .. "\\" .. image[i] .. ".bmp"} двойной слэш?

Escape-последовательность
Код
--lua
log("C:\\folder1\\folder2")


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

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

 

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