AimLock
Key RequiredUniversal

AimLock

Universal Scriptdarkslayerdarkslayer 729 views 224 executesUpdated Dec 14, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•283 lines (8772 chars)
-- 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)

Features & Information

Aimlock

Community Comments (1)

darkslayerdarkslayerDec 14, 2025

WORKS WITH XENO

More Scripts for Universal Scripts