Gun Gui v1 4
Key RequiredUniversal

Gun Gui v1 4

Universal ScriptCara_azul666Cara_azul666 1.7K views 158 executesUpdated May 25, 2025
Unrated
00
Lua Script•235 lines (8183 chars)
-- Serviços
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local LocalPlayer = Players.LocalPlayer

-- Variáveis
local aimbotActive = false
local wallCheckActive = false
local espActive = false

local targetPart = "HumanoidRootPart"
local customTargetEnabled = false

-- GUI principal
local screenGui = Instance.new("ScreenGui", game.CoreGui)
screenGui.Name = "GunGui"

local frame = Instance.new("Frame", screenGui)
frame.Size = UDim2.new(0, 350, 0, 450)
frame.Position = UDim2.new(0, 100, 0, 100)
frame.BackgroundColor3 = Color3.fromRGB(15, 15, 70)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true

Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 15)

local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, 0, 0, 40)
title.Text = "Gun GUI"
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1,1,1)
title.Font = Enum.Font.GothamBold
title.TextSize = 26

-- Tabs
local tab1Btn = Instance.new("TextButton", frame)
tab1Btn.Size = UDim2.new(0.5, 0, 0, 35)
tab1Btn.Position = UDim2.new(0, 0, 0, 40)
tab1Btn.Text = "Principal"
tab1Btn.BackgroundColor3 = Color3.fromRGB(50, 50, 150)
tab1Btn.TextColor3 = Color3.new(1,1,1)
tab1Btn.Font = Enum.Font.GothamBold
tab1Btn.TextSize = 18

local tab2Btn = Instance.new("TextButton", frame)
tab2Btn.Size = UDim2.new(0.5, 0, 0, 35)
tab2Btn.Position = UDim2.new(0.5, 0, 0, 40)
tab2Btn.Text = "Config Aimbot"
tab2Btn.BackgroundColor3 = Color3.fromRGB(50, 50, 150)
tab2Btn.TextColor3 = Color3.new(1,1,1)
tab2Btn.Font = Enum.Font.GothamBold
tab2Btn.TextSize = 18

local tab1Frame = Instance.new("Frame", frame)
tab1Frame.Size = UDim2.new(1, 0, 1, -75)
tab1Frame.Position = UDim2.new(0, 0, 0, 75)
tab1Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 90)
tab1Frame.Visible = true

local tab2Frame = Instance.new("Frame", frame)
tab2Frame.Size = UDim2.new(1, 0, 1, -75)
tab2Frame.Position = UDim2.new(0, 0, 0, 75)
tab2Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 90)
tab2Frame.Visible = false

-- Função botão padrão
local function criarBotao(pai, texto, yPos, func)
    local btn = Instance.new("TextButton", pai)
    btn.Size = UDim2.new(0.9, 0, 0, 40)
    btn.Position = UDim2.new(0.05, 0, 0, yPos)
    btn.Text = texto
    btn.BackgroundColor3 = Color3.fromRGB(70, 70, 180)
    btn.TextColor3 = Color3.new(1,1,1)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 20
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 10)
    btn.MouseButton1Click:Connect(func)
end

-- Botões aba 1
criarBotao(tab1Frame, "Ativar/Desativar Aimbot", 20, function() aimbotActive = not aimbotActive end)
criarBotao(tab1Frame, "Ativar/Desativar Wall Check", 70, function() wallCheckActive = not wallCheckActive end)
criarBotao(tab1Frame, "Ativar/Desativar ESP", 120, function() espActive = not espActive end)

