Dear ImGui

Тема в разделе "Lua", создана пользователем FYP, 25 ноя 2017.

Метки:
  1. bomber!

    bomber! Знаток

    Регистрация:
    11 июл 2013
    Сообщения:
    467
    Симпатии:
    113
    не знаю даже в чем проблема , все версии мicrosoft visual стоят , гибрид

    стоит последний мун
     

    Вложения:

    #596 bomber!, 7 июн 2018
    Последнее редактирование модератором: 7 июн 2018
  2. Shuffle

    Shuffle Шуффле
    Проверенный

    Регистрация:
    11 мар 2018
    Сообщения:
    425
    Симпатии:
    153
    Дх9, все мсвс++, переустанови имгуи
     
  3. bomber!

    bomber! Знаток

    Регистрация:
    11 июл 2013
    Сообщения:
    467
    Симпатии:
    113
    только что установил все мсвс++
    Дх9 установил
    все та ж проблема
    Screenshot_4.png Screenshot_3.png

    В общем решил свою проблему.
    Проблема, почему библиотека имгуи не загружалась ( выдавала ошибку), была в колормоде и в моде "отображение оружия за спиной".
    Некоторые луа с крипты имгуа работали, некоторые нет.
    Так что конфликт был с аси плагинами.
    P.s также collorcrosshair_v2.asi от человечка тоже конфликтует с некоторыми скриптами, например изменение погоды на имгуи не загружается с этим аси.
    В общем вот так.
     
    #598 bomber!, 7 июн 2018
    Последнее редактирование модератором: 9 июн 2018
  4. uryukhai

    uryukhai Знаток

    Регистрация:
    1 июл 2017
    Сообщения:
    131
    Симпатии:
    40
    как и где можно применить?
    IM_ARRAYSIZE
     
  5. DonHomka

    DonHomka Sex Whales & Fraxo - Dead To Me (Lox Chatterbox)
    Всефорумный модератор

    Регистрация:
    8 ноя 2017
    Сообщения:
    1.524
    Симпатии:
    771
    Нигде. Это только для C++
     
  6. Rowland

    Rowland Знаток

    Регистрация:
    6 янв 2018
    Сообщения:
    114
    Симпатии:
    2
    Как сделать чтобы кнопка была справа от строки, а не под ней?
     

    Вложения:

    • sa-mp-109.png
      sa-mp-109.png
      Размер файла:
      1,3 МБ
      Просмотров:
      41
  7. Musaigen

    Musaigen Знаток

    Регистрация:
    1 апр 2018
    Сообщения:
    157
    Симпатии:
    39
    imgui.SameLine()
    Админ на читерском форуме xD
     
  8. Garrus

    Garrus Знаток

    Регистрация:
    8 янв 2016
    Сообщения:
    160
    Симпатии:
    23
    Почему без АТ? :d
     
  9. uryukhai

    uryukhai Знаток

    Регистрация:
    1 июл 2017
    Сообщения:
    131
    Симпатии:
    40
    Как пофиксить?


                imgui.Columns(4)
                imgui.Separator()
                imgui.NewLine()
                imgui.SameLine(2)
                if imgui.Button(tabs[1], imgui.ImVec2(300.0, 0.0)) then
                    switchTabs = 1
                end
                imgui. SameLine() if imgui.Button(tabs[2], imgui.ImVec2(300.0, 0.0)) then
                    switchTabs = 2
                end
                imgui. SameLine() if imgui.Button(tabs[3], imgui.ImVec2(300.0, 0.0)) then
                    switchTabs = 3
                end
                imgui. SameLine() if imgui.Button(tabs[4], imgui.ImVec2(300.0, 0.0)) then
                    switchTabs = 4
                end

    upload_2018-6-11_8-44-10.png
     
  10. Dark_Knight

    Dark_Knight Nine...s...
    Друг

    Регистрация:
    18 мар 2013
    Сообщения:
    3.156
    Симпатии:
    1.521
    NextColumn надо использовать надо, а не Same Line
     
  11. uryukhai

    uryukhai Знаток

    Регистрация:
    1 июл 2017
    Сообщения:
    131
    Симпатии:
    40
    спс, как убрать эти отступы и отростки рядом с кнопками?

                imgui.Columns(4)
                imgui.Separator()
                if imgui.Button(tabs[1], imgui.ImVec2(300.0, 0.0)) then
                    switchTabs = 1
                end
                imgui.NextColumn()
                imgui. SameLine() if imgui.Button(tabs[2], imgui.ImVec2(300.0, 0.0)) then
                    switchTabs = 2
                end
                imgui.NextColumn()
                imgui. SameLine() if imgui.Button(tabs[3], imgui.ImVec2(300.0, 0.0)) then
                    switchTabs = 3
                end
                imgui.NextColumn()
                imgui. SameLine() if imgui.Button(tabs[4], imgui.ImVec2(300.0, 0.0)) then
                    switchTabs = 4
                end
                imgui.Separator()
    upload_2018-6-11_10-51-35.png
     
  12. imring

    imring колечконуп
    Всефорумный модератор

    Регистрация:
    3 авг 2016
    Сообщения:
    1.138
    Симпатии:
    612
    #define IM_ARRAYSIZE(_ARR)      ((int)(sizeof(_ARR)/sizeof(*_ARR)))
    
    // imgui_demo.cpp
    ImGui::InputText("input text", str0, IM_ARRAYSIZE(str0));
    
     
    #607 imring, 11 июн 2018
    Последнее редактирование: 11 июн 2018
  13. DonHomka

    DonHomka Sex Whales & Fraxo - Dead To Me (Lox Chatterbox)
    Всефорумный модератор

    Регистрация:
    8 ноя 2017
    Сообщения:
    1.524
    Симпатии:
    771
    К луа это не относится. Такая конструкция не используется. Почитай еще раз шапку. Там это вроде описано.
     
  14. imring

    imring колечконуп
    Всефорумный модератор

    Регистрация:
    3 авг 2016
    Сообщения:
    1.138
    Симпатии:
    612
    дак есть ещё примеры в imgui_demo.cpp.
     
  15. Dark_Knight

    Dark_Knight Nine...s...
    Друг

    Регистрация:
    18 мар 2013
    Сообщения:
    3.156
    Симпатии:
    1.521
    Не используй Imgui::SameLine
     
  16. Rowland

    Rowland Знаток

    Регистрация:
    6 янв 2018
    Сообщения:
    114
    Симпатии:
    2
    Ну я ж не читы отсюда беру:) а так сюда иногда заходят глянуть, что как палится:D

    Вырубил через f7:D
     
    #611 Rowland, 11 июн 2018
    Последнее редактирование модератором: 11 июн 2018
  17. uryukhai

    uryukhai Знаток

    Регистрация:
    1 июл 2017
    Сообщения:
    131
    Симпатии:
    40
    При наведении - выделяется абсолютно весь меню бар, как расположить элементы отдельно? Main Window только работает, SameLine() - не помогает
    upload_2018-6-12_8-7-19.png
            imgui.BeginMainMenuBar()
            imgui.Selectable('Main Window')
            imgui.Selectable('Hui Window')
            imgui.Selectable('Colors Window')
            imgui.Selectable('Config Window')
            imgui.EndMainMenuBar()
    Если использовать SameLine(), то по идее должно быть, как на скрине

    upload_2018-6-12_7-59-16.png
     
  18. Aniki

    Проверенный

    Регистрация:
    3 сен 2017
    Сообщения:
    177
    Симпатии:
    100
    Вместо Selectable используй MenuItem
    imgui.MenuItem('Main Window')
     
    uryukhai нравится это.
  19. uryukhai

    uryukhai Знаток

    Регистрация:
    1 июл 2017
    Сообщения:
    131
    Симпатии:
    40
    Крашит при нажатии на первый MenuItem, не понимаю, как испрвить
    local main_window_state = imgui.ImBool(false)
    local show_teleport_window = imgui.ImBool(false)
                imgui.BeginMainMenuBar()
                imgui.PushStyleVar(imgui.StyleVar.ItemSpacing, imgui.ImVec2(8 * 2.0, 4 * 2.0))
                if imgui.MenuItem('Teleport Window') then
                    show_teleport_window.v = not show_teleport_window.v --тут крашит
                end
                imgui.MenuItem('Colors Window')
                imgui.MenuItem('Config Window')
                imgui.PopStyleVar()
                imgui.EndMainMenuBar()
    function show_teleport_window()
        if  main_window.v then
            imgui.Begin('Teleport Window')
            if imgui.CollapsingHeader(u8'Государственные организации') then
                if imgui.Button(u8'Мэрия LS') then
                    setCharCoordinates(PLAYER_PED, 1417.20, -1807.29, 13.55 - 1.0)
                end
    ---
    ---
    ---
     
  20. Stepanik537

    Stepanik537 Активный пользователь

    Регистрация:
    5 июл 2017
    Сообщения:
    41
    Симпатии:
    7
    любое окно, должно быть в функции OnDrawFrame, а не внешней
    
    function imgui.OnDrawFrame()
        --тут идет твое первое окно
        if main_window_state.v then
            imgui.Begin('Main Menu', main_window_state)--[[code]]
            imgui.End()
        end
    
        --а тут уже можно разместить и второе
        if  show_teleport_window.v then
            imgui.Begin('Teleport Window', show_teleport_window)--[[code]]
            imgui.End()
        end
     
    end
    
    Имею два важных вопроса.
    Как рисовать текст ровно по центру?
    Допустиим, имею окно:
    
    imgui.SetNextWindowSize(imgui.ImVec2(210, 160), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2(cfg.gui.pos_x, cfg.gui.pos_y), imgui.Cond.FirstUseEver)
    imgui.Begin('sample window', swindow, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize)
    imgui.Text(u8'Отцентрованный текст)
    imgui.Separator()
    if hen1.v then imgui.Text('hen1') end -- тут у меня вообще динамическое значение текста, которое может состоять из 10 , а затем и более символов
    if hen2.v then imgui.Text('hen2') end
    if hen3.v then imgui.Text('hen3') end
    imgui.End()
    
    ...и вот как сделать грамотно, не используя флага alwaysautoresize, чтобы размер окна зависел от количества включенных HEN(текстов в окне)?
    Если же использовать этот флаг, то при смене количества символов в тексте hen1, изменяется ширина окна.
    Дополнение: если везде прописать условие if ... then imgui.setnexwindowsize, то получится весьма громоздкий и неудобный быдлокод.
     
    #615 Stepanik537, 12 июн 2018
    Последнее редактирование: 12 июн 2018
  21. Aniki

    Проверенный

    Регистрация:
    3 сен 2017
    Сообщения:
    177
    Симпатии:
    100
    Насчет текста ровно по центру лучший способ по мне это imgui.SetCursorPosX на середину окна. Пример:
    imgui.SetNextWindowSize(imgui.ImVec2(210, 160), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2(cfg.gui.pos_x, cfg.gui.pos_y), imgui.Cond.FirstUseEver)
    imgui.Begin('sample window', swindow, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize)
    imgui.SetCursorPosX((210 - imgui.CalcTextSize(u8'Отцентрованный текст').x)/2) -- в общем случае - (ширина_окна - ширина_текста)/2
    imgui.Text(u8'Отцентрованный текст')
    Чтобы не менялась ширина окна попробуй использовать SetNextWindowSizeConstraints, но с авторесайзом я ее не тестил
    imgui.SetNextWindowSizeConstraints(imgui.ImVec2(-1, 160), imgui.ImVec(-1, 600)) -- первый вектор - минимальный размер окна, второй - максимальный, -1 сохраняет текущие размеры окна
     
    Stepanik537 нравится это.
  22. Aniki

    Проверенный

    Регистрация:
    3 сен 2017
    Сообщения:
    177
    Симпатии:
    100
    Скорее всего крашит из-за открывающегося окна с телепортами, где то там ошибка. По тому куску что ты скинул не понятно в чем проблема, кидай полностью код окна
     
  23. uryukhai

    uryukhai Знаток

    Регистрация:
    1 июл 2017
    Сообщения:
    131
    Симпатии:
    40
    щас сделал так, всё работает, но при нажатии на Teleport Window - ничего (не крашит хоть))

    Вначале кода:
    local main_window_state = imgui.ImBool(false)
    local show_teleport_window = imgui.ImBool(false)
    Само меню:
    function imgui.OnDrawFrame(switchTabs)
        if main_window_state.v then
    
            --centrovka
            local sw, sh = getScreenResolution()
            imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
            imgui.SetNextWindowSize(imgui.ImVec2(1200, 600), imgui.Cond.FirstUseEver)
            --centrovka
    
            if main_window_state.v then
                imgui.Begin('Main Menu', main_window_state, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoResize)
                    if imgui.Button(tabs[1], imgui.ImVec2(290.0, 0.0)) then
                        switchTabs = 1
                    end
                        imgui. SameLine()
                    if imgui.Button(tabs[2], imgui.ImVec2(290.0, 0.0)) then
                        switchTabs = 2
                    end
                        imgui. SameLine()
                    if imgui.Button(tabs[3], imgui.ImVec2(290.0, 0.0)) then
                        switchTabs = 3
                    end
                        imgui. SameLine()
                    if imgui.Button(tabs[4], imgui.ImVec2(290.0, 0.0)) then
                        switchTabs = 4
                    end
                imgui.End()
            end
    
                imgui.BeginMainMenuBar()
                imgui.PushStyleVar(imgui.StyleVar.ItemSpacing, imgui.ImVec2(8 * 2.0, 4 * 2.0))
                imgui.MenuItem('Teleport Window', show_teleport_window) --not working
                imgui.MenuItem('Colors Window')
                imgui.MenuItem('Config Window')
                imgui.PopStyleVar()
                imgui.EndMainMenuBar()
    
            if  show_teleport_window.v then
                imgui.Begin('Teleport Window')
                if imgui.CollapsingHeader(u8'Государственные организации') then
                if imgui.Button(u8'Мэрия LS') then
                    setCharCoordinates(PLAYER_PED, 1417.20, -1807.29, 13.55 - 1.0)
                end
                if imgui.Button(u8'Мэрия SF') then
                    setCharCoordinates(PLAYER_PED, -2773.59, 321.37, 4.51 - 1.0)
                end
                if imgui.Button(u8'Мэрия LV') then
                    setCharCoordinates(PLAYER_PED, 2399.80, 2529.62, 10.82 - 1.0)
                end
                if imgui.Button(u8'Госпиталь Лос-Сантос 1') then
                    setCharCoordinates(PLAYER_PED, 1170.42, -1311.38, 13.98 - 1.0)
                end
                if imgui.Button(u8'Госпиталь Лос-Сантос 2') then
                    setCharCoordinates(PLAYER_PED, 2003.74, -1407.23, 17.11 - 1.0)
                end
                if imgui.Button(u8'Госпиталь Сан-Фиерро') then
                    setCharCoordinates(PLAYER_PED, -2679.46, 640.16, 14.45 - 1.0)
                end
                if imgui.Button(u8'Госпиталь Лас-Вентурас') then
                    setCharCoordinates(PLAYER_PED, 1585.60, 1798.90, 10.83 - 1.0)
                end
                if imgui.Button(u8'Новости LS') then
                    setCharCoordinates(PLAYER_PED, 1668.54, -1641.17, 22.53 - 1.0)
                end
                if imgui.Button(u8'Новости SF') then
                    setCharCoordinates(PLAYER_PED, -1830.45, 628.72, 30.75 - 1.0)
                end
                if imgui.Button('FBI') then
                    setCharCoordinates(PLAYER_PED, -2462.11, 507.32, 30.08 - 1.0)
                end
                if imgui.Button('LSPD') then
                    setCharCoordinates(PLAYER_PED, 1553.83, -1679.49, 13.55 - 1.0)
                end
                if imgui.Button('SFPD') then
                    setCharCoordinates(PLAYER_PED, -1594.08, 716.79, 10.01 - 1.0)
                end
                if imgui.Button('LVPD') then
                    setCharCoordinates(PLAYER_PED, 2173.00, 2467.69, 10.82 - 1.0)
                end
                if imgui.Button('CB') then
                    setCharCoordinates(PLAYER_PED, 373.48, 2056.60, 17.64 - 1.0)
                end
                if imgui.Button('BBC') then
                    setCharCoordinates(PLAYER_PED, 395.60, 2676.52, 59.26 - 1.0)
                end
                if imgui.Button(u8'ВМФ') then
                    setCharCoordinates(PLAYER_PED, -2342.89, 2440.75, 7.30 - 1.0)
                end
            end
    
            if imgui.CollapsingHeader(u8'Криминальные организации') then
                if imgui.Button('Groove') then
                    setCharCoordinates(PLAYER_PED, 2502.32, -1700.04, 13.56 - 1.0)
                end
                if imgui.Button('Aztec') then
                    setCharCoordinates(PLAYER_PED, 1666.29, -2095.46, 13.55 - 1.0)
                end
                if imgui.Button('Rifa') then
                    setCharCoordinates(PLAYER_PED, 2134.97,    -1831.51, 13.55 - 1.0 )
                end
                if imgui.Button('Ballas') then
                    setCharCoordinates(PLAYER_PED, 2045.49, -1116.63, 26.36 - 1.0)
                end
                if imgui.Button('Vagos') then
                    setCharCoordinates(PLAYER_PED, 2763.95, -1204.11, 67.80 - 1.0)
                end
                if imgui.Button('La Cosa Nostra') then
                    setCharCoordinates(PLAYER_PED, 1437.38, 2736.66, 10.82 - 1.0)
                end
                if imgui.Button('Russian Mafia') then
                    setCharCoordinates(PLAYER_PED, 956.43, 1805.87, 8.65 - 1.0)
                end
                if imgui.Button('Yakuza') then
                    setCharCoordinates(PLAYER_PED, 2539.04, 1849.94, 11.02 - 1.0)
                end
            end
    
            if imgui.CollapsingHeader(u8'Работа') then
                if imgui.Button(u8'Грузчик') then
                    setCharCoordinates(PLAYER_PED, 2182.35, -2232.09, 13.45 - 1.0)
                end
                if imgui.Button(u8'Шахта') then
                    setCharCoordinates(PLAYER_PED, -1899.64, -1626.07, 21.76 - 1.0)
                end
                if imgui.Button(u8'Завод') then
                    setCharCoordinates(PLAYER_PED, -74.91, -270.75, 6.43 - 1.0)
                end
                if imgui.Button(u8'Ферма 0') then
                    setCharCoordinates(PLAYER_PED, -389.1, -1419.83, 25.73 - 1.0)
                end
                if imgui.Button(u8'Ферма 1') then
                    setCharCoordinates(PLAYER_PED, -89.53, -24.39, 6.48 - 1.0)
                end
                if imgui.Button(u8'Ферма 2') then
                    setCharCoordinates(PLAYER_PED, -1066.05, -1190.29, 129.22 - 1.0)
                end
                if imgui.Button(u8'Ферма 3') then
                    setCharCoordinates(PLAYER_PED, 1904.94, 166.15, 37.14 - 1.0)
                end
            end
    
            if imgui.CollapsingHeader(u8'Разное') then
                if imgui.Button(u8'Оружейный магазин\n"AMMU-NATION') then
                    setCharCoordinates(PLAYER_PED, 1304.32, -1243.73, 13.55 - 1.0)
                end
                if imgui.Button(u8'Магазин одежды\n"Victim"') then
                    setCharCoordinates(PLAYER_PED, 418.49, -1506.06, 31.31 - 1.0)
                end
                if imgui.Button(u8'Ж/Д Вокзал LS') then
                    setCharCoordinates(PLAYER_PED, 1767.98, -1908.51, 13.56 - 1.0)
                end
                if imgui.Button(u8'Ж/Д Вокзал SF') then
                    setCharCoordinates(PLAYER_PED, -1920.96, 154.26, 26.68 - 1.0)
                end
                if imgui.Button(u8'Ж/Д Вокзал LV') then
                    setCharCoordinates(PLAYER_PED, 2845.09, 1247.49, 11.39 - 1.0)
                end
                if imgui.Button(u8'Аэропорт LS') then
                    setCharCoordinates(PLAYER_PED, 1987.62, -2136.95, 13.55 - 1.0)
                end
                if imgui.Button(u8'Аэропорт SF') then
                    setCharCoordinates(PLAYER_PED, -1538.19, -443.38, 6.02 - 1.0)
                end
                if imgui.Button(u8'Аэропорт LV') then
                    setCharCoordinates(PLAYER_PED, 1648.36, 1647.26, 10.82 - 1.0)
                end
                if imgui.Button(u8'Заброшенный аэродром LV') then
                    setCharCoordinates(PLAYER_PED, 383.86, 2475.78, 16.50 - 1.0)
                end
                if imgui.Button(u8'Стадион LS') then
                    setCharCoordinates(PLAYER_PED, 2738.40, -1690.51, 11.84 - 1.0)
                end
                if imgui.Button(u8'Стадион LV') then
                    setCharCoordinates(PLAYER_PED, 1150.95, 1523.79, 12.55 - 1.0)
                end
                if imgui.Button(u8'Завод КАСС') then
                    setCharCoordinates(PLAYER_PED, 2498.07, 2839.58, 10.82 - 1.0)
                end
                if imgui.Button(u8'Автошкола') then
                    setCharCoordinates(PLAYER_PED, -2018.89, -117.27, 35.18 - 1.0)
                end
                if imgui.Button(u8'Военкомат') then
                    setCharCoordinates(PLAYER_PED, 1079.07, 1397.37, 7.21 - 1.0)
                end
                if imgui.Button(u8'Притон') then
                    setCharCoordinates(PLAYER_PED, 2155.78, -1667.89, 15.09 - 1.0)
                end
                if imgui.Button(u8'Чилиад') then
                    setCharCoordinates(PLAYER_PED, -2387.25, -1579.70, 499.71 - 1.0)
                end
                if imgui.Button(u8'Киностудия') then
                    setCharCoordinates(PLAYER_PED, 928.47, -1259.04, 15.71 - 1.0)
                end
                if imgui.Button(u8'Маяк') then
                    setCharCoordinates(PLAYER_PED, 154.38, -1957.21, 3.77 - 1.0)
                end
                if imgui.Button('Hippy Shopper') then
                    setCharCoordinates(PLAYER_PED, -2525.10, -59.78, 21.35 - 1.0)
                end
                if imgui.Button(u8'Burger Shot') then
                    setCharCoordinates(PLAYER_PED, 782.85, -1654.75, 13.45 - 1.0)
                end
                if imgui.Button(u8'VineWood') then
                    setCharCoordinates(PLAYER_PED, 1446.97, -807.92, 84.29 - 1.0)
                end
            end
                imgui.End()
            end
        end
    end
     
  24. Aniki

    Проверенный

    Регистрация:
    3 сен 2017
    Сообщения:
    177
    Симпатии:
    100
    if imgui.MenuItem('Teleport Window') then
      show_teleport_window.v = not show_teleport_window.v
    end
     
    uryukhai нравится это.
  25. Musaigen

    Musaigen Знаток

    Регистрация:
    1 апр 2018
    Сообщения:
    157
    Симпатии:
    39
    sa-mp-019.png
    
    local imgui = require 'imgui'
    function apply_custom_style()
        imgui.SwitchContext()
        local style = imgui.GetStyle()
        local colors = style.Colors
        local clr = imgui.Col
        local ImVec4 = imgui.ImVec4
        local ImVec2 = imgui.ImVec2
    
        style.WindowPadding = ImVec2(15, 15)
        style.WindowRounding = 5.0
        style.FramePadding = ImVec2(5, 5)
        style.FrameRounding = 4.0
        style.ItemSpacing = ImVec2(12, 8)
        style.ItemInnerSpacing = ImVec2(8, 6)
        style.IndentSpacing = 25.0
        style.ScrollbarSize = 15.0
        style.ScrollbarRounding = 9.0
        style.GrabMinSize = 5.0
        style.GrabRounding = 3.0
    
        colors[clr.Text] = ImVec4(0.80, 0.80, 0.83, 1.00)
        colors[clr.TextDisabled] = ImVec4(0.24, 0.23, 0.29, 1.00)
        colors[clr.WindowBg] = ImVec4(0.06, 0.05, 0.07, 1.00)
        colors[clr.ChildWindowBg] = ImVec4(0.07, 0.07, 0.09, 1.00)
        colors[clr.PopupBg] = ImVec4(0.07, 0.07, 0.09, 1.00)
        colors[clr.Border] = ImVec4(0.80, 0.80, 0.83, 0.88)
        colors[clr.BorderShadow] = ImVec4(0.92, 0.91, 0.88, 0.00)
        colors[clr.FrameBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
        colors[clr.FrameBgHovered] = ImVec4(0.24, 0.23, 0.29, 1.00)
        colors[clr.FrameBgActive] = ImVec4(0.56, 0.56, 0.58, 1.00)
        colors[clr.TitleBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
        colors[clr.TitleBgCollapsed] = ImVec4(1.00, 0.98, 0.95, 0.75)
        colors[clr.TitleBgActive] = ImVec4(0.07, 0.07, 0.09, 1.00)
        colors[clr.MenuBarBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
        colors[clr.ScrollbarBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
        colors[clr.ScrollbarGrab] = ImVec4(0.80, 0.80, 0.83, 0.31)
        colors[clr.ScrollbarGrabHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
        colors[clr.ScrollbarGrabActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
        colors[clr.ComboBg] = ImVec4(0.19, 0.18, 0.21, 1.00)
        colors[clr.CheckMark] = ImVec4(0.80, 0.80, 0.83, 0.31)
        colors[clr.SliderGrab] = ImVec4(0.80, 0.80, 0.83, 0.31)
        colors[clr.SliderGrabActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
        colors[clr.Button] = ImVec4(0.10, 0.09, 0.12, 1.00)
        colors[clr.ButtonHovered] = ImVec4(0.24, 0.23, 0.29, 1.00)
        colors[clr.ButtonActive] = ImVec4(0.56, 0.56, 0.58, 1.00)
        colors[clr.Header] = ImVec4(0.10, 0.09, 0.12, 1.00)
        colors[clr.HeaderHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
        colors[clr.HeaderActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
        colors[clr.ResizeGrip] = ImVec4(0.00, 0.00, 0.00, 0.00)
        colors[clr.ResizeGripHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
        colors[clr.ResizeGripActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
        colors[clr.CloseButton] = ImVec4(0.40, 0.39, 0.38, 0.16)
        colors[clr.CloseButtonHovered] = ImVec4(0.40, 0.39, 0.38, 0.39)
        colors[clr.CloseButtonActive] = ImVec4(0.40, 0.39, 0.38, 1.00)
        colors[clr.PlotLines] = ImVec4(0.40, 0.39, 0.38, 0.63)
        colors[clr.PlotLinesHovered] = ImVec4(0.25, 1.00, 0.00, 1.00)
        colors[clr.PlotHistogram] = ImVec4(0.40, 0.39, 0.38, 0.63)
        colors[clr.PlotHistogramHovered] = ImVec4(0.25, 1.00, 0.00, 1.00)
        colors[clr.TextSelectedBg] = ImVec4(0.25, 1.00, 0.00, 0.43)
        colors[clr.ModalWindowDarkening] = ImVec4(1.00, 0.98, 0.95, 0.73)
    end
    apply_custom_style()
    
     
    #620 Musaigen, 13 июн 2018
    Последнее редактирование: 13 июн 2018
    Frapsy, V3RC3TT1 и Trefa_ нравится это.
  26. Stepanik537

    Stepanik537 Активный пользователь

    Регистрация:
    5 июл 2017
    Сообщения:
    41
    Симпатии:
    7
    Как сделать грамотно, не используя флага alwaysautoresize, чтобы размер окна зависел от количества включенных HEN(текстов в окне)?
    Если же использовать этот флаг, то при смене количества символов в тексте hen1, изменяется ширина окна.
    
    imgui.SetNextWindowSize(imgui.ImVec2(210, 160), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2(cfg.gui.pos_x, cfg.gui.pos_y), imgui.Cond.FirstUseEver)
    imgui.Begin('sample window', swindow, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize)
    imgui.SetCursorPosX((210 - imgui.CalcTextSize(col_g_3..u8'Отцентрованный текст').x)/2)
    imgui.TextColoredRGB(col_g_3 .. 'Отцентрованный текст')
    imgui.Separator()
    if hen1.v then imgui.Text('hen1') end -- тут у меня вообще динамическое значение текста, которое может состоять из 10 , а затем и более символов
    if hen2.v then imgui.Text('hen2') end
    if hen3.v then imgui.Text('hen3') end
    imgui.End()
    
    Дополнение: если везде прописать условие if ... then imgui.setnexwindowsize, то получится весьма громоздкий и неудобный быдлокод.
    Предыдущий ответ мне не помог.
    UPD: раскрою суть на всякий.
    Вот у меня есть небольшое окошко. В нем три динамических айтема(hen1-3). Допустим, если айтем включен только один, то размер GUI у меня 210 на 120; если два айтема, то размер уже 210x140. То есть, должен изменятся Y.
    Но при этом, есть беда еще в том, что в айтеме hen1, значение текста динамическое, которое меняется, и может состоять то из 10 символов, то из 30.
     
    #621 Stepanik537, 14 июн 2018
    Последнее редактирование: 14 июн 2018
  27. DonHomka

    DonHomka Sex Whales & Fraxo - Dead To Me (Lox Chatterbox)
    Всефорумный модератор

    Регистрация:
    8 ноя 2017
    Сообщения:
    1.524
    Симпатии:
    771
    Используй Push/PopTextWrapPos и будь спокоен за ширину окна.
     
    Stepanik537 нравится это.
  28. DonHomka

    DonHomka Sex Whales & Fraxo - Dead To Me (Lox Chatterbox)
    Всефорумный модератор

    Регистрация:
    8 ноя 2017
    Сообщения:
    1.524
    Симпатии:
    771
    Скинуть файл с кодом
     
  29. laz3r228

    laz3r228 Известный пользователь

    Регистрация:
    24 ноя 2016
    Сообщения:
    56
    Симпатии:
    1
    как сделать меню активации как на этом скрине:
    [​IMG]
    Желательно киньте исходник где похожая менюшка есть
     
  30. Dark_Knight

    Dark_Knight Nine...s...
    Друг

    Регистрация:
    18 мар 2013
    Сообщения:
    3.156
    Симпатии:
    1.521
    Логику поймешь?
    imgui.begin
    imgui.Button
    imgui.Button
    imgui.Button
    imgui.Button
    imgui.Button
    imgui.Button
    imgui.end
     
    imring нравится это.
  31. laz3r228

    laz3r228 Известный пользователь

    Регистрация:
    24 ноя 2016
    Сообщения:
    56
    Симпатии:
    1
    Это я понимаю, мне именно взаимодействие интересно. К примеру я навожусь на игрока, нажимаю кнопку открывается меню выбираю пункт и уже дальше идет взаимодействие именно с ним
     
  32. DonHomka

    DonHomka Sex Whales & Fraxo - Dead To Me (Lox Chatterbox)
    Всефорумный модератор

    Регистрация:
    8 ноя 2017
    Сообщения:
    1.524
    Симпатии:
    771
    main -> Беск цикл -> Если целишься -> и нажал кнопку -> Переменная окна = true -> записал ID в переменную -> Показал окно ImGui -> Взаимодействуешь с указанным ID.
     
  33. CatKnight

    CatKnight Активный пользователь

    Регистрация:
    26 ноя 2015
    Сообщения:
    30
    Симпатии:
    5
    Некоторые пользователи (пока один такой) жалуются на то, что у них полностью некликабельные окна. Знает кто-нибудь, как лечить подобное?
     
  34. DonHomka

    DonHomka Sex Whales & Fraxo - Dead To Me (Lox Chatterbox)
    Всефорумный модератор

    Регистрация:
    8 ноя 2017
    Сообщения:
    1.524
    Симпатии:
    771
    Показывать код.
     
  35. randazzo

    randazzo не админ какой-то
    Всефорумный модератор

    Регистрация:
    21 май 2014
    Сообщения:
    1.138
    Симпатии:
    592
    убрать запуск в режиме совместимости
     
    CatKnight нравится это.