
Key RequiredUniversal

-- 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)No comments yet for this script.



