
KeylessUniversal

local player = game.Players.LocalPlayer
local camera = workspace.CurrentCamera
local runService = game:GetService("RunService")
local userInput = game:GetService("UserInputService")
local players = game:GetService("Players")
-- SETTINGS
local aimAssistRange = 1000 -- Max distance to aim
local toggleKey = Enum.KeyCode.E -- Key to toggle aim assist
-- VARIABLES
local aimAssistEnabled = true
local priorityTarget = nil
-- GUI Setup for FOV circle (showing FOV even if 360° for consistency)
local playerGui = player:WaitForChild("PlayerGui")
local fovCircle = Instance.new("Frame")
fovCircle.Name = "AimAssistFOV"
fovCircle.Size = UDim2.new(0, 200, 0, 200)
fovCircle.Position = UDim2.new(0.5, -100, 0.5, -100)
fovCircle.BackgroundColor3 = Color3.new(1, 0, 0) -- Red when no target locked
fovCircle.BackgroundTransparency = 0.7
fovCircle.BorderSizePixel = 0
fovCircle.Visible = true
fovCircle.AnchorPoint = Vector2.new(0.5, 0.5)
fovCircle.Parent = playerGui
local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(1, 0)
uiCorner.Parent = fovCircle
-- Toggle aim assist on/off
userInput.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == toggleKey then
aimAssistEnabled = not aimAssistEnabled
fovCircle.Visible = aimAssistEnabled
print("Aim Assist: " .. (aimAssistEnabled and "ON" or "OFF"))
end
end)
-- Find nearest visible enemy anywhere around player (360°) with line-of-sight
local function getNearestEnemy()
local closestEnemy = nil
local shortestDistance = aimAssistRange
local camPos = camera.CFrame.Position
for _, character in pairs(workspace:GetChildren()) do
if character:FindFirstChild("Humanoid")
and character:FindFirstChild("HumanoidRootPart")
and character ~= player.Character then
local enemyPlayer = players:GetPlayerFromCharacter(character)
if enemyPlayer and enemyPlayer.Team ~= player.Team then
local enemyPos = character.HumanoidRootPart.Position
local distance = (enemyPos - camPos).Magnitude
if distance < shortestDistance then
-- Raycast to check line of sight (ignore player character)
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = {player.Character}
raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
local raycastResult = workspace:Raycast(camPos, (enemyPos - camPos).Unit * distance, raycastParams)
if raycastResult and raycastResult.Instance:IsDescendantOf(character) then
closestEnemy = character
shortestDistance = distance
end
end
end
end
end
return closestEnemy
end
-- Listen for damage to player, set priorityTarget accordingly
local function onHealthChanged()
local humanoid = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
local lastHealth = humanoid.Health
humanoid.HealthChanged:Connect(function(newHealth)
if newHealth < lastHealth then
-- Damage happened! Find who caused it
-- We have no direct info on attacker here, so as a common approach,
-- check recent attackers from workspace or use a tag system.
-- For now, we'll try a basic approach:
-- Find enemies within 50 studs who have a tool equipped (likely attacker)
local camPos = camera.CFrame.Position
for _, character in pairs(workspace:GetChildren()) do
if character:FindFirstChild("Humanoid") and character:FindFirstChild("HumanoidRootPart") and character ~= player.Character then
local enemyPlayer = players:GetPlayerFromCharacter(character)
if enemyPlayer and enemyPlayer.Team ~= player.Team then
local dist = (character.HumanoidRootPart.Position - camPos).Magnitude
if dist <= 50 then
-- Assume this enemy damaged player
priorityTarget = character
break
end
end
end
end
end
lastHealth = newHealth
end)
end
-- Call it once on start and whenever character respawns
local function setupCharacterListener()
if player.Character then
onHealthChanged()
end
player.CharacterAdded:Connect(function()
onHealthChanged()
end)
end
setupCharacterListener()
-- Instantly snap camera to priority target if exists and alive, else snap to nearest enemy
local function adjustAim()
if not aimAssistEnabled then return end
-- Clear priority target if dead or nil
if priorityTarget then
local humanoid = priorityTarget:FindFirstChildOfClass("Humanoid")
if not humanoid or humanoid.Health <= 0 then
priorityTarget = nil
end
end
local target = priorityTarget or getNearestEnemy()
if target then
local enemyPos = target.HumanoidRootPart.Position
local camPos = camera.CFrame.Position
camera.CFrame = CFrame.new(camPos, enemyPos)
fovCircle.BackgroundColor3 = Color3.new(0, 1, 0) -- Green when locked
else
fovCircle.BackgroundColor3 = Color3.new(1, 0, 0) -- Red when no target
end
end
runService.RenderStepped:Connect(adjustAim)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

