Catnap aimbot
Key RequiredUniversal

Catnap aimbot

Universal Scriptpbedw123456pbedw123456 322 views 758 executesUpdated Aug 17, 2026
Unrated
00
Lua Script•425 lines (14367 chars)
--[[
    Script: Aimbot UI System
    Descrição: Interface moderna e profissional para sistema de aimbot com FOV ajustável.
    Desenvolvido para Roblox Studio - Uso dentro do jogo.
]]

-- Serviços
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

-- Referências
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local camera = workspace.CurrentCamera

-- Variáveis do Sistema
local aimbotEnabled = false
local fovRadius = 150  -- Raio padrão do FOV
local targetPlayer = nil
local closestDistance = math.huge

-- Criar ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AimbotUI"
screenGui.Parent = player.PlayerGui
screenGui.ResetOnSpawn = false

-- Função para criar UI com cantos arredondados
local function createRoundedCorner(instance, radius)
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, radius)
    corner.Parent = instance
    return corner
end

-- Função para criar sombra
local function createShadow(instance)
    local shadow = Instance.new("ImageLabel")
    shadow.Name = "Shadow"
    shadow.Image = "rbxassetid://1316045385" -- Sombra padrão
    shadow.ImageColor3 = Color3.new(0, 0, 0)
    shadow.ImageTransparency = 0.5
    shadow.BackgroundTransparency = 1
    shadow.Size = UDim2.new(1, 20, 1, 20)
    shadow.Position = UDim2.new(0, -10, 0, -10)
    shadow.ZIndex = 0
    shadow.Parent = instance
    return shadow
end

-- Frame Principal
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 350, 0, 480)
mainFrame.Position = UDim2.new(0.5, -175, 0.5, -240)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
mainFrame.BackgroundTransparency = 0.08
mainFrame.BorderSizePixel = 0
mainFrame.ClipsDescendants = true
mainFrame.Parent = screenGui

-- Aplicar cantos arredondados e sombra
local mainCorner = createRoundedCorner(mainFrame, 12)
local mainShadow = createShadow(mainFrame)

-- Background com blur (efeito moderno)
local background = Instance.new("Frame")
background.Name = "Background"
background.Size = UDim2.new(1, 0, 1, 0)
background.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
background.BackgroundTransparency = 0.2
background.BorderSizePixel = 0
background.Parent = mainFrame
createRoundedCorner(background, 12)

-- Título da Janela
local titleBar = Instance.new("Frame")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 40)
titleBar.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
titleBar.BackgroundTransparency = 0.3
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame
createRoundedCorner(titleBar, 12)

-- Título
local titleLabel = Instance.new("TextLabel")
titleLabel.Name = "TitleLabel"
titleLabel.Size = UDim2.new(1, -40, 1, 0)
titleLabel.Position = UDim2.new(0, 20, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "⚡ AIMBOT SYSTEM"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextSize = 18
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Parent = titleBar

-- Botão Fechar
local closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -35, 0, 5)
closeButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
closeButton.BackgroundTransparency = 0.8
closeButton.Text = "✕"
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.TextSize = 20
closeButton.Font = Enum.Font.GothamBold
closeButton.BorderSizePixel = 0
closeButton.Parent = titleBar
createRoundedCorner(closeButton, 6)

-- Botão Minimizar
local minButton = Instance.new("TextButton")
minButton.Name = "MinButton"
minButton.Size = UDim2.new(0, 30, 0, 30)
minButton.Position = UDim2.new(1, -70, 0, 5)
minButton.BackgroundColor3 = Color3.fromRGB(200, 200, 50)
minButton.BackgroundTransparency = 0.8
minButton.Text = "─"
minButton.TextColor3 = Color3.fromRGB(255, 255, 255)
minButton.TextSize = 20
minButton.Font = Enum.Font.GothamBold
minButton.BorderSizePixel = 0
minButton.Parent = titleBar
createRoundedCorner(minButton, 6)

-- Container de Conteúdo
local contentContainer = Instance.new("Frame")
contentContainer.Name = "ContentContainer"
contentContainer.Size = UDim2.new(1, -20, 1, -60)
contentContainer.Position = UDim2.new(0, 10, 0, 50)
contentContainer.BackgroundTransparency = 1
contentContainer.Parent = mainFrame

-- Seção Aimbot
local aimbotSection = Instance.new("Frame")
aimbotSection.Name = "AimbotSection"
aimbotSection.Size = UDim2.new(1, 0, 0, 60)
aimbotSection.Position = UDim2.new(0, 0, 0, 0)
aimbotSection.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
aimbotSection.BackgroundTransparency = 0.5
aimbotSection.BorderSizePixel = 0
aimbotSection.Parent = contentContainer
createRoundedCorner(aimbotSection, 8)

-- Label Aimbot
local aimbotLabel = Instance.new("TextLabel")
aimbotLabel.Name = "AimbotLabel"
aimbotLabel.Size = UDim2.new(0.6, -10, 1, 0)
aimbotLabel.Position = UDim2.new(0, 10, 0, 0)
aimbotLabel.BackgroundTransparency = 1
aimbotLabel.Text = "🎯 Aimbot"
aimbotLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
aimbotLabel.TextSize = 16
aimbotLabel.TextXAlignment = Enum.TextXAlignment.Left
aimbotLabel.Font = Enum.Font.GothamMedium
aimbotLabel.Parent = aimbotSection

-- Botão Aimbot (Toggle)
local aimbotToggle = Instance.new("TextButton")
aimbotToggle.Name = "AimbotToggle"
aimbotToggle.Size = UDim2.new(0, 80, 0, 35)
aimbotToggle.Position = UDim2.new(0.7, 5, 0.5, -17.5)
aimbotToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 90)
aimbotToggle.Text = "DESATIVADO"
aimbotToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
aimbotToggle.TextSize = 14
aimbotToggle.Font = Enum.Font.GothamBold
aimbotToggle.BorderSizePixel = 0
aimbotToggle.Parent = aimbotSection
createRoundedCorner(aimbotToggle, 6)

-- Seção FOV
local fovSection = Instance.new("Frame")
fovSection.Name = "FOVSection"
fovSection.Size = UDim2.new(1, 0, 0, 60)
fovSection.Position = UDim2.new(0, 0, 0, 70)
fovSection.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
fovSection.BackgroundTransparency = 0.5
fovSection.BorderSizePixel = 0
fovSection.Parent = contentContainer
createRoundedCorner(fovSection, 8)

-- Label FOV
local fovLabel = Instance.new("TextLabel")
fovLabel.Name = "FOVLabel"
fovLabel.Size = UDim2.new(0.5, -10, 1, 0)
fovLabel.Position = UDim2.new(0, 10, 0, 0)
fovLabel.BackgroundTransparency = 1
fovLabel.Text = "📐 Tamanho FOV"
fovLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
fovLabel.TextSize = 16
fovLabel.TextXAlignment = Enum.TextXAlignment.Left
fovLabel.Font = Enum.Font.GothamMedium
fovLabel.Parent = fovSection

-- TextBox FOV
local fovTextBox = Instance.new("TextBox")
fovTextBox.Name = "FOVTextBox"
fovTextBox.Size = UDim2.new(0, 80, 0, 35)
fovTextBox.Position = UDim2.new(0.7, 5, 0.5, -17.5)
fovTextBox.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
fovTextBox.Text = "150"
fovTextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
fovTextBox.TextSize = 16
fovTextBox.Font = Enum.Font.GothamBold
fovTextBox.BorderSizePixel = 0
fovTextBox.PlaceholderText = "Raio"
fovTextBox.Parent = fovSection
createRoundedCorner(fovTextBox, 6)

-- Slider FOV (Visual)
local sliderContainer = Instance.new("Frame")
sliderContainer.Name = "SliderContainer"
sliderContainer.Size = UDim2.new(0, 0, 0, 0)
sliderContainer.BackgroundTransparency = 1
sliderContainer.Parent = fovSection

-- Seção Info
local infoSection = Instance.new("Frame")
infoSection.Name = "InfoSection"
infoSection.Size = UDim2.new(1, 0, 0, 40)
infoSection.Position = UDim2.new(0, 0, 0, 140)
infoSection.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
infoSection.BackgroundTransparency = 0.5
infoSection.BorderSizePixel = 0
infoSection.Parent = contentContainer
createRoundedCorner(infoSection, 8)

-- Label Info
local infoLabel = Instance.new("TextLabel")
infoLabel.Name = "InfoLabel"
infoLabel.Size = UDim2.new(1, -20, 1, 0)
infoLabel.Position = UDim2.new(0, 10, 0, 0)
infoLabel.BackgroundTransparency = 1
infoLabel.Text = "Status: Aguardando..."
infoLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
infoLabel.TextSize = 14
infoLabel.TextXAlignment = Enum.TextXAlignment.Left
infoLabel.Font = Enum.Font.GothamMedium
infoLabel.Parent = infoSection

-- FOV Circle (Elemento visual do aimbot)
local fovCircle = Instance.new("ImageLabel")
fovCircle.Name = "FOVCircle"
fovCircle.Size = UDim2.new(0, fovRadius * 2, 0, fovRadius * 2)
fovCircle.Position = UDim2.new(0.5, -fovRadius, 0.5, -fovRadius)
fovCircle.BackgroundTransparency = 1
fovCircle.Image = "rbxassetid://1472630089" -- Círculo transparente
fovCircle.ImageColor3 = Color3.fromRGB(0, 150, 255)
fovCircle.ImageTransparency = 0.6
fovCircle.ZIndex = 999
fovCircle.Visible = false
fovCircle.Parent = screenGui

-- Ponto central do FOV
local centerDot = Instance.new("ImageLabel")
centerDot.Name = "CenterDot"
centerDot.Size = UDim2.new(0, 6, 0, 6)
centerDot.Position = UDim2.new(0.5, -3, 0.5, -3)
centerDot.BackgroundTransparency = 1
centerDot.Image = "rbxassetid://1472630089"
centerDot.ImageColor3 = Color3.fromRGB(255, 0, 0)
centerDot.ZIndex = 1000
centerDot.Visible = false
centerDot.Parent = screenGui

-- Função para atualizar o FOV Circle
local function updateFOVCircle(radius)
    fovRadius = math.clamp(radius, 50, 400)
    fovCircle.Size = UDim2.new(0, fovRadius * 2, 0, fovRadius * 2)
    fovCircle.Position = UDim2.new(0.5, -fovRadius, 0.5, -fovRadius)
    
    -- Atualizar TextBox
    fovTextBox.Text = tostring(fovRadius)
end

-- Função para animar botões
local function animateButton(button, scale)
    local tweenInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
    local properties = {Size = UDim2.new(scale.X, scale.Y, scale.Z, scale.W)}
    local tween = TweenService:Create(button, tweenInfo, properties)
    tween:Play()
end

-- Sistema de arrastar janela
local dragging = false
local dragStart = nil
local startPos = 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 = mainFrame.Position
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
        local delta = input.Position - dragStart
        mainFrame.Position = UDim2.new(
            startPos.X.Scale,
            startPos.X.Offset + delta.X,
            startPos.Y.Scale,
            startPos.Y.Offset + delta.Y
        )
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = false
    end
end)

-- Lógica do Aimbot
local function getClosestPlayerInFOV()
    local center = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
    local closest = nil
    local minDist = math.huge
    
    for _, otherPlayer in pairs(Players:GetPlayers()) do
        if otherPlayer ~= player and otherPlayer.Character and otherPlayer.Character:FindFirstChild("Head") then
            local headPos = otherPlayer.Character.Head.Position
            local screenPos, onScreen = camera:WorldToViewportPoint(headPos)
            
            if onScreen then
                local dist = (Vector2.new(screenPos.X, screenPos.Y) - center).Magnitude
                if dist < fovRadius and dist < minDist then
                    minDist = dist
                    closest = otherPlayer
                end
            end
        end
    end
    
    return closest, minDist
end

-- Loop do Aimbot
RunService.RenderStepped:Connect(function()
    if aimbotEnabled then
        local target, dist = getClosestPlayerInFOV()
        targetPlayer = target
        
        if target and target.Character and target.Character:FindFirstChild("Head") then
            -- Atualizar status
            infoLabel.Text = "🎯 Alvo: " .. target.Name .. " | Distância: " .. string.format("%.1f", dist)
            
            -- Apontar câmera para a cabeça
            local headPos = target.Character.Head.Position
            camera.CFrame = CFrame.new(camera.CFrame.Position, headPos)
            
            -- Mudar cor do círculo para indicar alvo
            fovCircle.ImageColor3 = Color3.fromRGB(0, 255, 100)
        else
            infoLabel.Text = "🔍 Procurando alvo..."
            fovCircle.ImageColor3 = Color3.fromRGB(0, 150, 255)
        end
    else
        targetPlayer = nil
        infoLabel.Text = "⏸️ Sistema desativado"
        fovCircle.ImageColor3 = Color3.fromRGB(0, 150, 255)
    end
end)

-- Eventos dos Botões
-- Toggle Aimbot
aimbotToggle.MouseButton1Click:Connect(function()
    aimbotEnabled = not aimbotEnabled
    fovCircle.Visible = aimbotEnabled
    centerDot.Visible = aimbotEnabled
    
    if aimbotEnabled then
        aimbotToggle.Text = "ATIVADO"
        aimbotToggle.BackgroundColor3 = Color3.fromRGB(0, 200, 100)
        infoLabel.Text = "✅ Sistema ativado"
    else
        aimbotToggle.Text = "DESATIVADO"
        aimbotToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 90)
        infoLabel.Text = "⏸️ Sistema desativado"
        fovCircle.ImageColor3 = Color3.fromRGB(0, 150, 255)
    end
    
    animateButton(aimbotToggle, UDim2.new(0, 80, 0, 35))
end)

-- FOV TextBox
fovTextBox.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        local newRadius = tonumber(fovTextBox.Text)
        if newRadius then
            updateFOVCircle(newRadius)
        else
            fovTextBox.Text = tostring(fovRadius)
        end
    end
end)

-- Fechar UI
closeButton.MouseButton1Click:Connect(function()
    screenGui.Enabled = false
    animateButton(closeButton, UDim2.new(0, 30, 0, 30))
end)

-- Minimizar UI
minButton.MouseButton1Click:Connect(function()
    mainFrame.Visible = not mainFrame.Visible
    animateButton(minButton, UDim2.new(0, 30, 0, 30))
end)

-- Atualizar FOV quando a tela redimensionar
camera:GetPropertyChangedSignal("ViewportSize"):Connect(function()
    updateFOVCircle(fovRadius)
end)

-- Inicializar FOV
updateFOVCircle(fovRadius)

print("🔫 Sistema Aimbot UI carregado com sucesso!")

Features & Information

Aim
#Aum

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts