-- Aim Lock Script for Roblox
-- Note: This script is meant for educational purposes only
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local Camera = game.Workspace.CurrentCamera
-- Settings
local AimLockKey = Enum.KeyCode.Q -- The key to toggle aim lock
local AimSensitivity = 0.1 -- How fast the aim moves towards the target
local aimLockEnabled = false
local targetPlayer = nil
-- Function to get the HumanoidRootPart (the middle part of the character)
function getMiddlePart(character)
return character:FindFirstChild("HumanoidRootPart")
end
-- Function to get the closest target
function getClosestTarget()
local closestDistance = math.huge
local closestPlayer = nil
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local middlePart = getMiddlePart(player.Character)
if middlePart then
local targetPosition = middlePart.Position
local distance = (LocalPlayer.Character.HumanoidRootPart.Position - targetPosition).Magnitude
if distance < closestDistance then
closestDistance = distance
closestPlayer = player
end
end
end
end
return closestPlayer
end
-- Function to aim at the target
function aimAtTarget(target)
if not target or not target.Character then return end
local middlePart = getMiddlePart(target.Character)
if not middlePart then return end
local targetPosition = middlePart.Position
local aimPosition = Vector3.new(targetPosition.X, targetPosition.Y, targetPosition.Z)
Camera.CFrame = CFrame.new(Camera.CFrame.Position, aimPosition)
end
-- Toggle Aim Lock with Q key
UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
-- Check if the key pressed is the AimLockKey and that it isn't processed by the game chat
if input.KeyCode == AimLockKey and not gameProcessedEvent then
aimLockEnabled = not aimLockEnabled
if aimLockEnabled then
targetPlayer = getClosestTarget()
print("Aim Lock Enabled")
else
targetPlayer = nil
print("Aim Lock Disabled")
end
end
end)
-- Main Loop
game:GetService("RunService").RenderStepped:Connect(function()
if aimLockEnabled and targetPlayer then
aimAtTarget(targetPlayer)
end
end) Make this script i made lock onto a player when i press the button X isntead of Q and wherever my mouse is lock onto that instead of closest player