-- DARK SLAYER HUB - FULL FUNCTIONAL & XENO SAFE local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local lp = Players.LocalPlayer local cam = workspace.CurrentCamera -- GUI Cleanup local guiName = "DSLockGui_"..math.random(1000,9999) if CoreGui:FindFirstChild(guiName) then CoreGui[guiName]:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = guiName gui.ResetOnSpawn = false gui.Parent = CoreGui local main = Instance.new("Frame") main.Size = UDim2.new(0, 300, 0, 360) main.Position = UDim2.new(0.1,0,0.3,0) main.BackgroundColor3 = Color3.fromRGB(10,10,10) main.BackgroundTransparency = 0.15 main.Active = true main.Draggable = false main.Visible = false -- hide until loading finishes main.Parent = gui -- LOADING SCREEN (3 SECONDS, TRANSPARENT) local loadingScreen = Instance.new("ScreenGui") loadingScreen.ResetOnSpawn = false loadingScreen.Parent = CoreGui local loadingText = Instance.new("TextLabel") loadingText.Size = UDim2.new(1,0,0,100) loadingText.Position = UDim2.new(0,0,0.5,-50) loadingText.BackgroundTransparency = 1 loadingText.Text = "ᴅᴀʀᴋ ꜱʟᴀʏᴇʀ" loadingText.TextColor3 = Color3.fromRGB(255,0,0) loadingText.TextScaled = true loadingText.Font = Enum.Font.Antique loadingText.Parent = loadingScreen local gradient = Instance.new("UIGradient") gradient.Rotation = 0 gradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(255,0,0)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255,255,255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255,0,0)) } gradient.Parent = loadingText spawn(function() while loadingScreen.Parent do for i = 0,1,0.01 do gradient.Rotation = i*360 task.wait(0.02) end end end) task.delay(3, function() loadingScreen:Destroy() main.Visible = true end) -- TITLE & STATUS local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -28, 0, 28) title.Position = UDim2.new(0,0,0,0) title.BackgroundTransparency = 1 title.Text = "ᴅᴀʀᴋꜱʟᴀʏᴇʀ - Lock On" title.TextColor3 = Color3.fromRGB(255,0,0) title.TextScaled = true title.Selectable = false title.Parent = main local status = Instance.new("TextLabel") status.Size = UDim2.new(1,0,0,25) status.Position = UDim2.new(0,0,0.1,0) status.BackgroundTransparency = 1 status.Text = "Lock: OFF" status.TextColor3 = Color3.fromRGB(255,70,70) status.TextScaled = true status.Selectable = false status.Parent = main -- PLAYER LIST local listFrame = Instance.new("Frame") listFrame.Size = UDim2.new(0, 280, 0, 140) listFrame.Position = UDim2.new(0.01,0,0.18,0) listFrame.BackgroundColor3 = Color3.fromRGB(15,15,15) listFrame.BackgroundTransparency = 0.1 listFrame.Parent = main local scroll = Instance.new("ScrollingFrame") scroll.Size = UDim2.new(1,-6,1,-6) scroll.Position = UDim2.new(0,3,0,3) scroll.BackgroundTransparency = 1 scroll.ScrollBarImageTransparency = 0.3 scroll.CanvasSize = UDim2.new(0,0,0,0) scroll.Parent = listFrame local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0,4) layout.Parent = scroll -- VARIABLES local locked = false local targetHRP = nil local silentAimEnabled = false local infJumpEnabled = false local function getHRP(char) return char and char:FindFirstChild("HumanoidRootPart") end -- REFRESH PLAYER LIST local function refreshList() for _, v in pairs(scroll:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end for _, p in pairs(Players:GetPlayers()) do if p ~= lp then local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 26) btn.Text = p.Name btn.TextScaled = true btn.BackgroundColor3 = Color3.fromRGB(30,30,30) btn.TextColor3 = Color3.new(1,1,1) btn.Selectable = false btn.Parent = scroll btn.MouseButton1Click:Connect(function() if p.Character and getHRP(p.Character) then locked = true targetHRP = getHRP(p.Character) status.Text = "Locked On: " .. p.Name status.TextColor3 = Color3.fromRGB(0,255,0) end end) end end task.wait() scroll.CanvasSize = UDim2.new(0,0,0,layout.AbsoluteContentSize.Y + 5) end refreshList() Players.PlayerAdded:Connect(refreshList) Players.PlayerRemoving:Connect(refreshList) -- LOCK / UNLOCK BUTTONS local yes = Instance.new("TextButton") yes.Size = UDim2.new(0.45,0,0,40) yes.Position = UDim2.new(0.05,0,0.7,0) yes.BackgroundColor3 = Color3.fromRGB(0,180,0) yes.Text = "LOCK SELECTED" yes.TextScaled = true yes.Selectable = false yes.Parent = main yes.MouseButton1Click:Connect(function() if not targetHRP then local closest = nil local dist = math.huge if lp.Character and getHRP(lp.Character) then local myPos = getHRP(lp.Character).Position for _, p in pairs(Players:GetPlayers()) do if p ~= lp and p.Character and getHRP(p.Character) then local hum = p.Character:FindFirstChild("Humanoid") if hum and hum.Health > 0 then local mag = (getHRP(p.Character).Position - myPos).Magnitude if mag < dist then dist = mag closest = getHRP(p.Character) end end end end end targetHRP = closest end if targetHRP then locked = true status.Text = "Locked On: " .. targetHRP.Parent.Name status.TextColor3 = Color3.fromRGB(0,255,0) end end) local no = Instance.new("TextButton") no.Size = UDim2.new(0.45,0,0,40) no.Position = UDim2.new(0.5,0,0.7,0) no.BackgroundColor3 = Color3.fromRGB(180,0,0) no.Text = "UNLOCK" no.TextScaled = true no.Selectable = false no.Parent = main no.MouseButton1Click:Connect(function() locked = false targetHRP = nil status.Text = "Lock: OFF" status.TextColor3 = Color3.fromRGB(255,70,70) if silentAimEnabled then silentAimEnabled = false silentBtn.Text = "Silent Aim: OFF" end end) -- SILENT AIM & INF JUMP local silentBtn = Instance.new("TextButton") silentBtn.Size = UDim2.new(0.45,0,0,32) silentBtn.Position = UDim2.new(0.05,0,0.8,0) silentBtn.BackgroundColor3 = Color3.fromRGB(40,40,40) silentBtn.TextColor3 = Color3.new(1,1,1) silentBtn.Text = "Silent Aim: OFF" silentBtn.TextScaled = true silentBtn.Selectable = false silentBtn.Parent = main local infJumpBtn = Instance.new("TextButton") infJumpBtn.Size = UDim2.new(0.45,0,0,32) infJumpBtn.Position = UDim2.new(0.5,0,0.8,0) infJumpBtn.BackgroundColor3 = Color3.fromRGB(40,40,40) infJumpBtn.TextColor3 = Color3.new(1,1,1) infJumpBtn.Text = "Inf Jump" infJumpBtn.TextScaled = true infJumpBtn.Selectable = false infJumpBtn.Parent = main silentBtn.MouseButton1Click:Connect(function() silentAimEnabled = not silentAimEnabled if silentAimEnabled then locked = true status.Text = targetHRP and "Locked On: "..targetHRP.Parent.Name or "Locked" status.TextColor3 = Color3.fromRGB(0,255,0) silentBtn.Text = "Silent Aim: ON" else silentBtn.Text = "Silent Aim: OFF" locked = false targetHRP = nil status.Text = "Lock: OFF" status.TextColor3 = Color3.fromRGB(255,70,70) end end) infJumpBtn.MouseButton1Click:Connect(function() infJumpEnabled = not infJumpEnabled infJumpBtn.Text = infJumpEnabled and "Inf Jump: ON" or "Inf Jump" end) UserInputService.JumpRequest:Connect(function() if infJumpEnabled and lp.Character and lp.Character:FindFirstChild("Humanoid") then lp.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) -- CAMERA LOCK RunService.RenderStepped:Connect(function() if locked and targetHRP and targetHRP.Parent then cam.CFrame = cam.CFrame:Lerp(CFrame.new(cam.CFrame.Position, targetHRP.Position), 0.35) end end) -- TOGGLE GUI WITH KEYBIND local toggleKey = Enum.KeyCode.RightControl UserInputService.InputBegan:Connect(function(input,gp) if not gp and input.KeyCode == toggleKey then main.Visible = not main.Visible -- NOTE AT BOTTOM local note = Instance.new("TextLabel") note.Size = UDim2.new(1, 0, 0, 20) note.Position = UDim2.new(0, 0, 1, -22) -- near bottom note.BackgroundTransparency = 1 note.Text = "Right Ctrl to close script" note.TextColor3 = Color3.fromRGB(200,200,200) note.TextScaled = true note.Font = Enum.Font.SourceSans note.Selectable = false note.Parent = main end end)