
KeylessUniversal

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



