local imgui = require("imgui")
local pie_mode = imgui.ImBool(true) -- режим PieMenu
local pie_keyid = 1 -- 0 ЛКМ, 1 ПКМ, 2 СКМ
local pie_elements =
{
{name = 'Сказать привет', action = function() sampSendChat('Привет.') end, next = nil},
{name = 'Сказать пока', action = function() sampSendChat('Пока.') end, next = nil},
{name = 'Сказать что-то', action = function() end, next = {
{name = 'Сказать как дела', action = function() sampSendChat('Как дела.') end, next = nil},
{name = 'Сказать ку-ку', action = function() sampSendChat('Ку-ку.') end, next = nil},
{name = 'Сказать дароу', action = function() sampSendChat('Дароу.') end, next = nil}
}}
}
if pie_mode.v then
if imgui.IsMouseClicked(pie_keyid) then imgui.OpenPopup('PieMenu') end
if pie.BeginPiePopup('PieMenu', pie_keyid) then
for k, v in ipairs(pie_elements) do
if v.next == nil then if pie.PieMenuItem(u8(v.name)) then v.action() end
elseif type(v.next) == 'table' then drawPieSub(v) end
end
pie.EndPiePopup()
end
end
imgui.ShowCursor = (pie_mode.v and imgui.IsMouseDown(pie_keyid))
function drawPieSub(v)
if pie.BeginPieMenu(u8(v.name)) then
for i, l in ipairs(v.next) do
if l.next == nil then
if pie.PieMenuItem(u8(l.name)) then l.action() end
elseif type(l.next) == 'table' then
drawPieSub(l)
end
end
pie.EndPieMenu()
end
end