
KeylessUniversal

local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local RunService = game:GetService("RunService")
local players = game:GetService("Players")
local workspace = game:GetService("Workspace")
local plr = players.LocalPlayer
local camera = workspace.CurrentCamera
local mouse = plr:GetMouse()
--> [< Variables >] <--
local hue = 0
local rainbowFov = false
local rainbowSpeed = 0.005
local aimFov = 100
local aiming = false
local predictionStrength = 0.065
local smoothing = 0.05
local aimbotEnabled = false
local wallCheck = true
local stickyAimEnabled = false
local teamCheck = false
local healthCheck = false
local minHealth = 0
local circleColor = Color3.fromRGB(255, 0, 0)
local targetedCircleColor = Color3.fromRGB(0, 255, 0)
--> [< Variables >] <--
local Window = Rayfield:CreateWindow({
Name = "▶ Universal Aimbot ◀",
LoadingTitle = "Loading...",
LoadingSubtitle = "by Agreed 🥵",
ConfigurationSaving = {
Enabled = true,
FolderName = "UniversalAimbot",
FileName = "byAgreed"
},
})
local Aimbot = Window:CreateTab("Aimbot 🎯")
local fovCircle = Drawing.new("Circle")
fovCircle.Thickness = 2
fovCircle.Radius = aimFov
fovCircle.Filled = false
fovCircle.Color = circleColor
fovCircle.Visible = false
local currentTarget = nil
local function checkTeam(player)
if teamCheck and player.Team == plr.Team then
return true
end
return false
end
local function checkWall(targetCharacter)
local targetHead = targetCharacter:FindFirstChild("Head")
if not targetHead then return true end
local origin = camera.CFrame.Position
local direction = (targetHead.Position - origin).unit * (targetHead.Position - origin).magnitude
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = {plr.Character, targetCharacter}
raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
local raycastResult = workspace:Raycast(origin, direction, raycastParams)
return raycastResult and raycastResult.Instance ~= nil
end
local function getTarget()
local nearestPlayer = nil
local shortestCursorDistance = aimFov
local shortestPlayerDistance = math.huge
local cameraPos = camera.CFrame.Position
for _, player in ipairs(players:GetPlayers()) do
if player ~= plr and player.Character and player.Character:FindFirstChild("Head") and not checkTeam(player) then
if player.Character.Humanoid.Health >= minHealth or not healthCheck then
local head = player.Character.Head
local headPos = camera:WorldToViewportPoint(head.Position)
local screenPos = Vector2.new(headPos.X, headPos.Y)
local mousePos = Vector2.new(mouse.X, mouse.Y)
local cursorDistance = (screenPos - mousePos).Magnitude
local playerDistance = (head.Position - cameraPos).Magnitude
if cursorDistance < shortestCursorDistance and headPos.Z > 0 then
if not checkWall(player.Character) or not wallCheck then
if playerDistance < shortestPlayerDistance then
shortestPlayerDistance = playerDistance
shortestCursorDistance = cursorDistance
nearestPlayer = player
end
end
end
end
end
end
return nearestPlayer
end
local function predict(player)
if player and player.Character and player.Character:FindFirstChild("Head") and player.Character:FindFirstChild("HumanoidRootPart") then
local head = player.Character.Head
local hrp = player.Character.HumanoidRootPart
local velocity = hrp.Velocity
local predictedPosition = head.Position + (velocity * predictionStrength)
return predictedPosition
end
return nil
end
local function smooth(from, to)
return from:Lerp(to, smoothing)
end
local function aimAt(player)
local predictedPosition = predict(player)
if predictedPosition then
if player.Character.Humanoid.Health >= minHealth or not healthCheck then
local targetCFrame = CFrame.new(camera.CFrame.Position, predictedPosition)
camera.CFrame = smooth(camera.CFrame, targetCFrame)
end
end
end
RunService.RenderStepped:Connect(function()
if aimbotEnabled then
local offset = 50
fovCircle.Position = Vector2.new(mouse.X, mouse.Y + offset)
if rainbowFov then
hue = hue + rainbowSpeed
if hue > 1 then hue = 0 end
fovCircle.Color = Color3.fromHSV(hue, 1, 1)
else
if aiming and currentTarget then
fovCircle.Color = targetedCircleColor
else
fovCircle.Color = circleColor
end
end
if aiming then
if stickyAimEnabled and currentTarget then
local headPos = camera:WorldToViewportPoint(currentTarget.Character.Head.Position)
local screenPos = Vector2.new(headPos.X, headPos.Y)
local cursorDistance = (screenPos - Vector2.new(mouse.X, mouse.Y)).Magnitude
if cursorDistance > aimFov or (wallCheck and checkWall(currentTarget.Character)) or checkTeam(currentTarget) then
currentTarget = nil
end
end
if not stickyAimEnabled or not currentTarget then
currentTarget = getTarget()
end
if currentTarget then
aimAt(currentTarget)
end
else
currentTarget = nil
end
end
end)
mouse.Button2Down:Connect(function()
if aimbotEnabled then
aiming = true
end
end)
mouse.Button2Up:Connect(function()
if aimbotEnabled then
aiming = false
end
end)
local aimbot = Aimbot:CreateToggle({
Name = "Aimbot",
CurrentValue = false,
Flag = "Aimbot",
Callback = function(Value)
aimbotEnabled = Value
fovCircle.Visible = Value
end
})
local smoothingslider = Aimbot:CreateSlider({
Name = "Smoothing",
Range = {0, 100},
Increment = 1,
CurrentValue = 5,
Flag = "Smoothing",
Callback = function(Value)
smoothing = 1 - (Value / 100)
end,
})
local predictionstrength = Aimbot:CreateSlider({
Name = "Prediction Strength",
Range = {0, 0.2},
Increment = 0.001,
CurrentValue = 0.065,
Flag = "PredictionStrength",
Callback = function(Value)
predictionStrength = Value
end,
})
local wallcheck = Aimbot:CreateToggle({
Name = "Wall Check",
CurrentValue = true,
Flag = "WallCheck",
Callback = function(Value)
wallCheck = Value
end
})
local stickyaim = Aimbot:CreateToggle({
Name = "Sticky Aim",
CurrentValue = false,
Flag = "StickyAim",
Callback = function(Value)
stickyAimEnabled = Value
end
})
local teamchecktoggle = Aimbot:CreateToggle({
Name = "Team Check",
CurrentValue = false,
Flag = "TeamCheck",
Callback = function(Value)
teamCheck = Value
end
})
local healthchecktoggle = Aimbot:CreateToggle({
Name = "Health Check",
CurrentValue = false,
Flag = "HealthCheck",
Callback = function(Value)
healthCheck = Value
end
})
local minhealth = Aimbot:CreateSlider({
Name = "Min Health",
Range = {0, 100},
Increment = 1,
CurrentValue = 0,
Flag = "MinHealth",
Callback = function(Value)
minHealth = Value
end,
})
local aimbotfov = Aimbot:CreateSlider({
Name = "Aimbot Fov",
Range = {0, 1000},
Increment = 1,
CurrentValue = 100,
Flag = "AimbotFov",
Callback = function(Value)
aimFov = Value
fovCircle.Radius = aimFov
end,
})
local circlecolor = Aimbot:CreateColorPicker({
Name = "Fov Color",
Color = circleColor,
Callback = function(Color)
circleColor = Color
fovCircle.Color = Color
end
})
local targetedcirclecolor = Aimbot:CreateColorPicker({
Name = "Targeted Fov Color",
Color = targetedCircleColor,
Callback = function(Color)
targetedCircleColor = Color
end
})
local circlerainbow = Aimbot:CreateToggle({
Name = "Rainbow Fov",
CurrentValue = false,
Flag = "RainbowFov",
Callback = function(Value)
rainbowFov = Value
end
})



W script
Posting updated version soon with a lot more features
can you make this compatible with apocalypse rising 2 pls?
how do you actually use it
Just * off bro
really hard to use
it used to be better
trash.
on mine its not working I'd love if it has camera lock
i see the circle but even with aimbot on it doesnt do anything