Баг с mimgui hotkeys

.KOHTOP.

Активный
Автор темы
219
35
Версия MoonLoader
.027.0-preview
Добавил в свой скрипт mimgui hotkeys, они работают, но если свернуться и назад, то перестают работать (помогает только божья сила и перебинд)
Lua:
local hotkey = require('mimgui_hotkeys')

local ini = inicfg.load(inicfg.load({
    hotkey = {
        airbrake = '[]',
        autoreport = '[]',
        admintools = '[45]',
        wallhack = '[]',
        wallhackCar = '[]',
        globalCursor = '[]',
        formaTrue = '[]',
        formaFalse = '[]',
        hotkey_tp_menu = '[]',
    },
}, directIni))
inicfg.save(ini, directIni)

local hotkey_amenu
local hotkey_forma
local hotkey_forma1
local hotkey_tp_menu

        ------ M A I N --------
        hotkey_amenu = hotkey.RegisterHotKey('###HotKey1', false, decodeJson(ini.hotkey.admintools), function() code[0] = not code[0] end)
        hotkey_forma = hotkey.RegisterHotKey('###HotKey2', false, decodeJson(ini.hotkey.formaTrue), function ()
               -- Моя функция
        end)
        hotkey_forma1 = hotkey.RegisterHotKey('###HotKey3', false, decodeJson(ini.hotkey.formaFalse), function ()
            -- Моя функция
        end)
        hotkey_tp_menu = hotkey.RegisterHotKey('###HotKey4', false, decodeJson(ini.hotkey.hotkey_tp_menu), function() sampAddChatMessage(tag .. 'Временно недоступно!', -1) end)
        
        
if hotkey_amenu:ShowHotKey(imgui.ImVec2(170, 25)) then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
                    ini.hotkey.admintools = encodeJson(hotkey_amenu:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
                    inicfg.save(ini, 'AdminTools\\config.ini') -- не забываем конфиг сохранить
                end

                 ---- В M I M G U I -------
                if hotkey_forma:ShowHotKey(imgui.ImVec2(170, 25)) then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
                    ini.hotkey.formaTrue = encodeJson(hotkey_forma:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
                    inicfg.save(ini, 'AdminTools\\config.ini') -- не забываем конфиг сохранить
                end
                if hotkey_forma1:ShowHotKey(imgui.ImVec2(170, 25)) then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
                    ini.hotkey.formaFalse = encodeJson(hotkey_forma1:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
                    inicfg.save(ini, 'AdminTools\\config.ini') -- не забываем конфиг сохранить
                end
                if hotkey_tp_menu:ShowHotKey(imgui.ImVec2(170, 25)) then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
                    ini.hotkey.hotkey_tp_menu = encodeJson(hotkey_tp_menu:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
                    inicfg.save(ini, 'AdminTools\\config.ini') -- не забываем конфиг сохранить
                end
 

Дядя Энрик.

Активный
319
75
Добавил в свой скрипт mimgui hotkeys, они работают, но если свернуться и назад, то перестают работать (помогает только божья сила и перебинд)
Lua:
local hotkey = require('mimgui_hotkeys')

local ini = inicfg.load(inicfg.load({
    hotkey = {
        airbrake = '[]',
        autoreport = '[]',
        admintools = '[45]',
        wallhack = '[]',
        wallhackCar = '[]',
        globalCursor = '[]',
        formaTrue = '[]',
        formaFalse = '[]',
        hotkey_tp_menu = '[]',
    },
}, directIni))
inicfg.save(ini, directIni)

local hotkey_amenu
local hotkey_forma
local hotkey_forma1
local hotkey_tp_menu

        ------ M A I N --------
        hotkey_amenu = hotkey.RegisterHotKey('###HotKey1', false, decodeJson(ini.hotkey.admintools), function() code[0] = not code[0] end)
        hotkey_forma = hotkey.RegisterHotKey('###HotKey2', false, decodeJson(ini.hotkey.formaTrue), function ()
               -- Моя функция
        end)
        hotkey_forma1 = hotkey.RegisterHotKey('###HotKey3', false, decodeJson(ini.hotkey.formaFalse), function ()
            -- Моя функция
        end)
        hotkey_tp_menu = hotkey.RegisterHotKey('###HotKey4', false, decodeJson(ini.hotkey.hotkey_tp_menu), function() sampAddChatMessage(tag .. 'Временно недоступно!', -1) end)
      
      
if hotkey_amenu:ShowHotKey(imgui.ImVec2(170, 25)) then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
                    ini.hotkey.admintools = encodeJson(hotkey_amenu:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
                    inicfg.save(ini, 'AdminTools\\config.ini') -- не забываем конфиг сохранить
                end

                 ---- В M I M G U I -------
                if hotkey_forma:ShowHotKey(imgui.ImVec2(170, 25)) then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
                    ini.hotkey.formaTrue = encodeJson(hotkey_forma:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
                    inicfg.save(ini, 'AdminTools\\config.ini') -- не забываем конфиг сохранить
                end
                if hotkey_forma1:ShowHotKey(imgui.ImVec2(170, 25)) then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
                    ini.hotkey.formaFalse = encodeJson(hotkey_forma1:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
                    inicfg.save(ini, 'AdminTools\\config.ini') -- не забываем конфиг сохранить
                end
                if hotkey_tp_menu:ShowHotKey(imgui.ImVec2(170, 25)) then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
                    ini.hotkey.hotkey_tp_menu = encodeJson(hotkey_tp_menu:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
                    inicfg.save(ini, 'AdminTools\\config.ini') -- не забываем конфиг сохранить
                end
как заявлено автором, пустой хоткей должен в конфиге выглядеть следующий образом:

Lua:
test1 = '{}' --пустой
test2 = '[79]' --клавиша

на счёт function main
Lua:
test = hotkey.RegisterHotKey('cmd', false, decodeJson(сюда свой конфиг), function() sampAddChatMessage('хоткей работает', -1) end)

на счёт фрейма

Lua:
if test:ShowHotKey(imgui.ImVec2(150, 25)) then
    свой конфиг = encodeJson(test:GetHotKey())
    inicfg.save(config, directIni)
end