-- Botões aba 2
criarBotao(tab2Frame, "Ativar/Desativar Mira Customizada", 20, function() customTargetEnabled = not customTargetEnabled end)
criarBotao(tab2Frame, "Mira na Head", 70, function() targetPart = "Head" end)
criarBotao(tab2Frame, "Mira no Torso", 120, function() targetPart = "Torso" end)
criarBotao(tab2Frame, "Mira no HumanoidRootPart", 170, function() targetPart = "HumanoidRootPart" end)
criarBotao(tab2Frame, "Mira Randomizada", 220, function()
    local parts = {"Head", "Torso", "HumanoidRootPart"}
    targetPart = parts[math.random(#parts)]
end)

-- Alternar abas
local function mudarTab(tab)
    local c1 = Color3.fromRGB(70, 70, 180)
    local c2 = Color3.fromRGB(50, 50, 150)
    tab1Frame.Visible = tab == 1
    tab2Frame.Visible = tab == 2
    tab1Btn.BackgroundColor3 = tab == 1 and c1 or c2
    tab2Btn.BackgroundColor3 = tab == 2 and c1 or c2
end
tab1Btn.MouseButton1Click:Connect(function() mudarTab(1) end)
tab2Btn.MouseButton1Click:Connect(function() mudarTab(2) end)
mudarTab(1)

-- Aimbot
local aimConn
local function isVisible(part)
    local origin = workspace.CurrentCamera.CFrame.Position
    local direction = (part.Position - origin).Unit * 500
    local params = RaycastParams.new()
    params.FilterDescendantsInstances = {LocalPlayer.Character}
    params.FilterType = Enum.RaycastFilterType.Blacklist
    local result = workspace:Raycast(origin, direction, params)
    return result and result.Instance:IsDescendantOf(part.Parent)
end

local function updateAimbot()
    if aimConn then aimConn:Disconnect() end
    if not aimbotActive then return end
    aimConn = RunService.RenderStepped:Connect(function()
        local cam = workspace.CurrentCamera
        local closest, dist = nil, math.huge
        for _, plr in ipairs(Players:GetPlayers()) do
            if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild(targetPart) then
                local part = plr.Character[targetPart]
                if wallCheckActive and not isVisible(part) then continue end
                local screen, onScreen = cam:WorldToViewportPoint(part.Position)
                if onScreen then
                    local d = (Vector2.new(screen.X, screen.Y) - cam.ViewportSize / 2).Magnitude
                    if d < dist then
                        closest = part
                        dist = d
                    end
                end
            end
        end
        if closest then cam.CFrame = CFrame.new(cam.CFrame.Position, closest.Position) end
    end)
end

coroutine.wrap(function()
    while true do
        updateAimbot()
        wait(0.2)
    end
end)()

-- ESP
local espLines, espBoxes = {}, {}

local function criarEsp(plr)
    if espLines[plr] then return end
    local line = Drawing.new("Line")
    line.Color = Color3.fromRGB(0, 150, 255)
    line.Thickness = 2
    espLines[plr] = line

    local box = Drawing.new("Square")
    box.Color = Color3.fromRGB(0, 150, 255)
    box.Thickness = 2
    espBoxes[plr] = box
end

local function removerEsp(plr)
    if espLines[plr] then espLines[plr]:Remove() espLines[plr] = nil end
    if espBoxes[plr] then espBoxes[plr]:Remove() espBoxes[plr] = nil end
end

RunService.RenderStepped:Connect(function()
    if not espActive then
        for plr in pairs(espLines) do removerEsp(plr) end
        return
    end
    local cam = workspace.CurrentCamera
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
            criarEsp(plr)
            local root = plr.Character.HumanoidRootPart
            local pos, onScreen = cam:WorldToViewportPoint(root.Position)
            if onScreen then
                local center = cam.ViewportSize / 2
                espLines[plr].From = center
                espLines[plr].To = Vector2.new(pos.X, pos.Y)
                espLines[plr].Visible = true

                espBoxes[plr].Size = Vector2.new(40, 40)
                espBoxes[plr].Position = Vector2.new(pos.X - 20, pos.Y - 20)
                espBoxes[plr].Visible = true
            else
                espLines[plr].Visible = false
                espBoxes[plr].Visible = false
            end
        else
            removerEsp(plr)
        end
    end
end)

-- Botão de fechar
local closeBtn = Instance.new("TextButton", frame)
closeBtn.Size = UDim2.new(0, 35, 0, 35)
closeBtn.Position = UDim2.new(1, -40, 0, 5)
closeBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 60)
closeBtn.TextColor3 = Color3.new(1,1,1)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 20
closeBtn.Text = "X"
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 8)

-- Botão para reabrir GUI
local reopenBtn = Instance.new("TextButton", screenGui)
reopenBtn.Size = UDim2.new(0, 60, 0, 60)
reopenBtn.Position = UDim2.new(0, 10, 1, -70)
reopenBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 90)
reopenBtn.TextColor3 = Color3.new(1,1,1)
reopenBtn.Font = Enum.Font.GothamBold
reopenBtn.Text = "GUI"
reopenBtn.TextSize = 18
reopenBtn.Visible = false
Instance.new("UICorner", reopenBtn).CornerRadius = UDim.new(0, 12)

closeBtn.MouseButton1Click:Connect(function()
    frame.Visible = false
    reopenBtn.Visible = true
end)

reopenBtn.MouseButton1Click:Connect(function()
    frame.Visible = true
    reopenBtn.Visible = false
end)

Features & Information

V1.4

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts