проблема с mimgui

yankee56

Новичок
Автор темы
3
0
Версия MoonLoader
Другое
Недавно начал изучать mimgui, в строке ->
imgui.GetIO().IniFilename = nil (20 строка) постоянно ошибка, код взят с гайда с этого же форума
Код:
local imgui = require 'mimgui'
local vkeys = require 'vkeys'

local wm = require 'windows.message'
local new = imgui.new

local renderWindow = new.bool()
local sizeX, sizeY = getScreenResolution()

imgui.OnInitialize(function()   --[[Функция, вызывающаяся один раз за период жизни скрипта.
                                    Обратите внимание, что пока никакое ImGui окно ни разу не показывалось,
                                    функция не вызовется и это может вызвать ошибки об отсутствии
                                    каких-либо переменных, если вы их здесь объявили.
                                    Поэтому, здесь следует просто изменять значения по умолчанию, например:
                                    цвет элементов, "сохранять ли настройки и в какой файл"
                                    Либо подгружать картинки, необходимые для показа окнам ImGui
                                    Если вы за пределами ImGui попытаетесь подгрузить картинку, вы поймаете ошибку.]]

    -- Выключаем сохранение. По умолчанию: moonloader/config/mimgui/%scriptfilename%.ini
    imgui.GetIO().IniFilename = nil
end)

local newFrame = imgui.OnFrame(
    function() return renderWindow[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(200, 150), imgui.Cond.FirstUseEver)
        imgui.Begin("Main Window", renderWindow)
        imgui.Text("Hello")
        imgui.Text(string.format("Current render mode: %s", renderWindow[0]))
        imgui.End()
    end
)

function main()
    addEventHandler('onWindowMessage', function(msg, wparam, lparam)
        if msg == wm.WM_KEYDOWN or msg == wm.WM_SYSKEYDOWN then
            if wparam == vkeys.VK_X then
                renderWindow[0] = not renderWindow[0]
            end
        end
    end)
    wait(-1)
end
 

ChаtGPT

Известный
428
109
Недавно начал изучать mimgui, в строке ->
imgui.GetIO().IniFilename = nil (20 строка) постоянно ошибка, код взят с гайда с этого же форума
Код:
local imgui = require 'mimgui'
local vkeys = require 'vkeys'

local wm = require 'windows.message'
local new = imgui.new

local renderWindow = new.bool()
local sizeX, sizeY = getScreenResolution()

imgui.OnInitialize(function()   --[[Функция, вызывающаяся один раз за период жизни скрипта.
                                    Обратите внимание, что пока никакое ImGui окно ни разу не показывалось,
                                    функция не вызовется и это может вызвать ошибки об отсутствии
                                    каких-либо переменных, если вы их здесь объявили.
                                    Поэтому, здесь следует просто изменять значения по умолчанию, например:
                                    цвет элементов, "сохранять ли настройки и в какой файл"
                                    Либо подгружать картинки, необходимые для показа окнам ImGui
                                    Если вы за пределами ImGui попытаетесь подгрузить картинку, вы поймаете ошибку.]]

    -- Выключаем сохранение. По умолчанию: moonloader/config/mimgui/%scriptfilename%.ini
    imgui.GetIO().IniFilename = nil
end)

local newFrame = imgui.OnFrame(
    function() return renderWindow[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(200, 150), imgui.Cond.FirstUseEver)
        imgui.Begin("Main Window", renderWindow)
        imgui.Text("Hello")
        imgui.Text(string.format("Current render mode: %s", renderWindow[0]))
        imgui.End()
    end
)

function main()
    addEventHandler('onWindowMessage', function(msg, wparam, lparam)
        if msg == wm.WM_KEYDOWN or msg == wm.WM_SYSKEYDOWN then
            if wparam == vkeys.VK_X then
                renderWindow[0] = not renderWindow[0]
            end
        end
    end)
    wait(-1)
end
Какая ошибка? Может ты саму библиотеку mimgui не установил?
(Или, может быть, ты поставил новейшую mimgui 1.91.9b, которая не совместима со старыми версиями, скачай 1.7.1 или 1.7.0

(у меня всё работает)
 
Последнее редактирование:

Winstаl

Известный
841
317
Какая ошибка? Может ты саму библиотеку mimgui не установил?
(Или, может быть, ты поставил новейшую mimgui 1.91.9b, которая не совместима со старыми версиями, скачай 1.7.1 или 1.7.0
А может хватит городить херню, и писать про совместимость/несовместимость старых и новых версий? Если тебе это так нужно, составь блок кода с переназначением новых имен функций на старые (их совсем немного), для 90% скриптов данный подход решит проблемы с обратной совместимостью.

У человека же проблема явно не связанная с версией mimgui (тут нет функций, с измененными названиями), здесь local renderWindow = new.bool() ты инициализируешь переменную как булевую, но не присваиваешь ей никакое значение (true/false). Да и прикрепи строки из moonloader.log, чтобы четко видеть ошибку.
 
  • Клоун
Реакции: ChаtGPT

ChаtGPT

Известный
428
109
А может хватит городить херню, и писать про совместимость/несовместимость старых и новых версий? Если тебе это так нужно, составь блок кода с переназначением новых имен функций на старые (их совсем немного), для 90% скриптов данный подход решит проблемы с обратной совместимостью.

У человека же проблема явно не связанная с версией mimgui (тут нет функций, с измененными названиями), здесь local renderWindow = new.bool() ты инициализируешь переменную как булевую, но не присваиваешь ей никакое значение (true/false). Да и прикрепи строки из moonloader.log, чтобы четко видеть ошибку.
Ты интересный какой-то... Говоришь за переназначение имен функций, это конечно-же решение для НОВЫХ скриптов, но это костыль. Тебя не смущает, что на форуме сотни скриптов написаных на mimgui v1.7.1? Если мы ЗАМЕНЯЕМ на новую 1.91.9b, то что? Додумаешься? Или может ты сам будешь переписывать сотни скриптов? Будешь этим заниматься? Нет, никто не будет этим заниматься. На текущий момент уже разделили старый и новый mimgui на отдельные библиотеки.

здесь local renderWindow = new.bool() ты инициализируешь переменную как булевую, но не присваиваешь ей никакое значение (true/false)
Мда, знаешь, что такое нулевое значение? Строки - "", булевые - false, целые - 0.
Здесь стоит false, если явно ничего не указано.
 
Последнее редактирование:
  • Нравится
Реакции: Winstаl

yankee56

Новичок
Автор темы
3
0
Какая ошибка? Может ты саму библиотеку mimgui не установил?
(Или, может быть, ты поставил новейшую mimgui 1.91.9b, которая не совместима со старыми версиями, скачай 1.7.1 или 1.7.0

(у меня всё работает)
Версия 1.1.6 вроде. Качал отсюда
 

dmitry.kale

Активный
347
83
 

yankee56

Новичок
Автор темы
3
0
А может хватит городить херню, и писать про совместимость/несовместимость старых и новых версий? Если тебе это так нужно, составь блок кода с переназначением новых имен функций на старые (их совсем немного), для 90% скриптов данный подход решит проблемы с обратной совместимостью.

У человека же проблема явно не связанная с версией mimgui (тут нет функций, с измененными названиями), здесь local renderWindow = new.bool() ты инициализируешь переменную как булевую, но не присваиваешь ей никакое значение (true/false). Да и прикрепи строки из moonloader.log, чтобы четко видеть ошибку.
Присвоил ей true, ничего не изменилось.

moonloader.log:
[16:23:39.353706] (system)    Loading script 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua'...
[16:23:39.355706] (debug)    New script: 170A9E44
[16:23:39.360707] (error)    firstImgui.lua: ...sktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua:1: module 'mimgui' not found:
    no field package.preload['mimgui']
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui\init.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui\init.lua'
    no file '.\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui\init.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui\init.luac'
    no file '.\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.dll'
stack traceback:
    [C]: in function 'require'
    ...sktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua:1: in main chunk
[16:23:39.360707] (error)    firstImgui.lua: Script died due to an error. (170A9E44)
 

plalkeo

Известный
839
338
Присвоил ей true, ничего не изменилось.

moonloader.log:
[16:23:39.353706] (system)    Loading script 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua'...
[16:23:39.355706] (debug)    New script: 170A9E44
[16:23:39.360707] (error)    firstImgui.lua: ...sktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua:1: module 'mimgui' not found:
    no field package.preload['mimgui']
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui\init.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui\init.lua'
    no file '.\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui\init.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui\init.luac'
    no file '.\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.dll'
stack traceback:
    [C]: in function 'require'
    ...sktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua:1: in main chunk
[16:23:39.360707] (error)    firstImgui.lua: Script died due to an error. (170A9E44)
1746531363328.png
 

ChаtGPT

Известный
428
109
Присвоил ей true, ничего не изменилось.

moonloader.log:
[16:23:39.353706] (system)    Loading script 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua'...
[16:23:39.355706] (debug)    New script: 170A9E44
[16:23:39.360707] (error)    firstImgui.lua: ...sktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua:1: module 'mimgui' not found:
    no field package.preload['mimgui']
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui\init.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui\init.lua'
    no file '.\mimgui.lua'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui\init.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\mimgui\init.luac'
    no file '.\mimgui.luac'
    no file 'C:\Users\Administrator\Desktop\GTA BY KANZ #8 MAFIA GTA\moonloader\lib\mimgui.dll'
stack traceback:
    [C]: in function 'require'
    ...sktop\GTA BY KANZ #8 MAFIA GTA\moonloader\firstImgui.lua:1: in main chunk
[16:23:39.360707] (error)    firstImgui.lua: Script died due to an error. (170A9E44)
Если ты не можешь распознавать ошибки своих скриптов, далеко ты не уйдёшь.
У тебя не установлен mimgui.
 
  • Нравится
Реакции: Winstаl