--// Aimbot Script Hub for Roblox with Improved UI, Team Check, Wall Check, and Blatant Mode
--// WARNING: This is for educational purposes ONLY. Using exploits in games can result in bans.
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local Workspace = game:GetService("Workspace")
local AimbotEnabled = false
local TeamCheckEnabled = false
local WallCheckEnabled = false
local BlatantMode = false
local AimSmoothness = 1 -- Increased for more blatant aimbot
-- Create GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = game.CoreGui
local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 220, 0, 350)
Frame.Position = UDim2.new(0, 20, 0, 100)
Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Frame.BorderSizePixel = 2
Frame.Parent = ScreenGui
Frame.BackgroundTransparency = 0.2
Frame.Active = true
Frame.Draggable = true
local UIStroke = Instance.new("UIStroke")
UIStroke.Thickness = 2
UIStroke.Color = Color3.fromRGB(255, 255, 255)
UIStroke.Parent = Frame
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 40)
Title.Text = "Rubix.lua"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 16
Title.Parent = Frame
local function CreateButton(name, position, callback)
local Button = Instance.new("TextButton")
Button.Size = UDim2.new(0, 200, 0, 40)
Button.Position = position
Button.Text = name .. ": OFF"
Button.TextColor3 = Color3.fromRGB(255, 255, 255)
Button.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
Button.Font = Enum.Font.Gotham
Button.TextSize = 14
Button.Parent = Frame
local enabled = false
Button.MouseButton1Click:Connect(function()
enabled = not enabled
callback(enabled)
Button.Text = name .. ": " .. (enabled and "ON" or "OFF")
end)
return Button
end
CreateButton("Aimbot", UDim2.new(0, 10, 0, 50), function(state)
AimbotEnabled = state
end)
CreateButton("Team Check", UDim2.new(0, 10, 0, 100), function(state)
TeamCheckEnabled = state
end)
CreateButton("Wall Check", UDim2.new(0, 10, 0, 150), function(state)
WallCheckEnabled = state
end)
CreateButton("Blatant Mode", UDim2.new(0, 10, 0, 200), function(state)
BlatantMode = state
AimSmoothness = BlatantMode and 1 or 0.1
end)
function IsVisible(target)
local origin = Camera.CFrame.Position
local direction = (target.Position - origin).unit * (target.Position - origin).magnitude
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = {LocalPlayer.Character, Camera}
raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
local result = Workspace:Raycast(origin, direction, raycastParams)
return result == nil or result.Instance:IsDescendantOf(target.Parent)
end
function GetClosestPlayer()
local closestPlayer = nil
local shortestDistance = math.huge
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then
if TeamCheckEnabled and player.Team == LocalPlayer.Team then
continue
end
local head = player.Character.Head
if WallCheckEnabled and not IsVisible(head) then
continue
end
local screenPosition, onScreen = Camera:WorldToViewportPoint(head.Position)
if onScreen then
local distance = (Vector2.new(screenPosition.X, screenPosition.Y) - UserInputService:GetMouseLocation()).magnitude
if distance < shortestDistance then
shortestDistance = distance
closestPlayer = head
end
end
end
end
return closestPlayer
end
RunService.RenderStepped:Connect(function()
if AimbotEnabled then
local target = GetClosestPlayer()
if target then
local targetPosition = target.Position
Camera.CFrame = CFrame.new(Camera.CFrame.Position, targetPosition)
end
end
end)
To embed this project on your website, copy the following code and paste it into your website's HTML: