Advertisement
Guest User

Untitled

a guest
Oct 1st, 2022
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.78 KB | Source Code | 0 0
  1. script_name('Font Awesome 6 mimgui test')
  2. local imgui, ffi = require 'mimgui', require 'ffi'
  3. local new, str, sizeof = imgui.new, ffi.string, ffi.sizeof
  4. local faicons = require ('fAwesome6')
  5.  
  6. local renderWindow = imgui.new.bool(false)
  7. local Search = imgui.new.char[128]('')
  8.  
  9. imgui.OnInitialize(function()
  10.     local config = imgui.ImFontConfig()
  11.     config.GlyphMinAdvanceX = 31
  12.     do
  13.         local builder = imgui.ImFontGlyphRangesBuilder()
  14.         local list = {
  15.             "square_rss",
  16.             "keyboard",
  17.             "coins",
  18.             "square_poll_horizontal",
  19.             "gear",
  20.             "WRENCH",
  21.             "arrow_left"
  22.         }
  23.         for _, b in ipairs(list) do
  24.             builder:AddText(faicons(b))
  25.         end
  26.         defaultGlyphRanges1 = imgui.ImVector_ImWchar()
  27.         builder:BuildRanges(defaultGlyphRanges1)
  28.         imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(faicons.get_font_data_base85('light'), 14, config, defaultGlyphRanges1[0].Data)
  29.     end
  30.    
  31.     imgui.GetIO().ConfigWindowsMoveFromTitleBarOnly = true
  32.     imgui.GetIO().IniFilename = nil
  33. end)
  34.  
  35. local newFrame = imgui.OnFrame(
  36.     function() return renderWindow[0] end,
  37.     function(player)
  38.         local resX, resY = getScreenResolution()
  39.         local sizeX, sizeY = 300, 300
  40.         imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
  41.         imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
  42.         if imgui.Begin('fa6', renderWindow, imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoScrollWithMouse) then
  43.             local size = imgui.GetWindowSize()
  44.             imgui.SetCursorPos(imgui.ImVec2(5, 25))
  45.             imgui.InputTextWithHint('##Search', 'Search', Search, ffi.sizeof(Search))
  46.             imgui.SetCursorPos(imgui.ImVec2(5, 25 + 25))
  47.             if imgui.BeginChild('list', imgui.ImVec2(size.x - 10, size.y - 50 - 5), true) then
  48.                 imgui.Columns(2)
  49.                 imgui.Text('ICON') imgui.SetColumnWidth(-1, 40)
  50.                 imgui.NextColumn()
  51.                 imgui.Text('NAME') imgui.SetColumnWidth(-1, size.x - 40)
  52.                 imgui.Columns(1)
  53.                 for k, v in pairs(faicons) do
  54.                     if type(v) == 'string' and (#ffi.string(Search) == 0 or k:lower():find(ffi.string(Search):lower())) then
  55.                         imgui.Columns(2)
  56.                         imgui.Text(v) imgui.SetColumnWidth(-1, 40)
  57.                         imgui.NextColumn()
  58.                         imgui.Text(k) imgui.SetColumnWidth(-1, size.x - 40)
  59.                         imgui.Columns(1)
  60.                     end
  61.                 end
  62.                
  63.                 imgui.EndChild()
  64.             end
  65.            
  66.             imgui.End()
  67.         end
  68.     end
  69. )
  70.  
  71. function main()
  72.     while true do wait(0)
  73.         if testCheat('fa6') then
  74.             renderWindow[0] = not renderWindow[0]
  75.         end
  76.     end
  77. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement