Gun Gui v1 5
Key RequiredUniversal

Gun Gui v1 5

Universal ScriptCara_azul666Cara_azul666 2.8K views 297 executesUpdated May 26, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•261 lines (9332 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 npcAimbot = false
local targetPart = "HumanoidRootPart"
local customTargetEnabled = false
local espTransparency = 1

-- 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

-- 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

-- 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)
criarBotao(tab1Frame, "Aimbot NPC", 170, function() npcAimbot = not npcAimbot end)

-- 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)

-- TextBox de transparência
local espBox = Instance.new("TextBox", tab2Frame)
espBox.Size = UDim2.new(0.9, 0, 0, 40)
espBox.Position = UDim2.new(0.05, 0, 0, 270)
espBox.PlaceholderText = "Transparência (0 a 1)"
espBox.Text = ""
espBox.BackgroundColor3 = Color3.fromRGB(70, 70, 180)
espBox.TextColor3 = Color3.new(1, 1, 1)
espBox.Font = Enum.Font.GothamBold
espBox.TextSize = 18
Instance.new("UICorner", espBox).CornerRadius = UDim.new(0, 10)

espBox.FocusLost:Connect(function()
    local num = tonumber(espBox.Text)
    if num and num >= 0 and num <= 1 then
        espTransparency = num
    end
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 _, obj in ipairs(workspace:GetDescendants()) do
            local isPlayer = Players:GetPlayerFromCharacter(obj)
            if (npcAimbot or isPlayer) and obj:IsA("Model") and obj:FindFirstChild(targetPart) then
                if obj == LocalPlayer.Character then continue end
                local part = obj[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
    box.Transparency = espTransparency
    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") and plr.Character:FindFirstChild("Humanoid") then
            if plr.Character.Humanoid.Health <= 0 then
                removerEsp(plr)
            else
                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
                    espBoxes[plr].Transparency = espTransparency
                else
                    espLines[plr].Visible = false
                    espBoxes[plr].Visible = false
                end
            end
        else
            removerEsp(plr)
        end
    end
end)

-- Fechar GUI
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)

-- 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

Now you can change the transparency of the esp and also add Aimbot for npc and bot

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts