- 24
- 0
- Версия MoonLoader
- Другое
Добрый день, загорелся сделать простенький скрипт, но столкнулся с проблемой в imgui с выводом картинки, после нажатия кнопки скрипт крашит с ошибкой. Подскажите как быть, код и картинка ниже. Либо Подскажите как сделать по нваведению на текст всплывающую подсказку в виде картинки. (( хз какая версия монлоудер, поставил на бум тут ))
Мой код:
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.GetWindowWidht(), imgui.GetWindowHeight()/2))
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()
--