выбор клавиши mimgui

fsrxvdd

Участник
Автор темы
106
20
Версия MoonLoader
.026-beta
подскажите пожалуйста, как сделать выбор клавиши (hotkey) для определенного действия в mimgui
 

XRLM

Против ветра рождённый
Модератор
1,570
1,154
 
  • Нравится
Реакции: fsrxvdd

fsrxvdd

Участник
Автор темы
106
20
я думал раз имгуи так не подходит...
 

Ancwork

Участник
72
9
я думал раз имгуи так не подходит...
Lua:
-- Для начала подключаем все необходимые библиотеки
local imgui = require 'mimgui'
local hotkey = require 'mimgui_hotkeys'
local inicfg = require 'inicfg'
-- Создаём конфиг
local cfg = inicfg.load({
    config = {
        bind = '[16, 67]'
    },
}, 'inifile.ini')
inicfg.save(cfg, 'inifile.ini')

local sw, sh = getScreenResolution()
local mainWindow = imgui.new.bool(true)
local exampleHotKey -- эта переменная позже будет хранить в себе хоткей

function main()
    while not isSampAvailable() do wait(100) end
    exampleHotKey = hotkey.RegisterHotKey('random hotkey 1', false, decodeJson(cfg.config.bind), function() sampAddChatMessage('Keys have been pressed', -1) end) -- регистрируем хоткей, а также вписываем туда клавиши из конфига. Не забываем привести это в стандартную луа таблицу с помощью декодирования JSON
    wait(-1)
end

imgui.OnInitialize(function()
    imgui.GetIO().IniFilename = nil
end)

mainFrame = imgui.OnFrame(
    function() return mainWindow[0] end,
    function(window)
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(500, 500), imgui.Cond.FirstUseEver)
        imgui.Begin('Example HotKey Window', mainWindow)
        if exampleHotKey:ShowHotKey() then -- создаем условие, которое будет срабатывать при обновлении бинда пользователем
            cfg.config.bind = encodeJson(exampleHotKey:GetHotKey()) -- заносим в конфиг изменённую пользователем комбинацию клавиш
            inicfg.save(cfg, 'inifile.ini') -- не забываем конфиг сохранить
        end
        imgui.End()
    end
)


mimgui_hotkey.lua тебе нужно кинуть в lib

Тему уже не найду, сорянчик
 

Вложения

  • mimgui_hotkeys.lua
    5.9 KB · Просмотры: 2
  • Влюблен
Реакции: fsrxvdd