Исходник Софт [Module] ImGui Addons | v1.0.0

DonHomka

Я двигаю своим ass`om, boy!
Автор темы
Модератор
2,698
1,899
upload_2018-12-13_20-32-8.png

Большинство скриптеров явно сталкивались с ограничениями ImGui. Я имею ввиду отсутствие современных элементов, например переключатели или вовсе горячие клавиши. Данная библиотека призвана исправить это недоразумение, по крайней мере для MoonLoader!

Список элементов
- ToggleButton
- HotKey
- Spinner
- BufferingBar

Установка: Файл imgui_addons.lua поместить в папку moonloader/lib. Файл test.lua является примером использования библиотеки, его нужно поместить в moonloader.
* Для работы примера нужны собственно сам Moon ImGui и RKeys.
** Чтобы не подключать элементы отдельно:
Lua:
local imadd = require 'imgui_addons'
imadd.ToggleButton("##active", ImBool)
С удовольствием отвечу на то как что работает. Так же можете скидывать интересные C++ реализации кастомных элементов imgui, по возможности переведу на Lua.

Модуль рекомендуется использовать совместно с RKeys. Реализация показана в примере.
 

Вложения

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

Leatington

Активный
143
43
Наконец-то :D
Сделай ещё "время" для Spinner, чтобы он вращался 3-5 секунд, а потом пропадал, было бы очень полезно.
 

dmitri4

Активный
361
65
- HotKey после перезагрузки сбрасывается, есть возможность это исправить?
 

DonHomka

Я двигаю своим ass`om, boy!
Автор темы
Модератор
2,698
1,899
- HotKey после перезагрузки сбрасывается, есть возможность это исправить?
Сохранять в ини данные, при запуске скрипта создавать таблицу и привязывать её значение к хоткею
 

kotov

Участник
129
8
HotKey может различать LSHIFT и RSHIFT? просто в прикрепленном примере нет разницы нажимает игрок RSHIFT или LSHIFT
 

Infernus

Участник
78
9
У меня возник небольшой вопросец. Я делаю модификацию с использованием твоей функции ToggleButton, взятой ещё из полезных сниппетов с внесением некоторых изменений.
Lua:
-- ToggleButton by DonHomka (+ text + help)
function imgui.ToggleButton(str_id, bool, help_str)
-- оригинальный код
    imgui.SameLine()
    imgui.Text(str_id)
    imgui.SameLine() 
    if help_str ~= nil then
        showHelp(u8(help_str))
    end
    return rBool
end
Думаю, суть понятна - что бы сразу рисовался ещё и текст такой же, как название кнопки + подсказка, если такова задана. Это экономит в моём случае почти 300 строк, так как слишком дофига параметров с вкл/выкл.

Вопрос в том, можно ли используя функцию уже из либы её "модифицировать" в моём скрипте не копируя саму функцию кнопки в скрипт ? Надеюсь ты понял вопрос, а то я чёт написал сложно.

P.S. Ну а сама либа божественна.
 

DonHomka

Я двигаю своим ass`om, boy!
Автор темы
Модератор
2,698
1,899
У меня возник небольшой вопросец. Я делаю модификацию с использованием твоей функции ToggleButton, взятой ещё из полезных сниппетов с внесением некоторых изменений.
Lua:
-- ToggleButton by DonHomka (+ text + help)
function imgui.ToggleButton(str_id, bool, help_str)
-- оригинальный код
    imgui.SameLine()
    imgui.Text(str_id)
    imgui.SameLine()
    if help_str ~= nil then
        showHelp(u8(help_str))
    end
    return rBool
end
Думаю, суть понятна - что бы сразу рисовался ещё и текст такой же, как название кнопки + подсказка, если такова задана. Это экономит в моём случае почти 300 строк, так как слишком дофига параметров с вкл/выкл.

Вопрос в том, можно ли используя функцию уже из либы её "модифицировать" в моём скрипте не копируя саму функцию кнопки в скрипт ? Надеюсь ты понял вопрос, а то я чёт написал сложно.

P.S. Ну а сама либа божественна.
Конечно
Lua:
local iAddons = require 'imgui_addons'
-- ToggleButton by DonHomka (+ text + help)
function imgui.ToggleButton(str_id, bool, help_str)
    local rBool = iAddons.ToggleButton(str_id, bool)
    imgui.SameLine()
    imgui.Text(str_id)
    imgui.SameLine()
    if help_str ~= nil then
        showHelp(u8(help_str))
    end
    return rBool
end
 
  • Нравится
Реакции: Amazing и Infernus

BLASTHACKUSERNOVER

Новичок
15
1
Почему у меня текст в окошке для выбора горячей клавиши центруется? Как сделать так, чтобы он в окошке был слева?
 

DonHomka

Я двигаю своим ass`om, boy!
Автор темы
Модератор
2,698
1,899
А можно небольшой пример кода пожалуйста?) Просто не могу немного понять что к чему, ошибку выдает.
Это определяется в apply_custom_style есть он у тебя конечно есть. Или до вызова begin, или при инициализации если это mimgui.
 

BLASTHACKUSERNOVER

Новичок
15
1
Ок. А как сделать так, чтобы в файл записывалось значение заданной клавиши / комбинации клавиш (номером клавиши или ее названием)? Просто когда я пытаюсь в файл записать номер клавиши, то там пишет в значении "table: ....[цифробуквы]". Можешь показать на примере простенького кода?
 

DonHomka

Я двигаю своим ass`om, boy!
Автор темы
Модератор
2,698
1,899
Ок. А как сделать так, чтобы в файл записывалось значение заданной клавиши / комбинации клавиш (номером клавиши или ее названием)? Просто когда я пытаюсь в файл записать номер клавиши, то там пишет в значении "table: ....[цифробуквы]". Можешь показать на примере простенького кода?
я сохраняю в Json. С inicfg можно так же замутить, енкод и декод значения.
 
  • Нравится
Реакции: BLASTHACKUSERNOVER