local image = {
file = getWorkingDirectory()..'\\resource\\картинка.png',
handle = nil
}
function main()
while not isSampAvailable() do wait(0) end
if doesFileExist(image.file) then
image.handle = imgui.CreateTextureFromFile(image.file)
end
while true do
wait(0)
end
end
--imgui
if image.handle then
imgui.SetCursorPos(imgui.ImVec2(положение x, положение y))
imgui.Image(image.handle, imgui.ImVec2(ширина, высота))
end
самому расположить, размер можно узнать в свойствах картинки(пкм по файлу - св-ва)А как узнать положение, и размеры?
А как узнать положение, и размеры?
x,y = renderGetTextureSize(HandleImage)
Как засунуть картинку в кнопку, точнее вывод по нажатию или наведению(как всплывающая подсказка)
imgui.Button("Button##1")
if imgui.IsItemHovered() then
imgui.BeginTooltip();
--если хочешь вывести тупо текст, то функция ниже, если картинку - выше кинули
imgui.TextUnformatted("Button number 1");
imgui.EndTooltip();
end
Привет спасибо за помощь, вот что получилось, код ниже и скриныLua:imgui.Button("Button##1") if imgui.IsItemHovered() then imgui.BeginTooltip(); --если хочешь вывести тупо текст, то функция ниже, если картинку - выше кинули imgui.TextUnformatted("Button number 1"); imgui.EndTooltip(); end
imgui.Begin(u8"ID Автомобилей v: 1.0 · by Ackerman ®", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
if imgui.Selectable("401 Bravura", false) then
imgui.Image(image, imgui.ImVec2(imgui.GetWindowWidth(), imgui.GetWindowWidth()/2))
end
if imgui.IsItemHovered("401 Bravura") then
imgui.BeginTooltip(image, imgui.ImVec2(imgui.GetWindowWidth(), imgui.GetWindowWidth()/2))
end
гдеif imgui.IsItemHovered("401 Bravura") then imgui.BeginTooltip(image, imgui.ImVec2(imgui.GetWindowWidth(), imgui.GetWindowWidth()/2)) end
imgui.EndTooltip();
?потому что между begin tooltip и end tooltip нету контента
А как туда путь файла прописать?потому что между begin tooltip и end tooltip нету контента
imgui.Begin(u8"ID Автомобилей v: 1.0 · by Ackerman ®", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
if imgui.Selectable("401 Bravura", false) then
imgui.Image(image, imgui.ImVec2(imgui.GetWindowWidth(200), imgui.GetWindowWidth(300)/2))
end
if imgui.IsItemHovered("401 Bravura") then
imgui.BeginTooltip(image, imgui.ImVec2(imgui.GetWindowWidth(), imgui.GetWindowWidth()/2))
imgui.EndTooltip()
end
imgui.End()
никак, нужно предварительно грузить изображениеА как туда путь файла прописать?
...:imgui.Begin(u8"ID Автомобилей v: 1.0 · by Ackerman ®", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse) if imgui.Selectable("401 Bravura", false) then imgui.Image(image, imgui.ImVec2(imgui.GetWindowWidth(200), imgui.GetWindowWidth(300)/2)) end if imgui.IsItemHovered("401 Bravura") then imgui.BeginTooltip(image, imgui.ImVec2(imgui.GetWindowWidth(), imgui.GetWindowWidth()/2)) imgui.EndTooltip() end imgui.End()
У меня сейчас error будет, простите за тупость. Ниже полный код кину скажите строчки что куда писать пожалуйстаникак, нужно предварительно грузить изображение
script_name("Transport") -- Название скрипта
script_author("by K.Ackerman") -- Автор скрипта
script_description("Информация транспорта версия 1.0") -- Описание скрипта
require "lib.moonloader" -- Подключение библиотеки
local tag = "[ID транспорта 1.0]: " -- Локальнв=ая переменная
local keys = require "vkeys" --
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = "CP1251"
u8 = encoding.UTF8
local inicfg = require 'inicfg'
local fa = require 'fAwesome5'
local flags = require 'moonloader'.font_flag
local events = require 'samp.events'
local combo_select = imgui.ImInt(0)
local tag = "[Информация]: " --
local tag1 = "[Подсказка]: "
local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local wite_color = "{FFFFFF}"
--
local sw, sh = getScreenResolution()
-- Спец переменные для imgui
local main_window_state = imgui.ImBool(false)
arrSelectable = {false, false}
local text_buffer = imgui.ImBuffer(256)
local imgur
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
sampRegisterChatCommand("inf", cmd_inf)
imgui.Process = false -- Процесс
sampAddChatMessage(tag .. "{FFFFFF}Скрипт успешно загружен | Версия 1.0 | by Ackerman", 0xFF0000)
sampAddChatMessage(tag1 .. "{FFFFFF}Для вывода информации используйте команду {008000}/inf", 0xFF0000)
-- Разовый цикл
image = imgui.CreateTextureFromFile("moonloader/images/Vehicle_400.")
while true do
wait(0)
if main_window_state.v == false then
imgui.Process = false
end
-- Бесконечный цикл
end
end
function cmd_inf(arg)
sampAddChatMessage(tag .. "{FFFFFF}Добро пожаловать в меню.", 0xFF0000)
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
end
function imgui.OnDrawFrame()
if not main_window_state then
imgui.Process = false
end
-- Положение окна
imgui.SetNextWindowSize(imgui.ImVec2(400, 500), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2((sw / 2), sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
--
imgui.Begin(u8"ID Автомобилей v: 1.0 · by Ackerman ®", main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
if imgui.Selectable("401 Bravura", false) then
imgui.Image(image, imgui.ImVec2(imgui.GetWindowWidth(), imgui.GetWindowWidth()/2))
end
if imgui.IsItemHovered("401 Bravura") then
imgui.BeginTooltip(image, imgui.ImVec2(imgui.GetWindowWidth(), imgui.GetWindowWidth()/2))
imgui.EndTooltip()
end
imgui.End()
end
-- Центровка названия в окне
function apply_custom_style()
imgui.SwitchContext()
local style = imgui.GetStyle()
style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
end
apply_custom_style()