Pie Menu

Vespan

Чешский луашер
Автор темы
Проверенный
2,119
1,720
Версия SA-MP
  1. 0.3.7 (R1)
Нажимаю <X>,появляется мышка,а Pie меню нет. Тоже самое в Police Assistant,не отображается графическое/pie меню.
 

Vespan

Чешский луашер
Автор темы
Проверенный
2,119
1,720

Вложения

  • PieMenu.lua
    2.1 KB · Просмотры: 79
  • imgui_piemenu.lua
    13.3 KB · Просмотры: 48

_mudota_

Потрачен
208
27
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

_mudota_

Потрачен
208
27
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Vespan

Чешский луашер
Автор темы
Проверенный
2,119
1,720
Lua:
local imgui = require 'imgui'
local inicfg = require 'inicfg'
local vkeys = require 'vkeys'
local rkeys = require 'rkeys'
local qq = '123'
local pie = require 'imgui_piemenu'

-- inicfg
local Load_Config = inicfg.load({
    settings = {
        key = encodeJson({nil})
    },
}, '..\\config\\test.ini')
LS = Load_Config.settings

-- imgui
local imgui_window = imgui.ImBool(false)
local imgui_text = imgui.ImBuffer('', 256)

function main()

    sampRegisterChatCommand('test', function() imgui_window.v = not imgui_window.v end)
    sampRegisterChatCommand('test2', function(id)
    local color = sampGetPlayerColor(id)
    local a, r, g, b = explode_argb(color)
    local nColor = join_argb(r, g, b, 255)
        sampAddChatMessage("{"..nColor.."}"..'123', -1)
    end)

    while true do wait(0)
        imgui.Process = imgui_window.v

    end
end

function imgui.OnDrawFrame()
    sw, sh = getScreenResolution()

    if imgui_window.v then
       
        if imgui.IsWindowHovered() and imgui.IsMouseClicked(1) then
          imgui.OpenPopup('PieMenu')
        end  

        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(400, 400), imgui.Cond.FirstUseEver)
        imgui.Begin('1')
        imgui.Text(qq)
        if pie.BeginPiePopup('PieMenu', 1) then
          if pie.PieMenuItem('Test1') then end
        if pie.PieMenuItem('Test2') then end
          --if pie.PieMenuItem('Test5') then end
          if pie.PieMenuItem('Test3', false) then end
          if pie.BeginPieMenu('Sub') then
            if pie.BeginPieMenu('Sub sub\nmenu') then
              if pie.PieMenuItem('SubSub') then end
              if pie.PieMenuItem('SubSub2') then end
              pie.EndPieMenu()
            end
            if pie.PieMenuItem('TestSub') then end
            if pie.PieMenuItem('TestSub2') then end
           pie.EndPieMenu()
          end
          pie.EndPiePopup()
        end

        imgui.End()
    end
end
не работает(pie menu). Но imgui окно выбивает.
 

_mudota_

Потрачен
208
27
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Lua:
local imgui = require 'imgui'
local inicfg = require 'inicfg'
local vkeys = require 'vkeys'
local rkeys = require 'rkeys'
local qq = '123'
local pie = require 'imgui_piemenu'

-- inicfg
local Load_Config = inicfg.load({
    settings = {
        key = encodeJson({nil})
    },
}, '..\\config\\test.ini')
LS = Load_Config.settings

-- imgui
local imgui_window = imgui.ImBool(false)
local imgui_text = imgui.ImBuffer('', 256)

function main()

    sampRegisterChatCommand('test', function() imgui_window.v = not imgui_window.v end)
    sampRegisterChatCommand('test2', function(id)
    local color = sampGetPlayerColor(id)
    local a, r, g, b = explode_argb(color)
    local nColor = join_argb(r, g, b, 255)
        sampAddChatMessage("{"..nColor.."}"..'123', -1)
    end)

    while true do wait(0)
        imgui.Process = imgui_window.v

    end
end

function imgui.OnDrawFrame()
    sw, sh = getScreenResolution()

    if imgui_window.v then
      
        if imgui.IsWindowHovered() and imgui.IsMouseClicked(1) then
          imgui.OpenPopup('PieMenu')
        end 

        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(400, 400), imgui.Cond.FirstUseEver)
        imgui.Begin('1')
        imgui.Text(qq)
        if pie.BeginPiePopup('PieMenu', 1) then
          if pie.PieMenuItem('Test1') then end
        if pie.PieMenuItem('Test2') then end
          --if pie.PieMenuItem('Test5') then end
          if pie.PieMenuItem('Test3', false) then end
          if pie.BeginPieMenu('Sub') then
            if pie.BeginPieMenu('Sub sub\nmenu') then
              if pie.PieMenuItem('SubSub') then end
              if pie.PieMenuItem('SubSub2') then end
              pie.EndPieMenu()
            end
            if pie.PieMenuItem('TestSub') then end
            if pie.PieMenuItem('TestSub2') then end
           pie.EndPieMenu()
          end
          pie.EndPiePopup()
        end

        imgui.End()
    end
end
не работает(pie menu). Но imgui окно выбивает.
Значит не хватает библиотеки. Скорее всего не всё установил в папку lib
 

_mudota_

Потрачен
208
27
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я ним не пользуюсь.
Там всё понятно и ясно в теме. Файл который прикреплён к теме его скинуть в папку либ и убрать (new)
Код для своего скрипта имеется в теме