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

> Loadimage и GetImage
Tindome
сообщение 1.7.2025, 16:42
Сообщение #1


**

Neophyte
Сообщений: 26
Регистрация: 16.10.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.059



Можно ли использовать переменные в loadimage?

set $path "D:\uopilot\Scrin\ST\"
set %img[5] LoadImage ($path pers_lvl.bmp)
stop_script

вот что пишет в логе:
16:35:55 1 (autosaved_1.txt, 0): set $path "D:\uopilot\Scrin\ST\"(D:\uopilot\Scrin\ST\)
16:35:55 1 (autosaved_1.txt, 0): $path = D:\uopilot\Scrin\ST\
16:35:55 1 (autosaved_1.txt, 1): set %img()[5] LoadImage ($path((D:\uopilot\Scrin\ST\) pers_lvl.bmp)
16:35:55 1 (autosaved_1.txt, 1): %img [ 5 1 ] = -4
16:35:55 1 (autosaved_1.txt, 2): stop_script

Или только полный путь до скринов прописывать ?

Второй вопрос. Как-то странно работает get image

set %j GetImage (616 0 0 788)

результатом получается не узкая вертикальная полоса, а вся правая часть экрана от точки 616 0 ....
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов(1 - 10)
DarkMaster
сообщение 1.7.2025, 21:16
Сообщение #2


***********

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



Цитата
результатом получается не узкая вертикальная полоса, а вся правая часть экрана от точки 616 0 ....

Там баг.

Цитата
Можно ли использовать переменные в loadimage?

Не выносите себе мозг со старым синтаксисом. Исползуйте lua.


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


**

Neophyte
Сообщений: 26
Регистрация: 16.10.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.059



Цитата(DarkMaster @ 1.7.2025, 21:16) *

Не выносите себе мозг со старым синтаксисом. Исползуйте lua.


В луа вроде такая же история ? ... путь прописывается полностью и нельзя сделать подстановку переменной?

С вики:
<filename> - путь и имя файла. Заключаются в квадратные скобки [[C:\UoPlot\image\picture1.bmp]] или кавычки "C:\\UoPlot\\image\\picture1.bmp", при этом \ заменить на \\. Если путь содержит пробелы, то нужно заключить путь в квадратные скобки и кавычки: [["C:\UoPlot image\picture1.bmp"]]. Если указано только имя, изображение должно находиться рядом с exe пилота.

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


***********

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



Цитата
В луа вроде такая же история ? ... путь прописывается полностью и нельзя сделать подстановку переменной?

lua полноценный скриптовый язык с полноценной поддержкой строк. Там дан базовый пример.


В Lua существует несколько способов объявить строки:

Двойные кавычки: "Это строка"
Одинарные кавычки: 'Это тоже строка'
[[ ]]: [[Это строка, которая может содержать любые символы, включая кавычки и переносы строки]]

Конкатенация строк

Конкатенация строк в Lua осуществляется при помощи оператора ..:

Код

str1 = "Привет, "
str2 = "мир!"
result = str1 .. str2
log(result)  -- выведет "Привет, мир!"


Примеры работы со строками

Код

-- пример 1: конкатенация строк
greeting = "Привет, " .. "мир!"
log(greeting)  -- выведет "Привет, мир!"

-- пример 2: использование [[ ]] для объявления строки
multiline_str = [[Это строка,
которая занимает
несколько строк]]
log(multiline_str)

-- пример 3: одинарные и двойные кавычки
single_quotes = 'Это строка с одинарными кавычками'
double_quotes = "А это строка с двойными кавычками"
log(single_quotes)
log(double_quotes)

-- пример 4: экранирование кавычек
quoted_str = "Это строка с \"кавычками\" внутри"
log(quoted_str)  -- выведет "Это строка с "кавычками" внутри"


Сообщение отредактировал DarkMaster - 2.7.2025, 21:34


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


***********

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



поправил пример


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


**

Neophyte
Сообщений: 26
Регистрация: 16.10.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.059



Цитата(DarkMaster @ 2.7.2025, 21:34) *

поправил пример


--lua
handle = findwindow([[Shop Titans]])
local i = getimage(940, 387, 1048, 492, handle, "abs")
saveimage (i, homepath().."picture.bmp")


результатом почему-то скрин не окна игры, а скрин с перекрывающим окном пилота... что я делаю не так?


Прикрепленные файлы
Прикрепленный файл  picture.bmp ( 34,01 килобайт ) Кол-во скачиваний: 21
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.7.2025, 11:57
Сообщение #7


***********

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



Цитата
handle = findwindow([[Shop Titans]])

результатом будем будет не хэндл, а массив с найденными окнами, их именами, хэндлами и т.д. Вам нужно передавать не handle, а handle[1][1]


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


**

Neophyte
Сообщений: 26
Регистрация: 16.10.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.059



Цитата(DarkMaster @ 3.7.2025, 11:57) *

результатом будем будет не хэндл, а массив с найденными окнами, их именами, хэндлами и т.д. Вам нужно передавать не handle, а handle[1][1]


убедился что handle[1][1] возвращает хэндл окна игры (12:05:50 0 (shop_titans_Lua.txt, 0): 115935606)
изменил в local i = getimage(940, 387, 1048, 492, handle[1][1], "abs")
результатом вернуло просто черный квадрат...

на всякий случай решил попробовать использовать конструкцию (вдруг привязка не привязка)

local handle = findwindow([[Shop Titans]])
workwindow (handle[1][1])
local i = getimage(940, 387, 1048, 492, handle[1][1], "abs")
saveimage (i, homepath().."picture.bmp")

результатом все равно черный квадрат.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.7.2025, 12:37
Сообщение #9


***********

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



Цитата
результатом вернуло просто черный квадрат...

вот это уже хуже. к сожалению через именно handle не всегда получается захватить изображение. особенности метода. не используйте полноэкранный режим в игре - это может помочь (максимизированное окно вполне подойдет)
если это не поможет могу предложить только использование метода "2", просто число вместо хэндла, без кавычек.


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


**

Neophyte
Сообщений: 26
Регистрация: 16.10.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.059



Цитата(DarkMaster @ 3.7.2025, 12:37) *

вот это уже хуже. к сожалению через именно handle не всегда получается захватить изображение. особенности метода. не используйте полноэкранный режим в игре - это может помочь (максимизированное окно вполне подойдет)
если это не поможет могу предложить только использование метода "2", просто число вместо хэндла, без кавычек.


Окно не в полноэкранном режиме, просто максимально растянуто. Ну значит будем использовать без перекрытий в быстром режиме.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Tindome
сообщение 3.7.2025, 13:27
Сообщение #11


**

Neophyte
Сообщений: 26
Регистрация: 16.10.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.059



Цитата(Tindome @ 3.7.2025, 12:50) *

Окно не в полноэкранном режиме, просто максимально растянуто. Ну значит будем использовать без перекрытий в быстром режиме.


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

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

 

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