Помогите крашит скрипт [ML] (error) Transport: Script died due to an error. (0BFC3324)

Ackerman_Kirito

Новичок
Автор темы
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()

--
 

RedHolms

Известный
Проверенный
617
360
Добрый день, загорелся сделать простенький скрипт, но столкнулся с проблемой в 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()

--
Ну да, ошибку давать необязательно
 
  • Нравится
Реакции: Ackerman_Kirito

RedHolms

Известный
Проверенный
617
360
  • Нравится
Реакции: Ackerman_Kirito

Ackerman_Kirito

Новичок
Автор темы
24
0
Ну да, ошибку давать необязательно
[ML] (error) Transport: C:\Game play\Äëÿ ñáîðêè\SAMP\moonloader\imgui_id.lua:80: attempt to call field 'GetWindowWidht' (a nil value)
stack traceback:

[ML] (error) Transport: Script died due to an error. (0F57F04C)
 

Ackerman_Kirito

Новичок
Автор темы
24
0
80-я строка, банальная ошибка
GetWindowWidth, а не GetWindowWidht
Супер, не крашит, только другая теперь проблема
картинка не открывается, а проскальзывает белая текстура на долю секунды, записал

Закрыто
 
Последнее редактирование: