--[[ --------------------------------------------------------------------------------------- - BLACKLIST - [v4.1] - BIND 1: [Right-Click] -> Head-Glue Velocity Prediction - BIND 2: [F-Key] -> Nearest Torso/Neck Snap-Lock - MISC: Speed (22), Spinbot (35), Full Bright, Distance ESP - ENGINE: Dual-Vector Predictive Aiming --------------------------------------------------------------------------------------- --]] local Players, RunService, UIS, CoreGui, Lighting = game:GetService("Players"), game:GetService("RunService"), game:GetService("UserInputService"), game:GetService("CoreGui"), game:GetService("Lighting") local LP, Camera = Players.LocalPlayer, workspace.CurrentCamera local State = { MainBg = Color3.fromRGB(15, 15, 17), SideBg = Color3.fromRGB(22, 22, 24), CardBg = Color3.fromRGB(28, 28, 30), Accent = Color3.fromRGB(0, 170, 255), RainbowColor = Color3.new(1,1,1), Visible = true, MenuKey = Enum.KeyCode.F4, Smoothing = 45, FOV = 150, Toggles = {} } -- // 1. CORE HUD SETUP local HUD = Instance.new("ScreenGui", CoreGui); HUD.Name = "BLACKLIST_v41"; HUD.IgnoreGuiInset = true; HUD.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local FOVOuter = Instance.new("Frame", HUD); FOVOuter.BackgroundTransparency = 1; FOVOuter.AnchorPoint = Vector2.new(0.5, 0.5); FOVOuter.Visible = false local FOVStroke = Instance.new("UIStroke", FOVOuter); FOVStroke.Thickness = 2.5; FOVStroke.Color = Color3.new(1,1,1) Instance.new("UICorner", FOVOuter).CornerRadius = UDim.new(1, 0) local BOX_POOL = {} for i = 1, 60 do local b = Instance.new("Frame", HUD); b.BackgroundTransparency = 1; b.Visible = false; b.ZIndex = 1 local s = Instance.new("UIStroke", b); s.Thickness = 2 local d = Instance.new("TextLabel", b); d.Size = UDim2.new(1, 0, 0, 20); d.Position = UDim2.new(0, 0, 1, 5); d.BackgroundTransparency = 1; d.TextColor3 = Color3.new(1,1,1); d.Font = "GothamBold"; d.TextSize = 10 table.insert(BOX_POOL, {Frame = b, Stroke = s, Dist = d}) end -- // 2. UI CONSTRUCTION local function BuildUI() local Main = Instance.new("Frame", HUD); Main.Size = UDim2.new(0, 850, 0, 520); Main.Position = UDim2.new(0.5, -425, 0.5, -260); Main.BackgroundColor3 = State.MainBg; Main.BorderSizePixel = 0; Main.ZIndex = 10 Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 8); Instance.new("UIAspectRatioConstraint", Main).AspectRatio = 850/520 local Nav = Instance.new("Frame", Main); Nav.Size = UDim2.new(0, 180, 1, -30); Nav.BackgroundColor3 = State.SideBg; Nav.ZIndex = 11 local Container = Instance.new("Frame", Main); Container.Position = UDim2.new(0, 195, 0, 15); Container.Size = UDim2.new(0, 640, 1, -60); Container.BackgroundTransparency = 1; Container.ZIndex = 11 local DragBar = Instance.new("TextButton", Main); DragBar.Size = UDim2.new(1, 0, 0, 30); DragBar.Position = UDim2.new(0, 0, 1, -30); DragBar.BackgroundColor3 = State.SideBg; DragBar.Text = "BLACKLIST v4.1 | DUAL-LOCK [F]"; DragBar.TextColor3 = Color3.new(1,1,1); DragBar.Font = "GothamBold"; DragBar.ZIndex = 12 local TabPages, AccentElements = {}, {} local function CreateTab(name, idx) local b = Instance.new("TextButton", Nav); b.Size = UDim2.new(1, -20, 0, 40); b.Position = UDim2.new(0, 10, 0, 70 + (idx * 45)); b.BackgroundColor3 = State.CardBg; b.Text = name; b.TextColor3 = Color3.new(1,1,1); b.Font = "GothamMedium"; b.ZIndex = 12 local p = Instance.new("ScrollingFrame", Container); p.Size = UDim2.new(1, 0, 1, 0); p.Visible = (idx == 0); p.BackgroundTransparency = 1; p.ZIndex = 12; p.AutomaticCanvasSize = "Y"; p.ScrollBarThickness = 0 Instance.new("UIListLayout", p).Padding = UDim.new(0, 8); TabPages[name] = p b.MouseButton1Down:Connect(function() for _, page in pairs(TabPages) do page.Visible = false end p.Visible = true end) return p end local function CreateToggle(parent, text) local b = Instance.new("TextButton", parent); b.Size = UDim2.new(1, -20, 0, 45); b.BackgroundColor3 = State.CardBg; b.Text = " " .. text; b.TextColor3 = Color3.new(0.8, 0.8, 0.8); b.TextXAlignment = "Left"; b.Font = "Gotham"; b.ZIndex = 13 Instance.new("UICorner", b).CornerRadius = UDim.new(0, 4) local Ind = Instance.new("Frame", b); Ind.Size = UDim2.new(0, 4, 0.6, 0); Ind.Position = UDim2.new(0, 2, 0.2, 0); Ind.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1); Ind.ZIndex = 14 table.insert(AccentElements, Ind) b.MouseButton1Down:Connect(function() State.Toggles[text] = not State.Toggles[text] Ind.BackgroundColor3 = State.Toggles[text] and State.Accent or Color3.new(0.1, 0.1, 0.1) if text == "Show FOV" then FOVOuter.Visible = State.Toggles[text] end end) end local function CreateSlider(parent, text, min, max, start, callback) local s = Instance.new("Frame", parent); s.Size = UDim2.new(1, -20, 0, 60); s.BackgroundColor3 = State.CardBg; s.ZIndex = 13 local lbl = Instance.new("TextLabel", s); lbl.Size = UDim2.new(1, 0, 0, 30); lbl.Text = " " .. text .. ": " .. start; lbl.TextColor3 = Color3.new(1,1,1); lbl.BackgroundTransparency = 1; lbl.TextXAlignment = "Left"; lbl.ZIndex = 14 local bar = Instance.new("Frame", s); bar.Size = UDim2.new(0.9, 0, 0, 4); bar.Position = UDim2.new(0.05, 0, 0.75, 0); bar.BackgroundColor3 = Color3.new(0,0,0); bar.ZIndex = 14 local dot = Instance.new("Frame", bar); dot.Size = UDim2.new(0, 14, 0, 14); dot.AnchorPoint = Vector2.new(0.5,0.5); dot.Position = UDim2.new((start-min)/(max-min), 0, 0.5, 0); dot.BackgroundColor3 = State.Accent; dot.ZIndex = 15 table.insert(AccentElements, dot) s.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then local m = RunService.RenderStepped:Connect(function() local p = math.clamp((UIS:GetMouseLocation().X - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1) local val = math.floor(min + (p * (max - min))) dot.Position = UDim2.new(p, 0, 0.5, 0); lbl.Text = " " .. text .. ": " .. val; callback(val) end) UIS.InputEnded:Connect(function(e) if e.UserInputType == Enum.UserInputType.MouseButton1 then m:Disconnect() end end) end end) end local Combat = CreateTab("COMBAT", 0); local Visuals = CreateTab("VISUALS", 1); local Weapon = CreateTab("WEAPON", 2); local Misc = CreateTab("MISC", 3) CreateSlider(Combat, "Smoothing", 1, 100, State.Smoothing, function(v) State.Smoothing = v end) CreateSlider(Combat, "FOV Size", 10, 800, State.FOV, function(v) State.FOV = v end) for _, v in pairs({"Enable Aimbot", "Head Glue", "F-Lock (Torso)", "Show FOV", "Team Check"}) do CreateToggle(Combat, v) end for _, v in pairs({"Box ESP", "Distance ESP", "Names ESP", "Tracer ESP", "Rainbow ESP"}) do CreateToggle(Visuals, v) end for _, v in pairs({"No Recoil", "No Spread", "Infinite Ammo", "Rapid Fire", "Instant Hit"}) do CreateToggle(Weapon, v) end for _, v in pairs({"Speed (22)", "Spinbot (35)", "Full Bright", "Rainbow FOV", "Rainbow UI"}) do CreateToggle(Misc, v) end -- RAINBOW & LIGHTING SYNC RunService.Heartbeat:Connect(function() State.RainbowColor = Color3.fromHSV(tick() % 4 / 4, 1, 1) if State.Toggles["Rainbow UI"] then for _, o in pairs(AccentElements) do if o.BackgroundColor3 ~= Color3.fromRGB(25,25,25) then o.BackgroundColor3 = State.RainbowColor end end end if State.Toggles["Rainbow FOV"] and State.Toggles["Show FOV"] then FOVStroke.Color = State.RainbowColor end if State.Toggles["Full Bright"] then Lighting.Brightness = 2; Lighting.ClockTime = 14; Lighting.Ambient = Color3.new(1,1,1); Lighting.OutdoorAmbient = Color3.new(1,1,1) end end) local d, ds, sp DragBar.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then d = true ds = i.Position sp = Main.Position end end) UIS.InputChanged:Connect(function(i) if d and i.UserInputType == Enum.UserInputType.MouseMovement then local delta = i.Position - ds Main.Position = UDim2.new(sp.X.Scale, sp.X.Offset + delta.X, sp.Y.Scale, sp.Y.Offset + delta.Y) end end) UIS.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then d = false end end) UIS.InputBegan:Connect(function(k) if k.KeyCode == State.MenuKey then Main.Visible = not Main.Visible end end) end -- // 3. RENDER ENGINE & DUAL-LOCK LOGIC local bIdx = 1 RunService.RenderStepped:Connect(function() bIdx = 1; for _, v in pairs(BOX_POOL) do v.Frame.Visible = false end FOVOuter.Position = UDim2.new(0, UIS:GetMouseLocation().X, 0, UIS:GetMouseLocation().Y) FOVOuter.Size = UDim2.new(0, State.FOV * 2, 0, State.FOV * 2) local targetHead, targetTorso, dist = nil, nil, State.FOV for _, p in pairs(Players:GetPlayers()) do if p ~= LP and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local char = p.Character local head = char:FindFirstChild("Head") local torso = char:FindFirstChild("UpperTorso") or char:FindFirstChild("Torso") if head and torso then local hP, hV = Camera:WorldToViewportPoint(head.Position) local tP, tV = Camera:WorldToViewportPoint(torso.Position) if hV or tV then local mouseDist = (Vector2.new(hP.X, hP.Y) - UIS:GetMouseLocation()).Magnitude if mouseDist < dist then dist = mouseDist targetHead = head targetTorso = torso end -- ESP SYSTEM if State.Toggles["Box ESP"] then local b = BOX_POOL[bIdx]; b.Frame.Visible = true; b.Frame.Position = UDim2.new(0, hP.X, 0, hP.Y + 20); b.Frame.Size = UDim2.new(0, 2500/hP.Z, 0, 3500/hP.Z); b.Frame.AnchorPoint = Vector2.new(0.5,0.5) b.Stroke.Color = State.Toggles["Rainbow ESP"] and State.RainbowColor or State.Accent if State.Toggles["Distance ESP"] then b.Dist.Visible = true; b.Dist.Text = math.floor((LP.Character.HumanoidRootPart.Position - head.Position).Magnitude) .. "m" else b.Dist.Visible = false end bIdx = bIdx + 1 end end end end end -- MISC MOVEMENT if LP.Character and LP.Character:FindFirstChild("HumanoidRootPart") then local root = LP.Character.HumanoidRootPart if State.Toggles["Speed (22)"] then LP.Character.Humanoid.WalkSpeed = 22 else LP.Character.Humanoid.WalkSpeed = 16 end if State.Toggles["Spinbot (35)"] then root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(35), 0) end if State.Toggles["Infinite Jump"] and UIS:IsKeyDown(Enum.KeyCode.Space) then LP.Character.Humanoid:ChangeState("Jumping") end end -- AIMBOT ENGINE (Dual Binding) local activeTarget = nil local lockPart = nil if State.Toggles["Enable Aimbot"] then if UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then activeTarget = targetHead; lockPart = "Head" elseif UIS:IsKeyDown(Enum.KeyCode.F) and State.Toggles["F-Lock (Torso)"] then activeTarget = targetTorso; lockPart = "Torso" end end if activeTarget then local predictedPos = activeTarget.Position + (activeTarget.Velocity * LP:GetNetworkPing()) local lookCF = CFrame.lookAt(Camera.CFrame.Position, predictedPos) local smoothAmount = State.Toggles["Head Glue"] and 0.28 or ((101 - State.Smoothing) / 1000) Camera.CFrame = Camera.CFrame:Lerp(lookCF, smoothAmount) end end) BuildUI()