local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local ContextActionService = game:GetService("ContextActionService") local player = Players.LocalPlayer local mouse = player:GetMouse() -- Hack states local hacks = { aimbot = false, esp = false, speed = false, noclip = false } -- ESP Storage local espBoxes = {} -- Aimbot variables local currentTarget = nil local aimbotKey = Enum.KeyCode.E local aimbotToggleKey = Enum.KeyCode.Q -- GUI (Create programmatically) local screenGui = Instance.new("ScreenGui") screenGui.Name = "HackMenu" screenGui.Parent = player:WaitForChild("PlayerGui") -- Main frame local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 250, 0, 300) mainFrame.Position = UDim2.new(0.5, -125, 0.5, -150) mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) mainFrame.BorderSizePixel = 2 mainFrame.BorderColor3 = Color3.fromRGB(0, 255, 0) mainFrame.Parent = screenGui -- Title local title = Instance.new("TextLabel") title.Text = "HACK SYSTEM v1.0" title.Size = UDim2.new(1, 0, 0, 30) title.BackgroundColor3 = Color3.fromRGB(0, 100, 0) title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.Code title.Parent = mainFrame -- Buttons local buttons = { {name = "Aimbot", key = "Q", yPos = 40}, {name = "ESP", key = "E", yPos = 80}, {name = "Speed Hack", key = "R", yPos = 120}, {name = "NoClip", key = "T", yPos = 160}, {name = "Teleport", key = "Y", yPos = 200}, {name = "God Mode", key = "U", yPos = 240} } for i, btnInfo in ipairs(buttons) do local button = Instance.new("TextButton") button.Name = btnInfo.name .. "Button" button.Text = btnInfo.name .. " [ " .. btnInfo.key .. " ]: OFF" button.Size = UDim2.new(0.9, 0, 0, 30) button.Position = UDim2.new(0.05, 0, 0, btnInfo.yPos) button.BackgroundColor3 = Color3.fromRGB(60, 60, 60) button.TextColor3 = Color3.fromRGB(255, 255, 255) button.Font = Enum.Font.Code button.Parent = mainFrame button.MouseButton1Click:Connect(function() toggleHack(btnInfo.name:lower():gsub(" ", "")) end) end -- ESP Functions local function createESP(target) if not target or espBoxes[target] then return end local highlight = Instance.new("Highlight") highlight.Name = "ESP_Highlight" highlight.Adornee = target highlight.FillColor = Color3.fromRGB(255, 50, 50) highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.FillTransparency = 0.7 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = target local billboard = Instance.new("BillboardGui") billboard.Name = "ESP_Info" billboard.Size = UDim2.new(0, 200, 0, 50) billboard.StudsOffset = Vector3.new(0, 3, 0) local humanoidRootPart = target:FindFirstChild("HumanoidRootPart") if humanoidRootPart then billboard.Adornee = humanoidRootPart end local label = Instance.new("TextLabel") label.Text = target.Name label.TextColor3 = Color3.fromRGB(255, 255, 255) label.BackgroundTransparency = 1 label.Size = UDim2.new(1, 0, 1, 0) label.Font = Enum.Font.Code label.Parent = billboard billboard.Parent = target espBoxes[target] = {highlight, billboard} end local function removeESP(target) if espBoxes[target] then for _, obj in ipairs(espBoxes[target]) do if obj then obj:Destroy() end end espBoxes[target] = nil end end local function updateESP() if not hacks.esp then for target in pairs(espBoxes) do removeESP(target) end return end -- Find all NPCs for _, npc in pairs(workspace:GetChildren()) do if npc:FindFirstChild("Humanoid") and npc.Humanoid.Health > 0 then if npc.Name:find("NPC") or npc.Name:find("Enemy") or npc:FindFirstChild("IsNPC") then createESP(npc) end end end end -- Aimbot Functions local function findBestTarget() local camera = workspace.CurrentCamera local bestTarget = nil local bestDistance = math.huge for _, npc in pairs(workspace:GetChildren()) do local humanoid = npc:FindFirstChild("Humanoid") local rootPart = npc:FindFirstChild("HumanoidRootPart") if humanoid and humanoid.Health > 0 and rootPart then local screenPoint, onScreen = camera:WorldToViewportPoint(rootPart.Position) if onScreen then local mousePos = Vector2.new(mouse.X, mouse.Y) local targetPos = Vector2.new(screenPoint.X, screenPoint.Y) local distance = (mousePos - targetPos).Magnitude if distance < bestDistance and distance < 300 then bestDistance = distance bestTarget = npc end end end end return bestTarget end local function aimAtTarget(target) if not target or not hacks.aimbot then return end local camera = workspace.CurrentCamera local rootPart = target:FindFirstChild("HumanoidRootPart") if rootPart then local screenPoint = camera:WorldToViewportPoint(rootPart.Position) mouse.TargetFilter = target mousemoveconnection = game:GetService("RunService").RenderStepped:Connect(function() if hacks.aimbot and rootPart then mousemoveconnection:Disconnect() mousemoveconnection = nil end end) end end -- Toggle hack function local function toggleHack(hackName) if hackName == "aimbot" then hacks.aimbot = not hacks.aimbot screenGui.HackMenu.AimbotButton.Text = "Aimbot [ Q ]: " .. (hacks.aimbot and "ON" or "OFF") if hacks.aimbot then currentTarget = findBestTarget() end elseif hackName == "esp" then hacks.esp = not hacks.esp screenGui.HackMenu.ESPButton.Text = "ESP [ E ]: " .. (hacks.esp and "ON" or "OFF") updateESP() elseif hackName == "speedhack" then hacks.speed = not hacks.speed screenGui.HackMenu.SpeedHackButton.Text = "Speed Hack [ R ]: " .. (hacks.speed and "ON" or "OFF") if player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid.WalkSpeed = hacks.speed and 50 or 16 end elseif hackName == "noclip" then hacks.noclip = not hacks.noclip screenGui.HackMenu.NoClipButton.Text = "NoClip [ T ]: " .. (hacks.noclip and "ON" or "OFF") elseif hackName == "teleport" then local target = findBestTarget() if target and target:FindFirstChild("HumanoidRootPart") then if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then player.Character.HumanoidRootPart.CFrame = target.HumanoidRootPart.CFrame * CFrame.new(0, 0, -10) end end elseif hackName == "godmode" then if player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid.MaxHealth = math.huge player.Character.Humanoid.Health = math.huge end end end -- Key binds UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.Q then toggleHack("aimbot") elseif input.KeyCode == Enum.KeyCode.E then toggleHack("esp") elseif input.KeyCode == Enum.KeyCode.R then toggleHack("speedhack") elseif input.KeyCode == Enum.KeyCode.T then toggleHack("noclip") elseif input.KeyCode == Enum.KeyCode.Y then toggleHack("teleport") elseif input.KeyCode == Enum.KeyCode.U then toggleHack("godmode") end end) -- Main update loop RunService.RenderStepped:Connect(function() -- Update ESP if hacks.esp then updateESP() end -- Update aimbot if hacks.aimbot then currentTarget = findBestTarget() if currentTarget then aimAtTarget(currentTarget) end end -- NoClip if hacks.noclip and player.Character then for _, part in pairs(player.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) -- Clean up when character dies player.CharacterAdded:Connect(function() if hacks.speed then wait(1) if player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid.WalkSpeed = 50 end end end) print("Hack System Loaded! Use Q/E/R/T/Y/U keys or click buttons")