UI Libary Olizer
Key RequiredUniversal

UI Libary Olizer

Universal ScriptHeitoJRHeitoJR 727 views 61 executesUpdated Nov 12, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•221 lines (7604 chars)
-- Script de UI pronto para executor
-- Funciona direto no jogo

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")

-- ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "MinhaUI"
screenGui.ResetOnSpawn = false -- garante que fique após respawn
screenGui.Parent = PlayerGui

-- Janela principal
local main = Instance.new("Frame")
main.Name = "MainFrame"
main.Size = UDim2.new(0, 480, 0, 320)
main.AnchorPoint = Vector2.new(0.5, 0.5)
main.Position = UDim2.new(0.5, 0, 0.5, 0) -- centralizada na tela
main.BackgroundColor3 = Color3.fromRGB(30,30,30)
main.Parent = screenGui

local UICorner = Instance.new("UICorner")
UICorner.Parent = main
UICorner.CornerRadius = UDim.new(0,8)

-- Barra de título
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1,0,0,36)
titleBar.BackgroundColor3 = Color3.fromRGB(24,24,24)
titleBar.Parent = main

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1,-40,1,0)
titleLabel.Position = UDim2.new(0,12,0,0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Minha UI"
titleLabel.TextColor3 = Color3.new(1,1,1)
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 18
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = titleBar

-- Botão de fechar X
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0,28,0,28)
closeBtn.Position = UDim2.new(1,-36,0,4)
closeBtn.Text = "X"
closeBtn.BackgroundColor3 = Color3.fromRGB(200,50,50)
closeBtn.TextColor3 = Color3.new(1,1,1)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 18
closeBtn.Parent = titleBar

closeBtn.MouseButton1Click:Connect(function()
    screenGui:Destroy()
end)

-- Coluna de abas
local tabCol = Instance.new("Frame")
tabCol.Size = UDim2.new(0,120,1,-36)
tabCol.Position = UDim2.new(0,0,0,36)
tabCol.BackgroundColor3 = Color3.fromRGB(35,35,35)
tabCol.Parent = main

local tabLayout = Instance.new("UIListLayout")
tabLayout.Padding = UDim.new(0,6)
tabLayout.SortOrder = Enum.SortOrder.LayoutOrder
tabLayout.Parent = tabCol

-- Área de conteúdo
local content = Instance.new("Frame")
content.Size = UDim2.new(1, -120, 1, -36)
content.Position = UDim2.new(0,120,0,36)
content.BackgroundColor3 = Color3.fromRGB(40,40,40)
content.Parent = main

local contentLayout = Instance.new("UIListLayout")
contentLayout.Padding = UDim.new(0,6)
contentLayout.SortOrder = Enum.SortOrder.LayoutOrder
contentLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
contentLayout.Parent = content

-- Drag da janela
local dragging, dragStart, startPos = false, nil, nil
titleBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = main.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then dragging = false end
        end)
    end
end)
titleBar.InputChanged:Connect(function(input)
    if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
        local delta = input.Position - dragStart
        main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)

-- Função para criar abas
local tabs = {}
local function CreateTab(tabName)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, -12, 0, 34)
    btn.Position = UDim2.new(0,6,0,0)
    btn.BackgroundColor3 = Color3.fromRGB(45,45,45)
    btn.Text = tabName
    btn.TextColor3 = Color3.new(1,1,1)
    btn.Font = Enum.Font.Gotham
    btn.TextSize = 14
    btn.Parent = tabCol

    local page = Instance.new("ScrollingFrame")
    page.Size = UDim2.new(1, -16, 1, -16)
    page.Position = UDim2.new(0,8,0,8)
    page.BackgroundTransparency = 1
    page.Visible = false
    page.ScrollBarThickness = 6
    page.Parent = content

    local list = Instance.new("UIListLayout", page)
    list.Padding = UDim.new(0,8)
    list.SortOrder = Enum.SortOrder.LayoutOrder
    list:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
        page.CanvasSize = UDim2.new(0,0,0,list.AbsoluteContentSize.Y + 8)
    end)

    local tabObj = {Button = btn, Page = page}

    btn.MouseButton1Click:Connect(function()
        for _,t in ipairs(tabs) do
            t.Page.Visible = false
            t.Button.BackgroundColor3 = Color3.fromRGB(45,45,45)
        end
        page.Visible = true
        btn.BackgroundColor3 = Color3.fromRGB(70,70,70)
    end)

    function tabObj:AddButton(text, callback)
        local b = Instance.new("TextButton")
        b.Size = UDim2.new(1, -12, 0, 36)
        b.BackgroundColor3 = Color3.fromRGB(65,65,65)
        b.Text = text or "Button"
        b.TextColor3 = Color3.new(1,1,1)
        b.Font = Enum.Font.GothamSemibold
        b.TextSize = 15
        b.Parent = page

        b.MouseButton1Click:Connect(function()
            if callback then
                local ok,err = pcall(callback)
                if not ok then warn("Button callback error:",err) end
            end
        end)
        return b
    end

    function tabObj:AddToggle(text, default, callback)
        local container = Instance.new("Frame")
        container.Size = UDim2.new(1, -12, 0, 36)
        container.BackgroundTransparency = 1
        container.Parent = page

        local label = Instance.new("TextLabel")
        label.Size = UDim2.new(0.72, 0, 1, 0)
        label.BackgroundTransparency = 1
        label.Text = text or "Toggle"
        label.TextColor3 = Color3.new(1,1,1)
        label.Font = Enum.Font.Gotham
        label.TextSize = 15
        label.TextXAlignment = Enum.TextXAlignment.Left
        label.Parent = container

        local toggleBtn = Instance.new("TextButton")
        toggleBtn.Size = UDim2.new(0.28, -6, 1, 0)
        toggleBtn.Position = UDim2.new(0.72, 6, 0, 0)
        toggleBtn.BackgroundColor3 = default and Color3.fromRGB(30,170,60) or Color3.fromRGB(120,120,120)
        toggleBtn.Text = default and "ON" or "OFF"
        toggleBtn.TextColor3 = Color3.new(1,1,1)
        toggleBtn.Font = Enum.Font.GothamBold
        toggleBtn.TextSize = 13
        toggleBtn.Parent = container

        local state = default and true or false

        toggleBtn.MouseButton1Click:Connect(function()
            state = not state
            toggleBtn.Text = state and "ON" or "OFF"
            toggleBtn.BackgroundColor3 = state and Color3.fromRGB(30,170,60) or Color3.fromRGB(120,120,120)
            if callback then
                local ok,err = pcall(callback, state)
                if not ok then warn("Toggle callback error:",err) end
            end
        end)

        return {Frame = container, Get = function() return state end, Set = function(v)
            state = not not v
            toggleBtn.Text = state and "ON" or "OFF"
            toggleBtn.BackgroundColor3 = state and Color3.fromRGB(30,170,60) or Color3.fromRGB(120,120,120)
        end}
    end

    table.insert(tabs, tabObj)
    if #tabs == 1 then
        btn.BackgroundColor3 = Color3.fromRGB(70,70,70)
        page.Visible = true
    end
    return tabObj
end

-- Criando abas de exemplo
local tab1 = CreateTab("Principal")
local tab2 = CreateTab("Extras")

-- Elementos de exemplo
tab1:AddButton("Clique aqui", function() print("Botão pressionado!") end)
tab1:AddToggle("Modo Exemplo", false, function(v) print("Toggle agora:",v) end)
tab2:AddButton("Outro botão", function() print("Extra!") end)

Features & Information

Ele é para vocês criarem scripts com a minha UI Library

Community Comments (1)

Deepseek

More Scripts for Universal Scripts